Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: Revolutions en 10 Abril 2015, 22:37 pm



Título: De-Ofuscar Programa en Delphi
Publicado por: Revolutions en 10 Abril 2015, 22:37 pm
Hola, alguien que me ayude, por favor:
Tengo un PACIENTE con los siguientes síntomas:

PROTECCIÓN:
Packer UPX 3.08
ofuscado de código

LENGUAJE DE PROGRAMACIÓN:
Delphi

He operado y el packer esta erradicado, pero el problema es que no consigo saber como desenfuscar el código para poder SANARLO, Olly en diferentes modalidades SHAdow, SND, dan algún que otro error de excepcion de lectura, en references string nada de la interfaz, algún UNREGISTERED pero fuera de codigo por lo que BREAKPOINT es inútil.
Es un ejecutable que pesa 550Kb y al desempacarlo 4550Kb, no tiene base de datos ni nada, limita solo las funciones, botones y menús, que están en disable, lo he intentado con RESHACKER y VEOVEO, pero tiene una rutina que detecta que si se ha pulsado o ejecutado y no esta registrado, sale una nag, informando que se registre para usar esa función, así que botón aceptar y cierra. lo he analizado con DEDE y es antiguo lo abre pero, no muestra nada de procesos ni formularios, en CDR, he conseguido descompilarlo, pero todas las direcciones son de fuera de código.
Cualquier ayuda, sugerencia, de otro punto de ataque, pues lo que he podido recordar, no han tenido éxito.
GRACIAS


Título: Re: De-Ofuscar Programa en Delphi
Publicado por: tincopasan en 11 Abril 2015, 00:43 am
hola:
        vamos por partes:
1)supongo que el soft sin el packer se ejecuta normalmente.
2)¿tiene para ingresar algún código de registro?
3)fuera de la sección código, ¿te referís a la sección CODE?
4)delphi de por si no crea ofuscación de código, así que deben ser trampas del programador
5) hay varias formas de cazar la zona caliente de las nag en delphi
6) intentaste o leíste esto: http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS801-900837Introduccic3%b3n%20a%20las%20cryptos%20por%20HMX0101.rar
7)siempre se puede pausar y mirar el stack
8) si da errores en dede debe haber otro packer o tiene rastros del upx.
9)upx 3.08 crea secciones basura en el desempacado de la iat, imagino que eso está solucionado.


Título: Re: De-Ofuscar Programa en Delphi
Publicado por: Revolutions en 13 Abril 2015, 09:59 am
GRACIAS por la respuesta.....

hola:
        vamos por partes:
1)supongo que el soft sin el packer se ejecuta normalmente.
SI

2)¿tiene para ingresar algún código de registro?
SI, sale nag al iniciar

3)fuera de la sección código, ¿te referís a la sección CODE?
SI, Olly te alerta de esta situación, que el breakpoint no surtirá efecto

4)delphi de por si no crea ofuscación de código, así que deben ser trampas del programador
??, es muy posible

5) hay varias formas de cazar la zona caliente de las nag en delphi
¿las call magicas?

6) intentaste o leíste esto: http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS801-900837Introduccic3%b3n%20a%20las%20cryptos%20por%20HMX0101.rar
SI

7)siempre se puede pausar y mirar el stack
Si pero no veo nada, que me indique la zona a analizar

8) si da errores en dede debe haber otro packer o tiene rastros del upx.
En compracion con el original, en PEID esta limpio, en RPG sale que todavia tiene rastro. Ahora bien en DEDE no da errores, sino que no muestra nada de datos lo que supongo que esta en una version de delphi mas nueva que DEDE no puede analizar pues esta desfasado.

9)upx 3.08 crea secciones basura en el desempacado de la iat, imagino que eso está solucionado.
para eliminar el packer, he usado Olly, dump del programa y imprec, saltando el codigo de UPX y dandole el EntryPoint correcto.


Título: Re: De-Ofuscar Programa en Delphi
Publicado por: tincopasan en 13 Abril 2015, 23:44 pm
si dede no muestra los form pero si lo carga, definitivamente está mal hecho el unpack.


Título: Re: De-Ofuscar Programa en Delphi
Publicado por: Revolutions en 15 Abril 2015, 09:31 am
estoy de acuerdo, esta mal hecho el unpack.
visto lo visto.

GRACIAS tincopasan


Título: Re: De-Ofuscar Programa en Delphi
Publicado por: MCKSys Argentina en 15 Abril 2015, 20:51 pm
estoy de acuerdo, esta mal hecho el unpack.
visto lo visto.

GRACIAS tincopasan

Si el packer es UPX, puedes usar el mismo packer para desempacar...


Título: Re: De-Ofuscar Programa en Delphi
Publicado por: Revolutions en 4 Mayo 2015, 12:53 pm
Graciassssss, conseguido desempacado, dumpeo e IAT.
Estoy traceando, haber si me acerco a la zona caliente.
Os pediré ayuda si me atranco.

Saludos


Título: Re: De-Ofuscar Programa en Delphi
Publicado por: Revolutions en 21 Mayo 2015, 21:50 pm
Hola quisiera preguntar por el mismo programa, pero tengo una duda, he sacado el comienzo de la rutina del form principal con IDR, este tiene caption value UNREGISTERED y una vez que comprueba si esta registrado lo cambia por el nombre del programa + numero de serial, el problema viene que traceando con Olly para ver donde esta la comprobación del mismo, no consigo que corra, incluso con W32dsm9b con el debugger, llega a dar entrar en un bucle dando FATAL ERROR INSTRUCTION.



GRACIAS




(http://i58.tinypic.com/2czvz3k.jpg)


Título: Re: De-Ofuscar Programa en Delphi
Publicado por: MCKSys Argentina en 22 Mayo 2015, 03:17 am
... el problema viene que traceando con Olly para ver donde esta la comprobación del mismo, no consigo que corra...

A qué te refieres con eso? El programa detecta el debugger? Estás usando plugines? Cuáles?

Necesitas especificar un poco más...

Saludos!

PD:

... incluso con W32dsm9b con el debugger...

W32Dasm no se usa desde hace unos 15 años (más o menos).  :P