ソフトウェア工学講座 > 公開ソフトウェア > RINRUN

RINRUN: プログラムカムフラージュ化ツール

hits since 2003-09-30


概要

RINRUNは、プログラムをカムフラージュするためのツールです。

カムフラージュとは、自己書き換えを用いてプログラムの解析を困難にする 技術です。 詳しくは、 関連文献を参照してください。

アウトライン

ダウンロード

RINRUN version 0.1.0 (2003/3/18)

ライセンス

本ソフトウェアの再配布は禁止します。

本ソフトウェアの内部で用いられているプログラムの解析を困難にするための アルゴリズムは、2004年3月現在、特許出願中です(特願2002-355881)。 本ソフトウェアを適用したソフトウェアを商用利用される場合は、e-mailにて ご相談ください。

連絡先 : 神崎 雄一郎 kanzaki <@> kumamoto-nct.ac.jp

バージョン履歴

2004.3.18 Ver.0.1.0 公開

簡単チュートリアル

最も簡単な例として、 Cで書かれた単一のソースプログラムtest.cがあり、 その実行可能ファイルtest.exeを得たい場合を考えます。

普通の(カムフラージュされていない)test.exeを得る手順:-)

gcc -o test.exe test.c

カムフラージュされたtest.exeを得る手順

  1. アセンブリのソースを得る。
    gcc -S test.c
    

    アセンブリファイルtest.sができる。

  2. rinrun.exeを起動する。
    1. リストボックスにtest.sをドラッグ&ドロップする。
    2. カムフラージュ数(# of camfoulage)を聞かれるので、
    3. カムフラージュさせたい命令数を入力する(たとえば100)。
    4. (初期設定がまだの場合は)[Setteing]-[Path]でgcc.exeのある場所を設定する。
    5. STARTボタンを押してカムフラージュ実行。
    6. カムフラージュされたtest.sが指定のディレクトリ (デフォルトでは入力ファイルと同じディレクトリ)に、 指定のファイル名(デフォルトではrr_"拡張子抜きの入力ファイル名" "カムフラージュ数".s)で出力される。

    スクリーンショット

  3. カムフラージュされたアセンブリファイル(ここではrr_test100.sとします)をアセンブルする。
    gcc -o test.exe rr_test100.s
    
  4. 同梱のsetflag.exeを使って、 test.exeのコード領域に書き込み可能フラグを付加する。
    1. test.exeをドラッグ&ドロップする。
    2. .textセクションを選択し、"WRITE"のボタンをチェックした状態にする。
    3. 上書き保存する。

以上です。

なお、コマンドラインから一括処理できるようにするため、各アプリにバッチモードを用意しています。 詳細は同梱のReadMe.txtを参照してください。

関連文献

リンク