技能 编程开发 Go/Rust 二进制逆向分析

Go/Rust 二进制逆向分析

v20260803
go-rust-reverse
本技能流程专用于逆向工程剥离符号的Go和Rust二进制文件。它指导用户恢复运行时的关键元数据(如符号表、panic字符串等),并处理Go的接口结构和Rust的异步状态机等语言特有复杂性,是通用反编译工具的有力补充。
获取技能
369 次下载
概览

Go / Rust Binary Reverse Engineering

ACTION REQUIRED(读完后立刻执行)

  1. NOW: 读取 ../field-journal/precedent-reverse.md
  2. NOW: 确认样本为 Go/Rust 编译产物(file/字符串/运行时特征)
  3. NEXT: GoReSym / 相关插件是否可用
  4. ACT: 运行时识别 → 符号/元数据恢复 → 业务逻辑

适用场景

  • 剥离符号的 Go 恶意软件/工具
  • Rust 发行二进制、panic 字符串驱动分析
  • 与通用 ida/ghidra 互补的语言专用方法

工作流

Go

□ 识别 go.buildid、runtime 符号残留、pclntab
□ GoReSym / redress / IDA Go 插件恢复函数名
□ 注意 interface、slice、string 结构在反编译中的形态
□ 网络/加密库路径:crypto/* net/http

Rust

□ panic 字符串、rust_begin_unwind、crate 路径暗示
□ 范型实例化导致的代码膨胀;先定位字符串 xref
□ 异步/tokio 状态机需结合交叉引用

动态

□ 仍可用 Frida;注意 Go 栈与调度
□ 优先日志与配置字符串驱动断点

工具链

工具 用途
GoReSym Go 元数据
IDA/Ghidra + Go/Rust 插件 反编译
radare2 快速字符串
strings / rabin2 分诊

参考

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

路由上下文

上游: MASTER R33
下游: 恶意样本流程 malware-analysis;通用 RE reverse-engineering

任务完成自检

  • 是否恢复关键函数名或等价映射?
  • 是否标注语言运行时证据?
  • Checklist?
信息
Category 编程开发
Name go-rust-reverse
版本 v20260803
大小 1.7KB
更新时间 2026-08-04
语言