Communitygithub.com

Ingénierie inversée Ghidra

Utilisez Ghidra (en mode headless ou GUI) pour le reverse engineering gratuit et open source, incluant décompilation, références croisées et workflows Ghidra MCP optionnels lorsque IDA est indisponible.

Qu'est-ce que Ingénierie inversée Ghidra ?

Cette compétence permet d'utiliser Ghidra, un outil de reverse engineering open source complet, pour analyser des binaires en mode graphique ou headless (batch/CI). Elle couvre la décompilation, l'exploration des références croisées, le renommage de fonctions, l'extraction d'API importées et l'annotation de code. Elle s'intègre avec ghidra-mcp pour des workflows assistés par IA (activation via bootstrap) et avec ghidriff pour l'analyse de différences entre patches. La compétence donne la priorité à la lecture du fichier `./field-journal/precedent-reverse.md` dès le début, puis à la vérification des chemins dans `tool-index.md` avant toute exécution. Le workflow inclut l'importation automatique d'échantillons, l'analyse par défaut, l'extraction des fonctions critiques (à partir de chaînes ou d'API), et une checklist de vérification finale. Elle est destinée aux environnements sans IDA, aux tâches par lots, à l'enseignement, et aux utilisateurs privilégiant les outils libres.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/zhaoxuya520/reverse-skill/tree/main/skills/ghidra-reverse

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Ingénierie inversée avec Ghidra

ACTION REQUISE (lire immédiatement)

  1. MAINTENANT : Lire ../field-journal/precedent-reverse.md
  2. MAINTENANT : Confirmer que Ghidra est nécessaire (pas d'IDA / préférence open source / batch headless)
  3. SUIVANT : Lire ../tool-index.md pour connaître le chemin de ghidra / ghidra-mcp
  4. SUIVANT : Outil manquant → bootstrap ghidra-mcp (si le manifeste le prend en charge) ou installer Ghidra manuellement
  5. ACTION : Importer l'échantillon → analyse automatique → exporter la décompilation des fonctions critiques

Cas d'utilisation

  • Point d'entrée principal pour le reverse engineering sans licence IDA
  • Analyse headless par lots / décompilation dans un pipeline CI
  • Automatisation via scripts Ghidra (Java / Python Jython / PyGhidra)
  • Interfaçage avec binary-diff / patch-diff-exploit via ghidriff

Répartition des rôles avec IDA

BesoinPriorité
Analyse approfondie avec IDA MCP existantida-reverse/
Open source / batch / enseignementCette compétence
Reconnaissance rapide en ligne de commande uniquementradare2/

Workflow

1. Projet et analyse automatique

□ Créer un projet → Importer le fichier → Analyser (analyseurs par défaut)
□ Enregistrer les types de langage/compilateur et l'adresse de base
□ Marquer l'entrée, la table d'exportation, les références croisées des chaînes

2. Fonctions critiques

□ Remonter depuis les chaînes / API importées
□ Fenêtre de décompilation pour restituer l'algorithme
□ Renommer les fonctions/variables ; ajouter un commentaire "Plate"
□ Si nécessaire, passer à Frida/GDB pour les aspects dynamiques (chapitre dynamique du reverse engineering)

3. Mode Headless (par lots)

# Exemple : le chemin d'analyzeHeadless varie selon l'installation, DOIT être récupéré depuis tool-index
analyzeHeadless /chemin/vers/projet Projet -import echantillon.bin -postScript ExportDecomp.py

4. MCP (si configuré)

□ Vérifier le port MCP de ghidra (courant 8765, se référer à tool-index)
□ Utiliser les outils MCP pour récupérer les décompilations / références croisées, interdiction de deviner le port

Chaîne d'outils

OutilUsageInstallation
GhidraOutil principal de décompilationRelease manuelle / gestionnaire de paquets
ghidra-mcpPont IANom de capacité ghidra-mcp via bootstrap
ghidriffDifférences entre patchesVoir patch-diff-exploit

Références

  • references/ghidra-cheatsheet.md
  • ../ida-reverse/ ../radare2/ ../binary-diff/

Contexte d'acheminement

Amont : MASTER R22
Aval : Validation dynamique → Frida/GDB ; exploitation → pwn-chain
Homologue : ida-reverse (exploration commerciale approfondie)

Auto-vérification de la tâche

  • Les chemins réels de Ghidra/tool-index ont-ils été utilisés ?
  • Les adresses de fonctions et les renommages sont-ils enregistrés ?
  • Des étapes reproductibles ont-elles été fournies ?
  • Checklist / journal mis à jour ?

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.

apk-reverse

在 CLI 环境下做 Android APK 逆向时使用。适用于 APK 解包、Java 反编译、smali 修改、重打包、Frida 动态 Hook,以及按需切换到 so/native 分析。优先使用本机已安装的 jadx、apktool、frida、adb、ida-reverse、radare2。

attack-chain

Use for authorized multi-stage attack-path planning and orchestration when a task spans reconnaissance, initial access, privilege escalation, lateral movement, or impact assessment. Route single-stage tasks directly to their specialist skill.

binary-diff

|

binary-ninja-reverse

Use for authorized binary analysis in Binary Ninja, including HLIL/MLIL/LLIL inspection, strings/imports/exports, cross-references, types, patch review, Python API automation, and optional Binary Ninja MCP or localhost HTTP integration.

browser-automation

|

browser-extension-reverse

Use for authorized reverse engineering of browser extensions (Chrome/Firefox) including manifest analysis, background workers, and extension-based credential or traffic logic recovery.

case-review

Reviews a reverse-skill case package for scope readiness, Evidence to Finding to Path traceability, work item coverage, timeline references, and optional artifact hash integrity before report handoff.

cloud-k8s

Use for authorized cloud, container, and Kubernetes security assessment including metadata SSRF, IAM misconfig, container escape paths, and cluster RBAC review.

code-audit

Use for authorized source-code security review and SAST workflows including Semgrep, CodeQL patterns, dangerous API hunting, and fix verification.

ctf-sandbox

Thin PRIMARY for CTF / AWD / 靶场 multi-type orchestration. Hands off to the sidecar CTF-Sandbox-Orchestrator. Use when the user says CTF, AWD, 靶场, or 比赛题 and no more specific pwn/APK/IDA route already won.

database-security

Use for authorized database security assessment covering PostgreSQL/MySQL/MSSQL/Mongo/Redis exposure, authz, UDF/command paths, and misconfiguration review.

diagram-generator

generate, refine, validate, and render diagrams from natural language, notes, code snippets, schemas, tables, or existing diagram source. use for flowcharts, swimlanes, sequence diagrams, state diagrams, er diagrams, class diagrams, architecture/c4-style diagrams, dependency graphs, gantt charts, mind maps, user journeys, sankey-style flows, org charts, network graphs, and other visual models. supports mermaid by default, graphviz dot for complex graph layout, plantuml for uml-heavy engineering diagrams, and svg output when direct markup is more reliable.

digital-forensics

Use for authorized digital forensics including memory dumps, disk timelines, PCAP investigation, artifact triage, and IR evidence preservation.

docs-generator

|

dotnet-reverse

.NET / C# 二进制逆向。当目标是 .NET assembly(PE 头含 CLR、.exe/.dll 托管程序)、C# 编译产物(含 NativeAOT)、红队 Sharp* 工具(Rubeus / SharpHound / SharpHound 等)、.NET 混淆程序(ConfuserEx / SmartAssembly / Babel / Eazfuscator)、.NET loader / info-stealer / 套壳 malware 时使用。优先用 dnSpyEx + de4dot,需要 AI 直接操作时联动 dnSpy MCP。不用于纯 native 二进制(走 reverse-engineering / ida-reverse)。

edr-bypass-re

|

email-security

Use for authorized email security review including phishing analysis, header authentication (SPF/DKIM/DMARC), BEC patterns, and mailbox token abuse research.

firmware-pentest

|

go-rust-reverse

Use for reverse engineering stripped Go and Rust binaries including runtime recognition, pclntab/moduel data recovery, panic strings, and idiomatic decompilation recovery.

Skills associés