データベース

14. 逆コンパイル(ソース生成)

CLP であれば

CRTCLPGM    ALWRTVSRC(*NO)

でコンパイルされていない限り RTVCLSRC コマンドによってもとのソース・プログラムを

生成することが可能である。

それでは RPG の逆コンパイル(リバース・エンジニアリング)は可能か?

逆コンパイル・ツールは市販はされていないが、依頼して逆生成はできるものの

1本当り30万円と高価である。

ここではその原理だけを紹介する。

RPG はマシンインターフェースと呼ばれるマクロアセンブラに翻訳されている。

この中間言語を読取るには マシンインターフェース・プログラム(MI)によって

RPG の命令がどの MI に翻訳されているのかを粒さに調べる必要がある。

ところが、この MI を生成するコンパイラは用意されていない。

MI のコンパイラは API: QPRCRTPG によって自作しなければならない。

このように逆コンパイルへの道は遠いことと、逆コンパイル自体が

踏み込んではならない聖域として解釈したい。