Première approche

Comment créer un processus sous Windows dans un debugger ?

La fonction s’appelle CreateProcessA(), à laquelle nous pouvons transmettre des paramètres.

Nous pourrons trouver sur Internet, et en particulier sur le site de MSDN, des détails sur cette fonction si nous le souhaitons.

Nous ne verrons ici que les paramètres à transmettre qui nous seront utiles pour la suite.

Les paramètres utilisés sont :

  • lpApplicationName

  • lpCommandLine

  • dwCreationFlags

  • lpStartupInfo

  • lpProcessInformation

Les autres paramètres pourront être mis à NULL.

Les deux premiers paramètres vont nous permettre de donner le chemin de l’application et les commandes à lui passer (en ligne de commande) si nécessaire.

dwCreationFlags nous servira à indiquer au processus qu’il devra démarrer avec le debugger (en mode debug donc) et les deux derniers paramètres sont des pointeurs sur des structures (STARTUPINFO et PROCESS_INFORMA-TION) qui détermineront la façon dont le processus devra démarrer et nous donnera des informations après le démarrage du processus.

Nous allons donc créer en Python trois programmes, un script qui va définir les deux structures dont nous avons parlé ci-dessus (mes_definitions_debugger.py), un script qui sera le debugger (mon_debugger.py) et un script de test pour vérifier le bon fonctionnement des deux scripts...

couv_EP2HAFO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Le module ctypes de Python
Suivant
État des registres