Ingeniería Inversa de Binarios Go / Rust
ACCIÓN REQUERIDA (léase inmediatamente)
AHORA: Leer../field-journal/precedent-reverse.mdAHORA: Confirmar que la muestra es un compilado Go/Rust (file/cadenas/características de runtime)SIGUIENTE: Verificar disponibilidad de GoReSym / plugins relacionadosACTUAR: Identificación de runtime → Recuperación de símbolos/metadatos → Lógica de negocio
Escenarios de uso
- Malware/herramientas Go con símbolos eliminados
- Binarios Rust distribuidos, análisis guiado por cadenas de panic
- Métodos específicos del lenguaje que complementan ida/ghidra genéricos
Flujo de trabajo
Go
□ Identificar go.buildid, residuos de símbolos runtime, pclntab
□ GoReSym / redress / plugin IDA Go para recuperar nombres de funciones
□ Observar la forma de interfaces, slices, strings en la descompilación
□ Rutas de bibliotecas de red/cifrado: crypto/* net/http
Rust
□ Cadenas de panic, rust_begin_unwind, pistas de rutas de crate
□ Hinchazón de código por instanciación genérica; localizar primero cross-references de cadenas
□ Máquinas de estado de async/tokio requieren referencias cruzadas
Dinámico
□ Frida aún es aplicable; tener en cuenta la pila y planificación de Go
□ Priorizar puntos de interrupción guiados por cadenas de configuración y registro
Cadena de herramientas
| Herramienta | Uso |
|---|---|
| GoReSym | Metadatos Go |
| IDA/Ghidra + plugins Go/Rust | Descompilación |
| radare2 | Cadenas rápidas |
| strings / rabin2 | Triaje |
Referencias
references/go-rust-notes.md../reverse-engineering/go-reverse.md../ida-reverse/../ghidra-reverse/- seed:
field-journal/seed-002_go-malware-stripped.md
Contexto de ruta
Arriba: MASTER R33
Abajo: Flujo de muestras maliciosas malware-analysis; RE general reverse-engineering
Autoverificación de finalización
- ¿Se han recuperado nombres de funciones clave o una asignación equivalente?
- ¿Se ha anotado la evidencia del runtime del lenguaje?
- ¿Lista de verificación?