Rétro-ingénierie binaire Go / Rust
ACTION REQUISE (lire et exécuter immédiatement)
MAINTENANT: Lire../field-journal/precedent-reverse.mdMAINTENANT: Confirmer que l'échantillon est un binaire Go/Rust (viafile/ chaînes / caractéristiques du runtime)SUIVANT: Vérifier la disponibilité de GoReSym / plugins associésAGIR: 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
| Outil | Usage |
|---|---|
| GoReSym | Métadonnées Go |
| IDA/Ghidra + plugins Go/Rust | Décompilation |
| radare2 | Chaînes rapides |
| strings / rabin2 | Triage |
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 ?