
Plugin Vivisect permettant l'émulation de fonctions, la reconnaissance de fonctions et une CLI Python interactive pour la rétro-ingénierie basée sur l'émulation et la recherche de vulnérabilités.
VivisectION est l'intersection de la rétro-ingénierie par interface graphique, de l'émulation et du débogage, avec un accent mis sur l'utilisation de l'émulation et d'autres outils puissants de Vivisect pour faciliter la rétro-ingénierie et la recherche de vulnérabilités.
Entre autres, VivisectION (alias Ion) est une extension (ou un plugin) Vivisect.
Principalement, ce plugin permet à l'interface graphique de configurer facilement un émulateur pour des fonctions (clic droit sur l'adresse d'une fonction).
Installez Vivisect et assurez-vous qu'il fonctionne avant d'installer VivisectION.
Sur Ubuntu, installez PyQt5 et PyQtWebkit via apt :
$ sudo apt install python3-pyqt5 python3-pyqt5.qtwebkit
Sur d'autres Linux, vous constaterez peut-être que l'une ou l'autre de ces méthodes fonctionne. Sur Ubuntu, l'installation de PyQt5 via PyPi casse des choses, apparemment.
Sur Windows (et peut-être sur certains Linux), assurez-vous d'inclure l'option [gui] (elle inclut les composants PyQt5) :
$ pip install vivisect[gui]
Installez ensuite VivisectION avec Pip :
$ pip install VivisectION
Sinon, vous pouvez installer à partir du dernier dépôt Github (ou utiliser une version modifiée sur votre disque local) :
$ git clone https://github.com/atlas0fd00m/VivisectION
#(possibly modify anything)
$ pip install ./VivisectION
Les outils suivants géreront un lien symbolique vers le répertoire du plugin dans $HOME/.viv/plugins/ (ou le dernier répertoire de votre VIV_EXT_PATH)
$ vivisection_activate # to install the plugin
# and
$ vivisection_deactivate # to remove the plugin
Il permettra également de lier les débogueurs au serveur Vivisect / à l'espace de travail partagé
Attacher, extraire (dump) et préparer un débogueur pour l'émulation
D'autres goodies dès que je déciderai de les publier (des aides pour C++, quelqu'un ?)
vw comme VivWorkspaceSmartEmu - console dans le menu contextuel.
** Modifiez (si vous le souhaitez) la configuration de l'émulateur dans la fenêtre contextuelle
** Obtenez un NinjaEmulator dans la fenêtre de la console
** Après avoir quitté le NinjaEmulator, vous serez déposé dans iPython. Utilisez Ctrl-D ou exit pour en sortir (avant d'émuler autre chose) s'est produit et maintenant ma ligne de commande n'affiche plus ce que je tape
** Tapez (à l'aveugle, je sais) stty sane et appuyez sur Entrée. Cela remet normalement le terminal dans son état normal (sane).
Je n'arrive pas à obtenir une CLI et un émulateur de fonction en même temps ! ** Désolé, je n'ai pas créé le code nécessaire pour l'émulation multi-fonctions. Actuellement, nous ne supportons que l'utilisation de la CLI principale utilisée pour démarrer Vivisect.
Je n'arrive pas à obtenir une CLI ou un émulateur de fonction !
** Parfois, l'état de la CLI est perturbé et nous enregistrons qu'elle est utilisée alors qu'elle ne l'est pas. Vous pouvez réinitialiser cet état à l'aide de Plugins->Ion->Reset Console In Use
Allez de l'avant et hackez de grandes choses !
@