Was macht Rust Binary Reverse Engineering?
AKTION ERFORDERLICH (nach dem Lesen sofort ausführen)
JETZT: Lese../field-journal/precedent-reverse.mdJETZT: Bestätige, dass es sich um eine Go/Rust-Kompilierung handelt (file/Strings/Laufzeitmerkmale)NÄCHSTES: Ist GoReSym / ein entsprechendes Plugin verfügbar?AKTION: Laufzeiterkennung → Symbol-/Metadatenwiederherstellung → Geschäftslogik
Anwendungsfälle
- Gestrippte Go-Malware oder -Tools ohne Symbole
- Rust-Binaries, Analyse über Panik-Strings
- Sprachspezifische Methoden als Ergänzung zu allgemeinen IDA/Ghidra-Analysen
Arbeitsablauf
Go
□ go.buildid, Runtime-Symbolreste, pclntab identifizieren
□ GoReSym / redress / IDA Go-Plugin zur Wiederherstellung von Funktionsnamen
□ Hinweise zur Darstellung von Interface, Slice, String in der Dekompilierung beachten
□ Pfade für Netzwerk-/Kryptobibliotheken: crypto/* net/http
Rust
□ Panik-Strings, rust_begin_unwind, Crate-Pfad-Hinweise
□ Code-Aufblähung durch generische Instanziierung; zuerst String-Xrefs lokalisieren
□ Asynchrone/Tokio-Zustandsmaschinen mit Kreuzreferenzen analysieren
Dynamisch
□ Frida ist weiterhin nutzbar; auf Go-Stack und Scheduler achten
□ Log- und Konfigurations-Strings bevorzugt für Breakpoints verwenden
Toolkette
| Tool | Zweck |
|---|---|
| GoReSym | Go-Metadaten |
| IDA/Ghidra + Go/Rust-Plugins | Dekompilierung |
| radare2 | Schnelle String-Analyse |
| strings / rabin2 | Ersteinschätzung |
Referenzen
references/go-rust-notes.md../reverse-engineering/go-reverse.md../ida-reverse/../ghidra-reverse/- seed:
field-journal/seed-002_go-malware-stripped.md
Routenkontext
Oberhalb: MASTER R33
Unterhalb: Malware-Beispiel-Workflow malware-analysis; Allgemeines RE reverse-engineering
Aufgaben-Checkliste
- Wurden wichtige Funktionsnamen oder äquivalente Zuordnungen wiederhergestellt?
- Wurden Beweise für die Sprachlaufzeit dokumentiert?
- Checkliste beachtet?