Question

Je travaille dans VC ++ 2008 (express) et j'aimerais écrire quelque chose en C qui crée un "vide". exe que je pourrai appeler plus tard LoadLibrary et utiliser BeginUpdateResource , UpdateResource , EndUpdateResource pour modifier le contenu.

Écrire un fichier de 0 octet ne me permet pas de l'ouvrir avec LoadLibrary, car ce n'est pas une ressource.

Était-ce utile?

La solution

Vous pouvez compiler un fichier .exe vide avec, par exemple,

int main() { return 0; }

et utilisez-le comme modèle. (Ou un fichier .dll vide, peu importe)

Autres conseils

Le format .exe est un format de fichier compliqué. Il contient un ensemble d’en-têtes requis pour décrire ses propriétés d’exécution de base (mode 16 bits, 32 bits ou 64 bits, et mode DOS / Win16 / Win32 / Win64 et EXE contre DLL). Après cela, il doit avoir une table correcte pour les relocalisations d'adresse. Ce n’est pas anodin et vous devez effectuer quelques recherches dans le format de fichier .EXE pour le faire correctement.

" Création " un exe est quelque chose que le compilateur est très bon à. Alors pourquoi ne pas laisser le compilateur créer le fichier exécutable que vous voulez et utiliser ce fichier (ou une représentation binaire de son contenu) pour le copier?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top