Domanda

Sto lavorando in VC ++ 2008 (express) e vorrei scrivere qualcosa in C che crei un "vuoto" exe che in seguito posso chiamare LoadLibrary e utilizzare BeginUpdateResource , UpdateResource , EndUpdateResource per modificare il contenuto.

Basta scrivere un file a 0 byte non mi permette di aprirlo con LoadLibrary perché non è una risorsa.

È stato utile?

Soluzione

Puoi compilare un file .exe vuoto con, ad esempio,

int main() { return 0; }

e usalo come modello. (O un vuoto .dll, qualunque cosa)

Altri suggerimenti

Il formato .EXE è un formato file complicato. Ha un sacco di intestazioni richieste solo per descrivere le sue proprietà di esecuzione di base (16 bit, 32 bit o 64 bit e modalità DOS / Win16 / Win32 / Win64 e EXE contro DLL). Successivamente, deve disporre di una tabella corretta per il trasferimento degli indirizzi. Non è banale e hai fatto qualche ricerca sul formato di file .EXE per farlo correttamente.

" La creazione di " un exe è qualcosa in cui il compilatore è molto bravo. Quindi perché non fare in modo che il compilatore crei l'eseguibile desiderato e utilizzi quel file (o una rappresentazione binaria del suo contenuto) per copiarlo?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top