|
IDA-MINSC est un plugin pour IDA Pro qui aide un utilisateur à scripter le plugin idapython qui est regroupé avec le démontbler. Ce plugin regroupe les différents aspects de l'API idapython dans un format plus simple qui permet à un ingénieur inverse de scripter différents aspects de leur travail avec très peu d'investissement.
Un certain nombre de concepts sont introduits tels qu'un système de balise, la prise en charge des fonctions multi-classes et le filtrage dans l'intention que la plupart des problèmes de recherche et d'annotation puissent être effectués avec seulement quelques lignes de code. Cela devrait permettre à un utilisateur d'écrire un code temporaire rapide, hacky qui peut être utilisé pour augmenter ses efforts d'inversion sans distraction.
L'installation doit être assez simple et nécessite simplement le clonage du référentiel directement dans le répertoire utilisateur IDA de l'utilisateur. Sur la plate-forme Windows, celle-ci est généralement située à %APPDATA%/Hex-Rays/IDA Pro . Alors que sur la plate-forme Linux, cela peut être trouvé sur $HOME/.idapro . Ce contenu de ce référentiel devrait en fait remplacer ce répertoire. Si vous avez des fichiers qui y résident actuellement, déplacez-les simplement dans le répertoire du référentiel. Après l'installation, Ida Pro devrait charger son plugin idapython qui devrait entraîner l'exécution de l' idapythonrc.py à l'espace de noms par défaut d'Ida-MInSC, ce qui remplacera ensuite l'espace de noms par défaut d'Idapython par celui appartenant au plugin.
Pour cloner le référentiel dans une $TARGET , on peut simplement faire:
$ git clone https://github.com/arizvisa/ida-minsc "$TARGET"
Après le clonage du référentiel, l'utilisateur devra installer ses dépendances Python requises dans leurs packages de sites. Cela peut être fait à l'aide de pip qui est un outil qui est emballé avec Python. Le fichier qui contient les exigences de l'utilisateur est à l'origine du référentiel comme requirements.txt .
Pour installer les dépendances Python requises, on peut exécuter pip comme SO:
$ pip install -r "requirements.txt"
À ce stade, lorsque l'utilisateur démarre IDA Pro, IDA-MINSC remplacera l'espace de noms d'Idapython par le sien, à quel point peut être utilisé immédiatement. Pour vérifier que IDA-MINSC a été installé correctement, on peut simplement taper ce qui suit à l'invite idapython:
> database.config.version()
Cela devrait ensuite renvoyer le numéro 0 car aucune base de données n'a été chargée.
Après avoir installé les dépendances Python, vous pouvez faire quelque chose comme ce qui suit pour répertorier toutes les fonctions de votre base de données:
> database.functions.list()
Ou pour parcourir toutes les fonctions de la base de données, vous pouvez essayer:
> for ea in database.functions():
print(hex(ea))
Veuillez vous référer à la documentation pour plus de détails sur ce que ce plugin met à votre disposition.
Une documentation complète est disponible sur la page du projet sur github.io, ou peut être construite localement via la branche "Docs".
Si l'utilisateur souhaite créer des documents à usage local, il devra d'abord installer le package Sphinx. Ensuite, l'intégralité de la documentation réside dans la branche "Docs". Découvrez simplement la branche, modifiez le répertoire en "Docs", puis exécutez GNU faire comme:
$ make html
Cela se traduira par le système de construction analysant les modules disponibles, puis rendant toute la documentation dans le répertoire _build par rapport au docs/Makefile . La documentation peut être générée pour un certain nombre de formats différents. Pour répertorier tous les formats disponibles, tapez make help sur l'invite de commande.
Voir contribution.md pour les meilleures pratiques sur les problèmes de rapport ou pour ajouter des fonctionnalités à ce projet.
Grâce à un certain nombre de personnes anonymes et non anonymes qui ont aidé au développement de ce plugin au cours de toutes ces années.