世の中のソフトウェアを保護する手法の一つにプログラム難読化技術がある. プログラムの難読化とは,解析が困難になるようプログラムを変換する技術であり,様々な難読化ツールが提案されている. しかし,開発者にとって,多くの難読化ツールのうちどのツールを選べば良いかの基準は明確ではない.
そこで本稿では, JVMプラットフォーム向けの既存の難読化ツー …
本稿では,ソフトウェアの不正解析に対抗する難読化手法について提案する. 今日では,プログラム内の何を隠すのかの目的により,多くの手法が提案され,さらにツールも提供されている. その中で,本稿では,名前難読化に着目し,機械的なコールフローグラフ(CFG)の作成を妨げる手法について述べる. キーアイデアとして,Java 7で導入され …
本稿では、Java で作成されたソフトウェアを対象に、類似した命令列を持つメソッドの畳み込みを行う手法を提案する。 畳み込みとは、まず、類似した命令列を一つの命令列にまとめる。 そして、命令列間の差分は自己書き換えを用いて、実行時に適切な命令へと書き換える。 ソフトウェアの解析、改ざん(tamper)が困難にすることを目的とし、耐タンパ性を高 …