go-rust-reverse について
GoやRustのバイナリを調べるリバースエンジニアリングスキルです。マルウェア分析や配布用実行ファイルの調査に向け、ランタイムの手掛かりからシンボルやメタデータを復元し、言語固有の手法で処理を解析します。
主な機能
- 01GoとRustのランタイム手掛かりの特定
- 02Goのシンボルとメタデータの復元
- 03panic文字列を使ったRustコードの特定
- 04非同期ステートマシンと相互参照の分析
- 05Fridaを用いた動的解析
活用シーン
- 01シンボルを削除したGoマルウェアの分析
- 02Rustのリリースバイナリの調査
- 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
詳細
Go / Rust バイナリのリバースエンジニアリング
要対応(読了後すぐに実行)
NOW:../field-journal/precedent-reverse.mdを読むNOW: サンプルが 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 対応