Título: ¿Cómo puedo guardar modificaciones en ejecutable utilizando Olldbg? Publicado por: JAROD_28 en 24 Marzo 2012, 11:44 am Hola a todos, espero me puedan ayudar, quiero crackear un programa que corre en modo consola MS-DOS. Con el editor de recursos (Resource Hacker) me salen los textos del mensaje que dicen que me quedan x usos y después pasa a ejecutar el programa, utilizo el RDG Packer Detector v0.6.8 2012, dice hecho con Visual C++ y no tiene protección, pero con Ollydbg no me aparecen las referenced strings. Este programa tiene protección por cantidad de usos y límite de tiempo por sesión.
Para el limite de usos lee un archivo en el directorio de windows. Bueno yo hago lo siguiente: pongo un breakpoint en 1000403A, ejecuto con F9. 1000403A FF55 0C CALL DWORD PTR SS: (arg.2) 1000403D 8B0D 94F4121 MOV EXC,DWORD PTR DS: (1012f494) Entro al CALL con F7, aparezco en 009A0000 y ahí están las strings, puedo hacer modificaciones al código y correrlo, pero no sale la opción para guardar los cambios en el ejecutable. 009A0000 53 PUSH EBX 009A0001 56 PUSH ESI 009A0002 57 PUSH EDI . . 009A0017 890424 MOV DWORD PTR SS:(sp),eax . . 009A0042 B8 8DA09D00 MOV EAX, 9DA08D ASCII "ENTER YOUR NAME" Agradezco que me ayuden en cómo puedo hacer en este caso o que otro programa necesito. La dirección de origen del programa es: 100014C7 Y la dirección de entrada a los mensajes es: 009A0000 Saludos y gracias por las respuestas. Título: Re: ¿Cómo puedo guardar modificaciones utilizando Olldbg u otro editor de .exe? Publicado por: karmany en 24 Marzo 2012, 23:22 pm Desde OllyDBG versión 2 puedes guardar los cambios del siguiente modo:
pulsar el botón derecho del ratón en la ventana de desensamblado -> edit -> copy to executable. En la siguiente ventana que aparece, que además verás una ventana emergente de aviso pulsas botón derecho del ratón -> save file. (http://img542.imageshack.us/img542/1449/20111115192354.png) Y ahí, donde estoy parado en la imagen pulsas Sí. Título: Re: ¿Cómo puedo guardar modificaciones en ejecutable utilizando Olldbg? Publicado por: JAROD_28 en 25 Marzo 2012, 05:43 am Gracias karmany, estoy utilizando OllyDbg2.0, cierto la opción de grabar los cambios aparece así, pero cuando entro al CALL esta opción desaparece, bueno, ahí busco donde hacer los cambios para eliminar la primera protección, ejecuto con F9, y efectivamente desaparece ese molesto mensaje que había llegado al limite de usos y que después me cerraba el programa.
Probe el OllyDbg en otro PC y note algo, cada vez que entraba al CALL, aparecía en otra dirección diferente al que me mostraba en mi PC (009A0000). Cerraba OllyDbg, abría, cargaba y ejecutaba y al entrar en CALL, mostraba otra dirección 002B0000 por ejemplo. Obviamente esta dirección está en memoria y no en el ejecutable por eso no aparece la opción de guardar. ¿Tiene algún otro tipo de protección? O ¿estoy olvidando algún paso? (PD: No he podido subir imagenes, no de deja). Saludos. Título: Re: ¿Cómo puedo guardar modificaciones utilizando Olldbg u otro editor de .exe? Publicado por: Иōҳ en 25 Marzo 2012, 07:29 am Pueda que sea creado en memoria, que la dirección a la que accedes con ese CALL, no está en disco...
Lo que se puede hacer en esos casos es un injerto... Saludos, Nox. Título: Re: ¿Cómo puedo guardar modificaciones en ejecutable utilizando Olldbg? Publicado por: JAROD_28 en 27 Marzo 2012, 06:32 am ;D-------SOLUCIONADO------- ;-)
En vista que no podía hacer las modificaciones con OllyDbg, decidí hacerlo con el WinExe de la siguiente manera: Corrí el programa con F9, entre al CALL con F7, una vez adentro aparecieron las Strings que no se visualizaban, busqué las Strings que me interesaban y la entrada a la NAG venía de dos CALL, con WinHex busque una cadena Hex de 36 caracteres en el ejecutable para poder detectarla, cambié la entrada de la NAG: 53 56 57 55 por: C2 00 00 90 En assembler sería: PUSH EBX PUSH ESI PUSH EDI PUSH EBP Por: RETN NOP Con esto evite la ejecución de esta, algo parecido hice con la NAG de finalización del tiempo de ejecución. A karmany y Иōҳ gracias por su atención. Saludos, Jarod_28. |