2016 Fiscal Year Annual Research Report
Development methods of programs in tamper-resistant language
Project/Area Number |
26540027
|
Research Institution | Nagoya University |
Principal Investigator |
酒井 正彦 名古屋大学, 情報学研究科, 教授 (50215597)
|
Project Period (FY) |
2014-04-01 – 2017-03-31
|
Keywords | 難読プログラム / Malbolge / コンパイラ |
Outline of Annual Research Achievements |
本研究は、プログラム難読化によるソフトウェア保護を目指し、最も難解かつプログラミングも困難と考えられている言語Malbolgeによるプログラム手法の開発を目指すものである。 (1) 昨年度考案した、擬似命令列に繰り返し構造を導入して得られる中間言語から、それら全体を一度に低級アセンブリ言語に変換する手法の詳細を見直し、洗練し、実装した。具体的に設計した中間言語(制御付き擬似命令列言語)には、擬似命令列に追加する機能として、繰り返し構造以外にも配列機能ならびに関数の実現に必要となる動的なジャンプ機能の追加が必要であった。さらに、その中間言語プログラムを、Malbolgeのメモリ空間を3の10乗倍に拡張したMalbolge20のコードに変換するコンパイラを作成した。 (2) C言語に近い構文を持つ言語のプログラムを(1)の制御付き擬似命令列に変換するコンパイラを作成した。前者のC言語に近い言語は、比較演算、論理演算、入出力命令、if文、while文、関数の再帰呼び出し機能を備え、単純ではあるが高級言語の条件を満たしており、一般ユーザによるプログラム作成が可能である。 これらにより、容易にMalbolgeプログラムが作成できる環境が整った。現在までにWWW経由でこれらの成果を利用できる環境を一部整備した。残りについても近日中に整備・公開予定である。 本研究に基づいて高級言語プログラムを変換して得られるMalbolgeプログラムは実行効率が非常に悪く、二つの変数に納められた値の和を別の変数に納めるだけで約60,000の実行ステップが必要である。Malbolgeプログラムに変換するだけでも至難の業であり、効率の改善は非常に困難と考えられるため、隠匿したいプログラム部分を一部だけMalbolgeに変換するといった部分的な適用法の開発が今後望まれる。
|
Remarks |
(2)は(1)の英語版です。
|
Research Products
(3 results)