BreakPoint sur WriteProcessMemory en vb6

retj Messages postés 6 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 14 février 2009 - 9 févr. 2009 à 15:01
retj Messages postés 6 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 14 février 2009 - 14 févr. 2009 à 19:24
Bonjour à tous,
Je me penche actuellement sur l'utilisation des fonctions WriteProcessMemory et ReadProcessMemory sur vb6 mais il n'y a pas de Tuto suffisament clair sur le net pour répondre à ma question.
Est-il possible en vb6 d'excuter une application tierce (le solitaire par exemple) et de poser un BreakPoint au moment de l'accès au WriteProcessMemory afin de recuperer la valeur à l'offset de ce BP (un peu à la manière d'un debuggeur) ?

Didier

6 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
9 févr. 2009 à 15:05
oui, c'est faisable
0
retj Messages postés 6 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 14 février 2009
9 févr. 2009 à 19:28
Merci Renfield pour cette réponse. Pourrais-tu mettre un exemple (commenté si ca ne te prend pas trop de temps parce que le but pour moi est d'apprendre)sur la procédure à utiliser stp ?

Je te remercie par avance pour ton aide.

Didier
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
10 févr. 2009 à 06:40
0
retj Messages postés 6 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 14 février 2009
11 févr. 2009 à 00:06
Merci Renfield pour ces réponses.
Cependant j'avais déja consulté 2 des liens que tu m'as proposé. msdn.microsoft.com stipule que je dois connaitre l'adresse sur le ReadProcessMemory pour obtenir le buffer hors je ne connais pas celle ci à l'avance parce que je ne peux l'obtenir que dans le buffer sur le breakpoint.
Le site www.codeproject.com propose un code que je ne comprend pas (peut etre du C++ ?).
Quand au débuggeur d' EBArtSoft, c'est plus une application (non commentée) quasi complete qu'un tuto. Je l'ai testé mais rien n'apparait dans les fenetres memory et registers alors qu'il y a bien des infos circulant dans mon debugguer (Ollydbg).

En tout cas, aucun des 3 n'explique comment établir un  breakpoint sur un Call to WriteMemoryProcess d'une application externe pour obtenir le buffer en Visual Basic 6.

Je te remercie Renfield de t'être penché sur la question et si il y a d'autre lecteur de ce post qui pourrait m'aider sur ce point en proposant un petit script commenté (le but étant d'apprendre), je les remercie par avance.

Didier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
11 févr. 2009 à 05:37
voir la doc sur les fonctions de debug, sur MSDN:
http://msdn.microsoft.com/en-us/library/ms679303(VS.85).aspx

et surtout, comme point d'entrée possible:
http://msdn.microsoft.com/en-us/library/ms679362(VS.85).aspx
GetThreadContext/SetThreadContext

qui permettent de récupérer les registres processeur.
donc tu coupes le process cible, tu regarde ses registres
tu fais joujou avec...

c'est la porte ouverte ^^
0
retj Messages postés 6 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 14 février 2009
14 févr. 2009 à 19:24
Je te remercie Renfield une fois de plus mais je ne comprend vraiment pas comment faire sur msdn et je suis malheureusement nul en anglais. Donc apres autant de recherche et si peux de tuto clair et detailler je ne pense pas que je finirai par trouver un bout de code detaillant une procedure sur ce que je souhaite faire.
En tout cas merci pour ces liens.

Didier
0
Rejoignez-nous