Communitygithub.com

rétro-ingénierie binaire Go/Rust

Utilisé pour la rétro-ingénierie de binaires Go et Rust élagués, incluant la reconnaissance du runtime, la récupération des données pclntab/module, les chaînes de panique et la récupération idiomatique de la décompilation.

Qu'est-ce que Rust ?

Cette compétence est conçue pour les experts en rétro-ingénierie qui travaillent sur des binaires Go et Rust élagués (sans symboles). Elle permet d'identifier le runtime du langage (par exemple, les symboles résiduels `go.buildid` ou `rust_begin_unwind`), de récupérer les métadonnées telles que la table pclntab de Go ou les chaînes de panique de Rust, et de restaurer les noms de fonctions et la logique métier. L'outil fonctionne en complément des désassembleurs traditionnels comme IDA Pro et Ghidra, en utilisant des plugins spécialisés comme GoReSym, Redress ou des extensions Go/Rust. Il couvre également les analyses dynamiques avec Frida, en tenant compte des particularités du runtime Go (goroutines, scheduling). Les cas d'usage incluent l'analyse de malwares Go, de binaires Rust avec des chaînes de panique, et la récupération de code générique instancié (monomorphisation en Rust). La compétence s'intègre dans un flux de travail structuré : reconnaissance du runtime, récupération des métadonnées, puis analyse du comportement réel du programme.

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

Demander à votre IA préférée

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

Documentation

Rétro-ingénierie binaire Go / Rust

ACTION REQUISE (lire et exécuter immédiatement)

  1. MAINTENANT : Lire ../field-journal/precedent-reverse.md
  2. MAINTENANT : Confirmer que l'échantillon est un binaire Go/Rust (via file / chaînes / caractéristiques du runtime)
  3. SUIVANT : Vérifier la disponibilité de GoReSym / plugins associés
  4. AGIR : Reconnaissance du runtime → Récupération des symboles/métadonnées → Logique métier

Cas d'usage

  • Malwares / outils Go sans symboles
  • Binaires Rust distribués, analyse pilotée par les chaînes de panique
  • Méthodes spécifiques au langage en complément de l'approche IDA/Ghidra générale

Flux de travail

Go

□ Identifier go.buildid, symboles résiduels du runtime, pclntab
□ Restaurer les noms de fonctions avec GoReSym / redress / plugin Go IDA
□ Noter les formes des interfaces, slices et structures dans la décompilation
□ Chemins réseau/chiffrement : crypto/* net/http

Rust

□ Chaînes de panique, rust_begin_unwind, indices de chemins de crate
□ Expansion de code due à l'instanciation générique ; localiser d'abord les références aux chaînes
□ Machine d'état asynchrone/tokio : nécessite références croisées

Dynamique

□ Frida toujours utilisable ; attention à la pile et à l'ordonnancement Go
□ Privilégier les points d'arrêt pilotés par les chaînes de configuration et de log

Chaîne d'outils

OutilUsage
GoReSymMétadonnées Go
IDA/Ghidra + plugins Go/RustDécompilation
radare2Chaînes rapides
strings / rabin2Triage

Références

  • references/go-rust-notes.md
  • ../reverse-engineering/go-reverse.md ../ida-reverse/ ../ghidra-reverse/
  • seed : field-journal/seed-002_go-malware-stripped.md

Contexte de routage

Amont : MASTER R33 Aval : Flux d'échantillons malveillants malware-analysis ; RE général reverse-engineering

Auto-vérification de fin de tâche

  • Les noms de fonctions clés ou leur équivalent ont-ils été restaurés ?
  • Les preuves du runtime du langage sont-elles annotées ?
  • Checklist ?

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

|

ghidra-reverse

Use for free/open reverse engineering with Ghidra (headless or GUI), including decompile, cross-refs, and optional Ghidra MCP workflows when IDA is unavailable.

Skills associés