2011-01-15 3 views
1

Je suis actuellement en train d'essayer d'inverser un programme sous Linux qui a un tas de trucs anti-débogage. J'ai été capable de vaincre certains d'entre eux, mais je me bats toujours contre ceux qui me restent. Malheureusement, puisque je suis médiocre, cela me prend plus de temps que prévu. Quoi qu'il en soit, les programmes s'exécutent sans aucune douleur dans une machine virtuelle (j'ai essayé avec VMWare et VBox), donc je pensais à prendre une trace de son exécution dans la machine virtuelle, puis une trace sous le débogueur (gdb) les changements sont et découvrez les astuces anti-débug plus facilement.
Cependant, j'ai fait du débogage de noyau avec vmware il y a longtemps, c'était plus ou moins ok (je me souviens avoir accès à l'adresse linéaire ...), mais ici c'est un peu différent je pense.Débogage du programme utilisateur (plein d'anti-débogage) via VMWare

Voyez-vous un moyen facile de déboguer ce programme utilisateur sans trop souffrir?

Répondre

1

Je suggère d'utiliser Ether, qui est un outil de surveillance de l'exécution d'un programme basé sur l'hyperviseur XEN. Le but de l'outil est de tracer l'exécution d'un programme sans être observable. La première chose à faire est d'aller sur leur site Web et de cliquer sur l'onglet des logiciels malveillants, puis soumettre votre fichier binaire et voir si leur interface Web automatisée peut le faire pour vous. Si cela échoue, vous pouvez l'installer vous-même, ce qui est pénible, mais faisable, et devrait donner de bons résultats, j'ai pu l'installer dans le passé. Ils ont des instructions sur le site Ether, mais si vous, je vous suggère de prendre aussi un coup d'œil à ces instructions supplémentaires de Offensive Computing

Un couple d'autres sites d'analyse automatisés qui pourraient faire l'affaire pour vous: Eureka par SRI International et Renovo par bitblaze à UC Berkeley

Questions connexes