关于 go-rust-reverse
面向 Go 或 Rust 二进制文件分析的逆向工程技能,适用于恶意软件分析和发行程序检查。它依据语言运行时线索恢复符号与元数据,再结合语言特有的代码结构分析业务逻辑。
主要功能
- 01识别 Go 与 Rust 运行时线索
- 02恢复 Go 符号和元数据
- 03利用 panic 字符串定位 Rust 代码
- 04分析异步状态机与交叉引用
- 05结合 Frida 进行动态分析
适用场景
- 01分析剥离符号的 Go 恶意软件
- 02检查 Rust 发布二进制文件
- 03恢复关键函数名或等价映射
- 04根据日志和配置字符串设置断点
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zhaoxuya520/ reverse-skill --skill go-rust-reverse安装后在 Claude Code 中输入/go-rust-reverse确认已加载。
附带文件references/go-rust-notes.md
详细介绍
来自项目 READMEGo / Rust Binary Reverse Engineering
ACTION REQUIRED(读完后立刻执行)
NOW: 读取../field-journal/precedent-reverse.mdNOW: 确认样本为 Go/Rust 编译产物(file/字符串/运行时特征)NEXT: GoReSym / 相关插件是否可用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?
评论
支持 Markdown