Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - .:UND3R:.

#1031
No puedo descargar ningún crackme, el link no me funciona ¿Alguna solución?
#1032
No recuerdo muy bien este tutorial pero intentaré hacer un análisis rápido de lo que puedo ver, al iniciar el crackme se logra visualizar a simple vista que no posee ningún tipo de protección de packer, además:

OEP:
Código (asm) [Seleccionar]
00401000 >/$  68 08114000   PUSH Sphynx.00401108                     ; /pTopLevelFilter = Sphynx.00401108

además de eso vemos que lo primero que intenta hacer el programa es instalar un manejador de excepciones (destacamos dos tipos de manejadores de excepciones, uno utilizado comúnmente llamando a SetUnhandledExceptionFilter (esta API recibe un puntero a la función o dirección encargada de manejar las excepciones) o instalando un manejador por hilos (thread) alterando la estructura ERR (exception registration record) ubicada en dentro del TIB (thread information block)

Si nos dirigimos a dirección encargada de manejar las excepciones veremos lo siguiente:

Código (asm) [Seleccionar]
00401108   .  8B75 08       MOV ESI,DWORD PTR SS:[EBP+8]
0040110B   .  8B46 04       MOV EAX,DWORD PTR DS:[ESI+4]
0040110E   .  05 B8000000   ADD EAX,0B8
00401113   .  8BF0          MOV ESI,EAX
00401115   .  8B00          MOV EAX,DWORD PTR DS:[EAX]
00401117   .  83C0 0E       ADD EAX,0E
0040111A   .  8906          MOV DWORD PTR DS:[ESI],EAX
0040111C   .  A1 53314000   MOV EAX,DWORD PTR DS:[403153]
00401121   .  33C9          XOR ECX,ECX
00401123   .  33D2          XOR EDX,EDX
00401125   .  33FF          XOR EDI,EDI
00401127   >  0FBEB9 543040>MOVSX EDI,BYTE PTR DS:[ECX+403054]
0040112E   .  81C2 78563412 ADD EDX,12345678
00401134   .  D1D2          RCL EDX,1
00401136   .  13D7          ADC EDX,EDI
00401138   .  81C2 21436587 ADD EDX,87654321
0040113E   .  41            INC ECX
0040113F   .  3BC8          CMP ECX,EAX
00401141   .^ 75 E4         JNZ SHORT Sphynx.00401127
00401143   .  81FA 382AB4C3 CMP EDX,C3B42A38
00401149   .  75 32         JNZ SHORT Sphynx.0040117D
0040114B   .  33C9          XOR ECX,ECX
0040114D   .  33D2          XOR EDX,EDX
0040114F   .  BE 07304000   MOV ESI,Sphynx.00403007
00401154   .  BF 63314000   MOV EDI,Sphynx.00403163
00401159   .  8A56 12       MOV DL,BYTE PTR DS:[ESI+12]
0040115C   >  8A0431        MOV AL,BYTE PTR DS:[ECX+ESI]
0040115F   .  32C2          XOR AL,DL
00401161   .  880439        MOV BYTE PTR DS:[ECX+EDI],AL
00401164   .  41            INC ECX
00401165   .  83F9 31       CMP ECX,31
00401168   .^ 75 F2         JNZ SHORT Sphynx.0040115C
0040116A   .  6A 00         PUSH 0                                   ; /Style = MB_OK|MB_APPLMODAL
0040116C   .  68 63314000   PUSH Sphynx.00403163                     ; |Title = ""
00401171   .  68 76314000   PUSH Sphynx.00403176                     ; |Text = ""
00401176   .  6A 00         PUSH 0                                   ; |hOwner = NULL
00401178   .  E8 19000000   CALL <JMP.&user32.MessageBoxA>           ; \MessageBoxA
0040117D   >  33C0          XOR EAX,EAX
0040117F   .  48            DEC EAX
00401180   .  C9            LEAVE
00401181   .  C2 0400       RETN 4


*Colocamos un BP al inicio

Sin indagar supongo que el ejecutable tiende a generar una excepción intencionalmente con la finalidad de pasar por algún tipo de validación.

Ahora tu posible falencia: si ponemos un BP en 00401108 y damos run(F9) OllyDbg se detiene y nos avisa lo siguiente:
DebugBreak Called from 004010DC

si nos dirigimos ahí veremos lo siguiente:

Código (asm) [Seleccionar]
00401084   > \68 FF000000   PUSH 0FF                                 ; /Count = FF (255.)
00401089   .  68 54304000   PUSH Sphynx.00403054                     ; |Buffer = Sphynx.00403054
0040108E   .  68 E9030000   PUSH 3E9                                 ; |ControlID = 3E9 (1001.)
00401093   .  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hWnd
00401096   .  E8 F5000000   CALL <JMP.&user32.GetDlgItemTextA>       ; \GetDlgItemTextA
0040109B   .  83F8 01       CMP EAX,1
0040109E   .  A3 53314000   MOV DWORD PTR DS:[403153],EAX
004010A3   .  7D 02         JGE SHORT Sphynx.004010A7
004010A5   .  EB 57         JMP SHORT Sphynx.004010FE
004010A7   >  E8 02010000   CALL <JMP.&kernel32.IsDebuggerPresent>   ; [IsDebuggerPresent
004010AC   .  83F8 00       CMP EAX,0
004010AF   .  75 2B         JNZ SHORT Sphynx.004010DC
004010B1   .  A1 53314000   MOV EAX,DWORD PTR DS:[403153]
004010B6   .  33C9          XOR ECX,ECX
004010B8   .  33D2          XOR EDX,EDX
004010BA   .  33FF          XOR EDI,EDI
004010BC   >  0FBEB9 543040>MOVSX EDI,BYTE PTR DS:[ECX+403054]
004010C3   .  13D7          ADC EDX,EDI
004010C5   .  D1D2          RCL EDX,1
004010C7   .  41            INC ECX
004010C8   .  3BC8          CMP ECX,EAX
004010CA   .^ 75 F0         JNZ SHORT Sphynx.004010BC
004010CC   .  8915 04114000 MOV DWORD PTR DS:[401104],EDX
004010D2   .  81FA 72930100 CMP EDX,19372
004010D8   .  74 09         JE SHORT Sphynx.004010E3
004010DA   .  EB 22         JMP SHORT Sphynx.004010FE
004010DC   >  E8 BB000000   CALL <JMP.&kernel32.DebugBreak>          ; [DebugBreak


Como puedes ver la API IsDebugPresent detectó que el proceso estaba siendo debugeado (FS:[30] + 2 bytes) ya detectado llamó a la API DebugBreak, por lo que deberíamos nopear el salto:
Código (asm) [Seleccionar]
004010AF   . /75 2B         JNZ SHORT Sphynx.004010DC

Luego si sigues traceando podrás ver el punto en donde se genera la excepción, si la saltas con Shift + F8, verás que OllyDbg se detiene justo al inicio del manejador de excepciones, en donde mostrará un mensaje si es que hemos acertado.

Saludos

#1033
Cita de: RHL en 30 Septiembre 2012, 00:41 AM
eso es porque estas agregando tu modulo asm con el mismo nombre que el archivo rc, cambia el nombre del rc, generalmente siempre se le nombra "rsrc.rc", lo mejor es hacerlo desde la linea de comandos o para ese proyecto aqui esta el copiar y pegar:
tomar radasm>project options>link:

7,O,$B\LINK.EXE /SUBSYSTEM:WINDOWS /RELEASE /DLL "Splash.res" /DEF:$6 /LIBPATH:"$L" /OUT:"$7",3

ensamblar.

Me ha funcionado de maravilla, muchas gracias a ambos, saludos.
#1034
ASM / Problema al linkear .res dentro de una dll
29 Septiembre 2012, 16:59 PM
Hola a todos, estoy intentando hacer un splash screen basándome en las teorías de Iczelion, intentando tomar la idea, ya terminado mi código este no me muestra la imagen, si no que solamente muestra un cuadrado blanco, por lo que sospeché que el causante podría haber sido el .RES, abrí la .dll con Resource hacker y este no me encontró el .RES así que supongo que RadASM no quiere linkiar el .res con la dll, a ver si me logran ayudar, adjunto el proyecto completo:

http://www.mediafire.com/?tatug445rre4cy3

Gracias :D
#1035
ASM / Re: Derechos de acceso y API Hooking
23 Septiembre 2012, 20:14 PM
Cita de: mDrinky en 23 Septiembre 2012, 19:27 PM
Perdón Under por no contestar antes, no me habia fijado que habías respondido!!
Te refieres al texto dentro de la pantalla del juego, no?

Usando las funciones nativas del juego, ya que el juego imprimia de forma normal los datos cuando solicitabas al servidor información.

un saludo.

Me queda más claro, muchas gracias por la info, saludos.
#1036
ASM / Re: Derechos de acceso y API Hooking
17 Septiembre 2012, 10:34 AM
Cita de: mDrinky en 13 Septiembre 2012, 08:59 AM
Ya lo arregle, el error de daba por ahí como bien dice Zero, pero la que fallaba era VirtualProtectEx  :P. Ya he terminado mi juguete!

[youtube=425,350]

http://www.youtube.com/watch?v=PaqGUNp_QV4&feature=youtu.be[/youtube]

saludos.

Interesante proyecto, me surge una duda a ver si me guías, Cómo lograste insertar texto dentro del texto?, saludos.
#1037
ASM / ¿Cómo mostrar una imagen? [MASM]
9 Septiembre 2012, 17:34 PM
Hola a todos, estoy realizando un programa en MASM, me gustaría que al iniciar me mostrara una especie de splash (una imagen sin importar su formato, me es indiferente, puede ser .jpg, .bmp, png), mi pregunta es:

¿Cómo podría hacerlo?.

A ver si alguien ya lo ha hecho y logra guiar, saludos.
#1038
Cita de: MCKSys Argentina en  8 Septiembre 2012, 06:24 AM
@jEUDi17: El link que has posteado, lo deberias haber pasado por MP. Hacer este tipo de cosas, sólo le traerá problemas al foro.

Te recomiendo que leas las reglas del foro y la de este subforo:

http://foro.elhacker.net/ingenieria_inversa/faq_iquesteres_nuevo-t345798.0.html
http://foro.elhacker.net/sugerencias_y_dudas_sobre_el_foro/caren_v10_reglamento_de_convivencia_y_contenido-t17721.0.html

Espero que quites el link que has puesto, recuerda que este foro es de Ing. Inversa, no Cracks/Serialz/Warez/etc...

Saludos!

+ 1.
#1039
No sé que decir con esto, entras a un foro de ingeniería inversa y nos vienes a enseñar a crackear, más que a crackear a presentar un tutorial algo obsoleto y que peor aun creo que no es tuyo, frente a eso sobre pasas un tutorial de excelencia como lo es el realizado por Ricardo Narvaja. Creo que el motivo es por el simple hecho de que quieres eliminar una nag, podría haber sido más fácil pedir directamente ayuda con un título apropiado. Pero de todas maneras se entiende, quizás eres nuevo, te sugiero que antes de postear algo veas los post que contienen todas las nociones básicas para poder introducirse en el área del cracking, principalmente el F.A.Q en donde encontrarás todo lo necesario para poseer una base sólida de esta arte:

http://foro.elhacker.net/ingenieria_inversa/faq_iquesteres_nuevo-t345798.0.html

Bienvenido al foro, espero que no te tomes a mal lo comentado, ha sido una crítica de carácter constructiva, saludos.
#1040
Con entrar me refería a presionar F7 (visualizar el contenido de la call, en otras palabras analizar la función o procedimiento que es llamado). Una vez adentro debes llegar hasta la API mencionada, a la derecha podrás visualizar los parámetros de estas, si quieres visualizar alguno, es tan simple como hacer clic derecho en uno de sus parámetros y presionar FOLLOW IN DUMP.

Este tutorial es muy antiguo por lo que no lo recuerdo muy bien, espero que de todas formas sea de tu ayuda, saludos.