Bonjour,
Tout d'abord voici les qualités nécessaires afin de bien comprendre cette source :
- Savoir lire le langage vb
- Maîtriser la fonction "Declare"
- Savoir ce qu'est une "DLL"
- Connaitre le format de fichier "EXE" (ou "Portable Executable")
- Savoir ce qu'est un crochetage de fonction
- Avoir envie de lire la suite (cette qualité prend le dessus sur toutes les autres)
Pourquoi cette source :
Très bien alors maintenant que vous êtes avertis, on peut continuer. Cette source a debuté sur une étude du loader de windows XP. En effet la question etait "peut on ajouter dynamiquement des fonctions à un executable et les exporter avec GetProcAddress ?". Apres de longues heures de codage il s'avere que la reponse est "OUI". Donc concretement on demontre le fait qu'il est possible de transformer un EXE en DLL en runtime.
Mais que fait cette source :
Il faut vous imaginer le format de fichier EXE (qui est le même que celui des DLL) donc on va réecrire la memoire de l'EXE de telle sorte que le systeme croit que c'est une DLL (modification de l'entête et de la table d'exportation) et ainsi exporter des fonctions. On peut ainsi transformer l'executable en plugin ou bien encore re-router des fonctions d'une dll vers nos propres fonctions.
Que faut il penser de cette source :
- Si vous ne comprennez pas tout : Ne vous inquietez pas c'est normal car elle est issue de mon esprit tordu.
- Si vous trouvez que cette source est totalement inutile : Vous avez raison alors ne vous attardez pas dessus.
- Si vous vous appelez BruNews, Warning ou Renfield : alors prenez-la comme une dedicace personnelle.
- Si vous avez quand même reussi à lui trouver une utilité : Arretez la boisson ;)