Bonsoir,
J’avais commencé il y a un certain temps à voir ce que donnait le coding des API de debug avec Windev 10 Express. Personnellement j’avais eu pas mal de problèmes sur la création du thread et l’API WaitForDebugEvent en mode infini qui bloquait à un moment donné (qui figeait l’appli à cause notamment du thread) . J’ai donc repris le projet en Windev 12 et je dois dire que je suis assez surpris de l’avancement. Je n’ais pas rencontré les précédents problèmes. C’est la raison pour laquelle je me suis dit pourquoi ne pas aller plus loin dans les recherches et coder un debugger basique.
Pour ce faire, j’ai utilisé la librairie de désassemblage du reverseur Beatrix (que je salue au passage). On peut soit utilisé le .lib (ça va être dur en Windev) ou bien la DLL. J’ai donc opté pour la deuxième solution.
PS: Je vous conseil d’aller faire un tour sur le site de Béatrix, ça vaut le détour: http://beatrix2004.free.fr
Avec les sources vous allez voir comment:
- Utiliser les API de debug (WaitForDebugEvent, ContinueDebugEvent …)
- Poser des breakpoints (INT 3)
- Tracer en mode Into/Over
C’est une 1ère approche du « debugging » avec Windev, donc cette source ne demande qu’à être améliorée. Ce qui pourrait être intéressant également serait de rajouter la gestion des Hardwares Breakpoints, une memory map, les noms des fonctions importées/exportées, un langage pseudo interprété (en wlangage ??) permettant de contrôler le flux du debugger (un peu à la ollyscript si vous connaissez), … (Et j’en passe !!)
Download
Downloaded 1051 times
Plus une copie d’écran:
6 Comments on "Débuggeur/Désassembleur en Windev"
Sympa Si j’étais toi, je mettrais la police des tables en « Courier New »…
Exact, c est beaucoup plus lisible. J’aurais du voir ca pourtant, bizarre
Sympa l’application.
Un gros manque étant présent sur la partie reverse windev, ton tool est un bon plus !
Merci pour le travail,
amicalement,
Bonjour Replic,
Merci pour le compliment, de plus venant de Replic
Héhé de rien, quand un outil est bien et suffisamment rare, j’hésite pas
Hehe, en tout cas, ca fait plaisir de revoir des « anciens »