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

KeniiyK Messages postés 326 Date d'inscription vendredi 13 août 2004 Statut Membre Dernière intervention 2 novembre 2007 - 8 mars 2005 à 11:13
KeniiyK Messages postés 326 Date d'inscription vendredi 13 août 2004 Statut Membre Dernière intervention 2 novembre 2007 - 8 mars 2005 à 18:56
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

KeniiyK Messages postés 326 Date d'inscription vendredi 13 août 2004 Statut Membre Dernière intervention 2 novembre 2007 2
8 mars 2005 à 11:18
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.
0
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
8 mars 2005 à 18:28
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 ::.)~
0
KeniiyK Messages postés 326 Date d'inscription vendredi 13 août 2004 Statut Membre Dernière intervention 2 novembre 2007 2
8 mars 2005 à 18:56
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...
0
Rejoignez-nous