ソースコードがなくても大丈夫:バイナリだけからゲームを移植する技術
No Source Code? No Problem
古いアーケードゲームを現代の機器で忠実に再現したいが、ソースコードが残っていない——そんなときはバイナリから直接、エミュレータかトランスレータを作る。エミュレータは命令を解釈実行し、トランスレータはマシンコードをCなどに変換してコンパイルする。後者は高速で改変しやすいが、ジャンプテーブルの範囲特定など難所も多い。意味のギャップを定量化する指標G(1命令あたりのホスト命令数)も解説。
ソースコードがないからといって諦める必要はない。バイナリそのものが、利用可能な最も権威ある仕様書なのだ。