Pregunta

Estoy trabajando en VC ++ 2008 (express) y me gustaría escribir algo en C que cree un " vacío " exe que luego puedo llamar a LoadLibrary y usar BeginUpdateResource , UpdateResource , EndUpdateResource para modificar el contenido.

Simplemente escribir un archivo de 0 bytes no me permite abrirlo con LoadLibrary porque no es un recurso.

¿Fue útil?

Solución

Puede compilar un archivo .exe vacío con, por ejemplo,

int main() { return 0; }

y úsalo como plantilla. (O un .dll vacío, lo que sea)

Otros consejos

El formato .EXE es un formato de archivo complicado. Tiene un montón de encabezados necesarios solo para describir sus propiedades básicas de ejecución (16 bits, 32 bits o 64 bits, y modo DOS / Win16 / Win32 / Win64 y EXE versus DLL). Después de eso, debe tener una tabla correcta para las reubicaciones de direcciones. No es trivial, y debes investigar un poco sobre el formato de archivo .EXE para hacerlo correctamente.

" Creando " un exe es algo en lo que el compilador es muy bueno. Entonces, ¿por qué no hacer que el compilador cree el ejecutable que desea y use ese archivo (o una representación binaria de su contenido) para copiar?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top