
Ghidra est un cadre d'ingénierie inverse du logiciel (SRE) créé et maintenu par la Direction de recherche de l'Agence nationale de sécurité. Ce cadre comprend une suite d'outils d'analyse logicielle haut de gamme complets qui permettent aux utilisateurs d'analyser le code compilé sur une variété de plates-formes, notamment Windows, MacOS et Linux. Les capacités comprennent le démontage, l'assemblage, la décompilation, le graphique et les scripts, ainsi que des centaines d'autres fonctionnalités. Ghidra prend en charge une grande variété d'ensembles d'instructions de processeur et de formats exécutables et peut être exécuté dans des modes utilisateur-interactifs et automatisés. Les utilisateurs peuvent également développer leurs propres composants et / ou scripts d'extension Ghidra à l'aide de Java ou Python.
À l'appui de la mission de cybersécurité de la NSA, Ghidra a été construit pour résoudre les problèmes d'échelle et de faire équipe sur les efforts complexes du SRE et pour fournir une plate-forme de recherche SRE personnalisable et extensible. La NSA a appliqué des capacités de Ghidra SRE à une variété de problèmes qui impliquent l'analyse du code malveillant et générer des informations approfondies pour les analystes SRE qui recherchent une meilleure compréhension des vulnérabilités potentielles dans les réseaux et les systèmes.
Si vous êtes un citoyen américain intéressé par des projets comme celui-ci, pour développer Ghidra et d'autres outils de cybersécurité pour la NSA pour aider à protéger notre nation et ses alliés, envisagez de postuler pour une carrière avec nous.
AVERTISSEMENT: Il existe des vulnérabilités de sécurité connues dans certaines versions de Ghidra. Avant de continuer, veuillez lire les avis de sécurité de Ghidra pour mieux comprendre comment vous pourriez être affecté.
Pour installer une version officielle de Ghidra multiplateforme prédéfinie:
ghidra_<version>_<release>_<date>.zip qui peut être trouvé sous la liste déroulante "Assets". Le téléchargement de l'un ou l'autre des fichiers nommés "code source" n'est pas correct pour cette étape../ghidraRun (ou ghidraRun.bat pour Windows) Pour plus d'informations et des conseils de dépannage sur l'installation et l'exécution d'une version Ghidra, veuillez vous référer au guide d'installation qui peut être trouvé dans une version Ghidra sur docs/InstallationGuide.html .
Pour créer la dernière version de développement pour votre plateforme à partir de ce référentiel source:
Télécharger depuis github
unzip ghidra-master
cd ghidra-master
Remarque: Au lieu de télécharger la source compressée, vous pouvez plutôt cloner le référentiel GitHub: git clone https://github.com/NationalSecurityAgency/ghidra.git
Remarque: Si une connexion Internet est disponible et que vous n'avez pas installé Gradle, les commandes gradle suivantes peuvent être remplacées par ./gradle(.bat) .
gradle -I gradle/support/fetchDependencies.gradle
gradle buildGhidra
La construction de développement comprimé sera située à build/dist/ .
Pour des informations plus détaillées sur la construction de Ghidra, veuillez lire le Guide du développeur.
Pour la création de problèmes, veuillez vérifier la section des problèmes connus pour les solutions possibles.
Les installations Ghidra prennent en charge les utilisateurs écrivant des scripts et des extensions personnalisés via le plugin Ghidradev pour Eclipse. Le plugin et ses instructions correspondants peuvent être trouvés dans une version Ghidra à Extensions/Eclipse/GhidraDev/ ou à ce lien.
Remarque: Le plugin Ghidradev pour Eclipse ne prend en charge que le développement contre les installations Ghidra entièrement construites qui peuvent être téléchargées à partir de la page des versions.
Pour développer l'outil Ghidra lui-même, il est fortement recommandé d'utiliser Eclipse, pour lequel le processus de développement de Ghidra a été hautement personnalisé.
gradle prepdev eclipse buildNatives
Lorsque Eclipse termine la construction des projets, Ghidra peut être lancé et débogué avec la configuration de l'exécution de Ghidra Eclipse fournie.
Pour des informations plus détaillées sur le développement de Ghidra, veuillez lire le Guide du développeur.
Si vous souhaitez apporter des corrections de bogues, des améliorations et de nouvelles fonctionnalités à Ghidrera, veuillez consulter notre guide de contributeur pour voir comment vous pouvez participer à ce projet open source.