.NETアプリケーションをビルド時に自動的に難読化されるようにする

ConfuserExで.NETアプリケーションを難読化するでは
フリーでオープンソースの難読化ツールConfuserExを使用して
プログラムを難読化する手順を紹介しました。

ですがこのままだと、ビルドをするたびにConfuserExを起動して
モジュールと難読化の設定をして、難読化を実行して…と
さほど手間のかかる作業ではありませんが、同じことを何度も
繰り返すことになるので、なるべく楽をしたいところです。

そこでこの記事では、.NETアプリケーションをビルド時に
自動的にConfuserExを使用して難読化されるようにする
手順を紹介します。

ConfuserExのプロジェクトファイルを作成する

まずはConfuserExのプロジェクトファイルを作成します。
このファイルにはモジュールのパス、出力先フォルダ、難読化の設定
が記録されます。

ConfuserExを起動します。
confuserex_auto_icon

ConfuserExに難読化するモジュールを読み込ませます。
ここでは、以前作成したサンプルプログラムを読み込ませています。
confuserex_auto_project
Output Directoryソリューションファイル(sln)と同じフォルダ
変更しています。必須ではありませんが、こうしておくと
出力されたモジュールを拾うのに、bin配下まで潜る必要がなくなります。

難読化のルールを設定します。
手順は前回の記事を参照してください。
confuserex_auto_settings

Save projectボタンを押して、プロジェクトファイルを作成します。
confuserex_auto_save

保存先はソリューションファイル(sln)と同じフォルダにしています。
これも必須ではありませんが、あとでフォルダの指定が楽になります。
confuserex_auto_save2

これでConfuserExのプロジェクトファイルの作成が完了しました。

ビルド後イベントを設定する

ここからはVisual Studioでの作業になります。
難読化するモジュールを作成するプロジェクトを開きます。
confuserex_auto_vsicon

メニューのプロジェクトからプロジェクトのプロパティを開き
左側のメニューのビルドイベントを選択します。
confuserex_auto_buildevent

ビルド後イベントのコマンドラインの欄に
ConfuserExでモジュールを難読化するコマンドを入力します。

コマンドの例

コマンドは以下のようになります。

この記事で使用しているサンプルプログラムの場合は以下になります。

コマンドの詳細

コマンドを詳しく見ていきます。

Confuser.CLI.exeはその名の通り、ConfuserExをコマンドラインで
使うためのアプリケーションです。

-nは難読化が完了後にポーズをしないようにするオプションです。

$(SolutionDir)はソリューションのフォルダを示すマクロです。
ConfuserExのプロジェクトファイルをソリューションファイルと
同じフォルダに保存したのはこのためです。

コマンドを入力する

ビルド後イベントのコマンドラインの欄に
ConfuserExでモジュールを難読化するコマンドを入力しました。
ビルドが失敗したときに難読化しようとしても仕方がないので
ビルド後イベントの実行ビルドが成功したときに設定します。

confuserex_auto_buildevent2

ビルドしてみる

これでプロジェクトをビルド時に自動的に難読化が行われるはずです。
メニューのビルドからプロジェクトのリビルドをしてみます。
confuserex_auto_outputlog
出力ウィンドウを見ると、モジュールの出力後
ConfuserExが起動して難読化が行われていることが分かります。

難読化されたモジュールもちゃんと出力されていました。
confuserex_auto_outputexe

以上、.NETアプリケーションをビルド時に
自動的に難読化されるようにする手順を紹介しました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA