mcpField
G
go-rust-reverse

go-rust-reverse

github.com/zhaoxuya520安全43.7k1.2k 次安装5 周前更新
代码仓库

关于 go-rust-reverse

面向 Go 或 Rust 二进制文件分析的逆向工程技能,适用于恶意软件分析和发行程序检查。它依据语言运行时线索恢复符号与元数据,再结合语言特有的代码结构分析业务逻辑。

主要功能

  1. 01识别 Go 与 Rust 运行时线索
  2. 02恢复 Go 符号和元数据
  3. 03利用 panic 字符串定位 Rust 代码
  4. 04分析异步状态机与交叉引用
  5. 05结合 Frida 进行动态分析

适用场景

  1. 01分析剥离符号的 Go 恶意软件
  2. 02检查 Rust 发布二进制文件
  3. 03恢复关键函数名或等价映射
  4. 04根据日志和配置字符串设置断点

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zhaoxuya520/reverse-skill --skill go-rust-reverse

安装后在 Claude Code 中输入/go-rust-reverse确认已加载。

附带文件references/go-rust-notes.md

详细介绍

来自项目 README

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 栈与调度
□ 优先日志与配置字符串驱动断点

工具链

工具用途
GoReSymGo 元数据
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