2017年8月6日

Visual Studio 2017 CommunityエディションにDotfuscator CEを入れてみた。

.NETで作成した実行ファイルは、中間言語と言われるコードになっているため、容易に元のソースコードを読み取ることが出来てしまいます。これはプログラムの知的財産の観点、またはセキュリティの観点からして悩ましい問題です。

そこで、この問題を解決する手段として「難読化」というものがあります。

難読化とは、ソースコードのなかの変数名やメソッド名などを意味のない文字列に置き換えて、コードを読みづらくするというものです。

Visual Studioには、サードパーティー制の難読化ツール(簡易版)「Dotfuscator CE (Community Edition)」が無償で使えるようになっています。以前のVisual Studioだと製品版にしか含まれていませんでしたけど、いまはVisual Studio Communityエディションにも含まれるようになったようです。


では、さっそく入れて試してみました。

まず、インストールですが、下記を参考にインストールしてみてください。

■Dotfuscator Community Edition (CE) をインストールする
https://docs.microsoft.com/ja-jp/visualstudio/ide/dotfuscator/install


次に、実際の難読化ですが、最初に難読化したいプログラムの実行ファイルを作成しておきます。

そして、Visual Studioのメニューの[ツール]から[PreEmptive Protection - Dotfuscator]を選びます。



すると、このような画面が表示されますので、「入力」のところで作成した実行ファイルを追加し、ビルドを行います。


それでは、出来上がった実行ファイルが本当に難読化されているかILSpyを使って確かめてみます。



メソッド名やオブジェクト名が「a」とか「c」といった意味のない文字に置き換えられています。
簡易版なのでコードに埋め込まれているメッセージなどの文字列は難読化されませんが、難読化としての機能は十分果たしていると思います。



スポンサーリンク