PDA

Ver la Versión Completa : Ejecutar un exe desde memoria


MAXIUM
15-08-2014, 06:46:20
Hola, estaba leyendo un articulo y ejemplo sobre como ejecutar un exe desde memoria y me salio la duda si esto tenía alguna utilidad y si es considerado por los antivirus.

Ejemplo:
http://stackoverflow.com/questions/14206514/launching-application-from-a-database/14209715#14209715

Unidad:
http://www.delphibasics.info/home/delphibasicssnippets/uexecfrommembysteve10120-fixedforwin7x64bytestest

ecfisa
15-08-2014, 08:54:31
Hola MAXIUM.

Mi humilde parecer es que es un lindo e ingenioso código pero de estrecho campo de aplicacion. En cuanto al uso sugerido en el enlace, coincido con lo que expresa Remy Lebeau:

Also, ExecuteFromMem() works by starting a new process for ExistingDummy.exe in a suspended state, overwrites its memory with the input data, and then resumes the process. I don't think that is going to play very well with UAC and DEP technologies, especially UAC, which is only invoked at process creation time. The safest option would be to simply write the TMemoryStream data to a temporary .exe file and then execute it normally instead.

Por otro lado no creo que moleste a los antivirus, lo probé bajo la supervisión del Avira y no se quejó.

Saludos :)

mamcx
15-08-2014, 15:18:04
Una version mas practica es un JIT, como http://luajit.org/luajit.html. Esto permite re-generar codigo al vuelo adaptandose al uso que se le da.