逆コンパイルプロジェクトの探し方:まず見るべき場所
執筆: DecompHub · 更新日 · 日本語
まず、関心のあるゲーム、ソフトウェア、機器を決めましょう。次に、元のバイナリの再現、動作の再実装、ハードウェアの調査、互換ソフトウェアの開発のどれを探しているか整理します。目的によって必要な知識も検索語も変わります。
DecompHubのカタログでカテゴリを横断して探し、各項目からリポジトリの最新ドキュメントを確認できます。DecompHubは独立したカタログです。掲載は開発者の推薦を意味せず、公開リポジトリであること自体もオープンソースの利用許諾にはなりません。
コミュニティから探す
decomp.devは機械語の一致を目指す逆コンパイルの進捗レポートを、Decompediaはコミュニティの知識やプラットフォーム別資料を集めています。そこで見つけた情報は、リンク先の公式資料で確かめましょう。
- zeldaretはゼルダ作品の解析プロジェクトを公開しています。Ocarina of Timeには対応バージョンとビルド手順があります。
- doldecompにはMelee、Super Mario Sunshine、Mario Kart: Double DashなどGameCube・Wii関連の取り組みがあります。移転案内があれば現在のリポジトリへ進んでください。
- pretにはポケモン作品の逆アセンブルと逆コンパイルの両方があります。アセンブリでの再構成とCでの再構成では作業手順が異なります。
- n64decomp/sm64はバージョンごとのビルド要件を確認できる例です。別のフォーク向けの解説より、対象リポジトリ自身の説明を優先しましょう。
ゲーム、ソフトウェア、ファームウェア、ハードウェア調査も探せます。作業種別のタグを読み、すべてを同じ種類の逆コンパイルとして扱わないことが大切です。
GitHubの検索を絞り込む
作品名にdecompilation、disassembly、reimplementation、reverse engineeringを組み合わせます。GitHubの検索仕様ではトピック、言語、組織などの条件を確認できます。
topic:decompilationdecompilation in:name,description"reverse engineering" firmware in:descriptionorg:doldecomp
移植や開発継続のフォークも含めるならfork:trueを追加します。GitLabなどでも公式リンクを確認してください。同名のミラーが正式な開発先とは限りません。
目的に合うか確認する
何を再構成しているのか、どのバージョンが対象か、ソース・説明・ビルド手順・実行可能なリリースのどれがあるのかを確認します。進捗の数値は、元のレポートとその測定範囲まで読みましょう。
再利用可能なOSSが必要なら、実際のライセンスを確認します。Open Source Initiativeの定義は、ソースの閲覧だけでなく変更や配布の権利も扱います。DecompHubに「ライセンス未指定」と表示されていても、利用許諾の判断を示しているわけではありません。
スター数は発見の手掛かりであり、正確さや完成度の証明ではありません。「協力できること」で利用可能な環境を基に候補を絞り、最後は公式の要件を確認してください。
候補ごとにURL、対象、作業種別、次に行うことを残すと役立ちます。GitHub検索ガイド、ゲームの候補、活動状況の見方、特定のゲームを探す手順も利用できます。
未掲載のプロジェクトは公式URLから登録申請できます。掲載前に審査があります。続いて進捗の読み方や初めての貢献を確認しましょう。