データベース

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

CLP であれば

CRTCLPGM    ALWRTVSRC(*NO)

でコンパイルされていない限り RTVCLSRC コマンドによってもとのソース・プログラムを
生成することが可能である。
それでは RPG の逆コンパイル(リバース・エンジニアリング)は可能か?
逆コンパイル・ツールは市販はされていないが、依頼して逆生成はできるものの
1本当り30万円と高価である。
ここではその原理だけを紹介する。
RPG はマシンインターフェースと呼ばれるマクロアセンブラに翻訳されている。
この中間言語を読取るには マシンインターフェース・プログラム(MI)によって
RPG の命令がどの MI に翻訳されているのかを粒さに調べる必要がある。
ところが、この MI を生成するコンパイラは用意されていない。
MI のコンパイラは API: QPRCRTPG によって自作しなければならない。
このように逆コンパイルへの道は遠いことと、逆コンパイル自体が
踏み込んではならない聖域として解釈したい。