プログラミング
Show HN: Decomp Academy – GameCubeゲームをC言語にデコンパイルして一致させる学習
Show HN: Decomp Academy – Learn to decompile GameCube games into matching C (decomp-academy.dev)
要約
Decomp Academyは、GameCubeゲームのPowerPCアセンブリをC言語にデコンパイルする方法を学ぶためのインタラクティブなプラットフォームです。このサイトは、Cコードをアセンブリにコンパイルし、ターゲットのアセンブリとどれだけ一致するかを厳密にチェックします。現在250以上のレッスンがあり、初心者から経験者まで幅広く対応しており、実際のデコンパイルプロジェクトへの貢献を目指せます。
全文翻訳
過去数ヶ月間、私はデコンパイルコミュニティに深く関わってきました。私は子供の頃に大好きだったゲーム(スターフォックスアドベンチャー)のデコンパイルに手作業で取り組んできました。この旅を始めたとき、デコンパイルの経験はゼロでした。さらに悪いことに、C言語もアセンブリもほとんど触ったことがありませんでした。
デコンパイルの方法を学ぶのは困難でした。良い学習リソースを見つけるのが難しく、この分野のオープンソースプロジェクトは活動していなかったり、実際の学習資料がほとんど含まれていませんでした。
そこで、私はDecomp Academyを立ち上げました!Decomp Academyは、PowerPCアセンブリをC言語にデコンパイルする方法を学ぶためのインタラクティブな方法です。このサイトは、ライブのMetrowerks CodeWarrior GC/2.0コンパイラを実行し、Cコードをアセンブリに変換し、そのアセンブリがターゲットとどれだけ近いかを確認します。1つの命令やビットでもずれていれば失敗です。これはビデオゲームのデコンパイルにおけるゴールドスタンダードであり、通常のデコンパイルよりもはるかに厳格です。
執筆時点で、サイトには250以上のレッスンがあり、レッスンは非常に基本的な内容から始まるため、C言語の専門家でなくても、少しプログラミング経験があれば誰でもすぐに始めることができます。いくつかのレッスンには、実際のオープンソースデコンパイルプロジェクト(スターフォックスアドベンチャー、マリオパーティ4、ピクミン、メトロイドプライム)から取られた実際の関数も含まれています。これは、完了したときに実際のデコンパイルプロジェクトに飛び込んで貢献するために必要なすべてを学ぶことができるようにするためです。
このサイトは完全に無料でオープンソースであり、登録なしで全てのレッスンにアクセスできます。すべてのレッスンはリポジトリ(src/curriculum)にマークダウンで保存されており、レッスンを追加したり変更したりするのは簡単です。このサイトは非常に新しく、レッスンは毎日急速に変化しており、C++セクション全体が準備中です。このサイトはすでにデコンパイルコミュニティから好評を博しており、Hacker Newsで共有できることを嬉しく思います。このプロジェクトに他の人が貢献してくれることを非常に熱望しており、デコンパイルの技術を学ぶためのインターネット上で最高の情報源になることを願っています。ご意見をお聞かせください!
ソース: https://github.com/JackPriceBurns/decomp-academy-fe