mcpField
G
go-rust-reverse

go-rust-reverse

github.com/zhaoxuya520セキュリティ43.7k1.2k 回インストール5 週間前に更新
リポジトリ

go-rust-reverse について

GoやRustのバイナリを調べるリバースエンジニアリングスキルです。マルウェア分析や配布用実行ファイルの調査に向け、ランタイムの手掛かりからシンボルやメタデータを復元し、言語固有の手法で処理を解析します。

主な機能

  1. 01GoとRustのランタイム手掛かりの特定
  2. 02Goのシンボルとメタデータの復元
  3. 03panic文字列を使ったRustコードの特定
  4. 04非同期ステートマシンと相互参照の分析
  5. 05Fridaを用いた動的解析

活用シーン

  1. 01シンボルを削除したGoマルウェアの分析
  2. 02Rustのリリースバイナリの調査
  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

詳細

Go / Rust バイナリのリバースエンジニアリング

要対応(読了後すぐに実行)

  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?

コメント