[WIN32] Comment faire un exe qui n'importe pas de DLL

Signaler
Messages postés
326
Date d'inscription
vendredi 13 août 2004
Statut
Membre
Dernière intervention
2 novembre 2007
-
Messages postés
326
Date d'inscription
vendredi 13 août 2004
Statut
Membre
Dernière intervention
2 novembre 2007
-
Bah voila tout est dans le titre, j'ai deja vu plusieurs EXE qui lorsqu'on leur fait un "dumpbin /imports" dessus ne renvoie que la table des sections et l' IAT je crois, et donc cela vaut dire qu'il n'importe pas de DLL au chargement. (En fait je pense qu'ils les ont en "resource" et qu'il se les chargent eux mêmes) MAIS COMMENT FONT-ILS ?...

3 réponses

Messages postés
326
Date d'inscription
vendredi 13 août 2004
Statut
Membre
Dernière intervention
2 novembre 2007
2
Au fait les EXE en question ne sont pas des virus, ce sont de vrai applications. Ce principe est tres avantageux pour la portabilité de l'executable d'une machine a une autre.
Messages postés
402
Date d'inscription
mardi 1 mai 2001
Statut
Membre
Dernière intervention
15 août 2011

Ils font peut-être un simple LoadLibrary()/GetProcAddress() ...

typedef void (__stdcall * MySleep)( unsigned long );

HMODULE mod = LoadLibrary("kernel32");
MySleep mySleep = (MySleep)GetProcAddress( mod, "Sleep" );

mySleep( 1000 );

FreeLibrary(mod);

~(.:: NitRic ::.)~
Messages postés
326
Date d'inscription
vendredi 13 août 2004
Statut
Membre
Dernière intervention
2 novembre 2007
2
Surement qu'ils font un truc du genre dans le code apres, mais comment tu fais pour creer un executable qui ne charge pas au lancement la kernel32. Car le chargement des DLLs se fait avant d'entrer dans ta partie executable (le main donc...).
J'ai essayé de faire /DELAY dessus (la kernel32) avec Visual Studio 6 mais l'editeur de lien n'accepte pas...