reverse-engineering について
CTFやマルウェア解析で、ネイティブバイナリやバイトコードを扱うリバースエンジニアリングスキルです。カスタムVMや難読化を静的解析し、アルゴリズムの復元やPythonでのソルバー作成を支援します。
主な機能
- 01ELF、PE、Mach-O、バイトコードの解析
- 02カスタムVMの識別と逆解析
- 03制御フロー難読化の線形化
- 04混合ブール算術難読化の解析
- 05アルゴリズムとチェック関数の静的復元
活用シーン
- 01バイナリとプログラムデータファイルの解析
- 02実行できない環境での検証アルゴリズム復元
- 03暗号化ハンドラーを使うプログラムの難読化解除
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ transilienceai/ communitytools --skill reverse-engineeringインストール後、Claude Code で/reverse-engineeringを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/custom-vm-bytecode.mdINDEX.mdreverse-engineering-principles.mdreference/scenarios/anti-debug/int3-detection-bypass.mdisdebuggerpresent-bypass.mdptrace-bypass.mdtiming-checks-bypass.mdreference/scenarios/custom-vm/bytecode-disassembly.mdreference/scenarios/dynamic-analysis/frida-hooking.mdgdb-scripting.mdltrace-strace.mdreference/scenarios/firmware/esp32-xtensa-flash-dump.mdreference/scenarios/kernel/kernel-rootkit-module.mdreference/scenarios/obfuscation/callfuscation.mdd-fiber-callfuscation.mdhash-dispatcher-chain.mdmba-deobfuscation.mdpacked-binaries.mdpython-bytecode-payload.mdstring-obfuscation.mdreference/scenarios/static-analysis/disassembly-recipe.mdelf-analysis.mdpe-analysis.mdstring-extraction.mdunity-il2cpp-recipe.md詳細
リバースエンジニアリング
範囲
コンパイル済みバイナリ(ELF、PE、Mach-O)やバイトコードの成果物をリバースエンジニアリングし、アルゴリズムの復元、入力の検証、静的ソルバーの構築を行います。独自の ISA を使う「プログラム」ファイルをホストバイナリが読み込む、CTF やマルウェア解析でよく見られるパターンに重点を置いています。ディスパッチャーループを特定し、オペコードを Python のラムダ式に対応付け、ホストを実行せずに純粋な Python で変換チェーンを逆算します。また、callfuscation(制御フローの分割)、MBA(混合ブール演算・算術演算)による演算子の難読化、暗号化されたハンドラーを使う手法、3 層の難読化解除パイプラインも扱います。
使用する場面
- バイナリと「プログラムデータ」ファイルがセットで提供され、バイナリがインタープリターのように見える場合(テーマに沿ったオペコード名、ディスパッチャーの switch 文/ジャンプテーブルなど)。
- 逆アセンブル結果から、
while(true){ op = mem[pc++]; switch(op){...}; }のようなループや、オペコードをインデックスに使うジャンプテーブルが見つかった場合。 - バイナリが強く難読化されている場合(callfuscation、MBA のラッパー、起動時に
.dataで復号され RWX になる暗号化ハンドラーなど)。 - 動的実行ができない状況(アンチデバッグ、アーキテクチャの不一致、TTY がない場合など)で、ネイティブコードからアルゴリズムやチェック関数を復元する必要がある場合。
- 静的解析を優先したリバースエンジニアリングが望ましい場合(エミュレーターチェーンより高速で信頼性が高いため)。
参考資料
- reference/custom-vm-bytecode.md — 独自のスタック型/レジスター型/テープ型 VM の特定と逆算、callfuscation の線形化、MBA 演算子の特定、暗号化されたハンドラーの復号。
コメント
Markdown 対応