Un ejecutable puede automodificar su codigo?

Iniciado por Tinkipinki, 25 Diciembre 2011, 18:55 PM

0 Miembros y 1 Visitante están viendo este tema.

Tinkipinki

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.. :)

_Enko

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.

Tinkipinki

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... :)

_Enko

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.

Karman

Cita de: _Enko en 26 Diciembre 2011, 15:34 PMLo 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

Tinkipinki

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

.:UND3R:.

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

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)