1 2 3 4 5 6 7 8 9 10
| #include <windows.h>
#include <imagehlp.h>
int _tmain(int argc, _TCHAR* argv[])
{
char *filename = "C:\\windows\\system32\\";
char *img_name = "calc.exe";
PLOADED_IMAGE ploadImage = ImageLoad(img_name,filename);
return 0;
} |
---> Ajouter la dépendance à imagehlp.lib dans le makefile ou dans les propriétés du projet (en fonction de l'environnement de dév. utilisé)
Tu trouveras l'entrypoint de la manière suivante:
Le pointeur PLOADED_IMAGE pointe sur une structure de type LOADED_IMAGE
Dans LOADED_IMAGE, tu as un attribut de cette structure qui s'appelle FileHeader qui est un pointeur de type PIMAGE_NT_HEADERS32. Ce pointeur pointe vers une structure de type IMAGE_NT_HEADERS32
Dans cette structure, tu as un attribut de type IMAGE_OPTIONAL_HEADER32 qui s'appelle OptionalHeader.
Dans la structure IMAGE_OPTIONAL_HEADER32, tu as un attribut qui s'appelle AddressOfEntryPoint. Tu y es !!
Donc, pour obtenir ton EntryPoint, tu auras un truc du type:
ploadImage->FileHeader->OptionalHeader.AddressOfEntryPoint
Partager