Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: Tinkipinki en 25 Diciembre 2011, 18:55 pm



Título: Un ejecutable puede automodificar su codigo?
Publicado por: Tinkipinki en 25 Diciembre 2011, 18:55 pm
Hola atodos:
Me surge esta duda:
Imaginemos un ejecutable sin ningun otro fichero que lo complemente y que tampoco escriba en el registro ¿Como lo haria este ejecutable para saber si esta registrado una vez se le entra la clave de registro correcta?
Es la duda que me surge si un programa puede automodificar parte de su codigo.
No se si esto funciona asi i siempre se necesitara de archivos adjuntos o buscar claves en el registro.

Un cordial saludo y feliz navidad a todos.. :)


Título: Re: Un ejecutable puede automodificar su codigo?
Publicado por: _Enko en 26 Diciembre 2011, 15:34 pm
Lo mas sencillo  seria hacer algo asi como un updater.
La ejecutable original crea un nuevo processo, sacado desde un archivo de recursos, lo escribe en disco y lo ejecuta. (updater.exe)
Es Updater de lo que se encarga es cerrar el proceso de la ejecutable original, aplicar los parches necesarios, ejecutar la nueva aplicacion y finalmente cerrarse.
La apliacion nueva borraria update.exe y listo. Como si nunca hubo algun cambio.

Es de los pocos metodos que conozco donde los antivirus no molestarian tanto.
El updater.exe como recurso dentro de la ejecutable deberia estar cifrado para qeu los antivirus no lo noten. No les gusta ejecutables como recursos.

Saludos.


Título: Re: Un ejecutable puede automodificar su codigo?
Publicado por: Tinkipinki en 27 Diciembre 2011, 14:59 pm
Ok _Enko, por lo que me explicas veo que en principio no es un metodo habitual el saber el propio ejecutable si ha sido registrado o no solo partiendo del ejecutable sin archivos de apoyo.
La idea que planteas es muy interesante y seguramente a mas de uno se le habra encendido la bombilla para aplicarla en algun proyecto.

Saludos y feliz navidad... :)


Título: Re: Un ejecutable puede automodificar su codigo?
Publicado por: _Enko en 27 Diciembre 2011, 15:33 pm
No es nada novedoso. Es el mismo proceso de update que utiliza Google chrome por ejemplo para actualizarse. Hay una aplicacion de fondo que siempre se esta ejecutando: GoogleUpdater. Cuando hay una actualizacion, la descarga y la proxima vez qu eejecutas Chrome, ocurre el proceso.

Saludos.


Título: Re: Un ejecutable puede automodificar su codigo?
Publicado por: Karman en 30 Diciembre 2011, 05:37 am
Lo mas sencillo  seria hacer algo asi como un updater.
La ejecutable original crea un nuevo processo, sacado desde un archivo de recursos, lo escribe en disco y lo ejecuta. (updater.exe)
Es Updater de lo que se encarga es cerrar el proceso de la ejecutable original, aplicar los parches necesarios, ejecutar la nueva aplicacion y finalmente cerrarse.
La apliacion nueva borraria update.exe y listo. Como si nunca hubo algun cambio.

Es de los pocos metodos que conozco donde los antivirus no molestarian tanto.
El updater.exe como recurso dentro de la ejecutable deberia estar cifrado para qeu los antivirus no lo noten. No les gusta ejecutables como recursos.

Saludos.

no es necesario usar otro programa, puede ser el mismo programa que se copie con otro nombre...

S2


Título: Re: Un ejecutable puede automodificar su codigo?
Publicado por: Tinkipinki en 30 Diciembre 2011, 14:23 pm
Si,.....pero una vez generado el programa modificado este se tendria que autorenombrar como el archivo original y para poder hacer eso si creo que haria falta de algun proceso adicional que hiciera el cambio de nombres.
Corregidme si me equivoco.

Saludos


Título: Re: Un ejecutable puede automodificar su codigo?
Publicado por: .:UND3R:. en 1 Enero 2012, 01:41 am
Podría ser un mismo packer? este modifica el código del ejecutable (descifra para que sea entendible para el procesador) o una vez ejecutado modifique una que otra estructura del código o de otra manera un actualizador como comenta _Enko

Saludos