A certain engineer "COMPLEX"

.NETで難読化を試してみる 第2回

前回の続き。

今回はEazfuscator.NETのインストールと実行に挑戦します。

Introduce

Eazfuscator.NET から、最新のインストーラをダウンロードしてください。
執筆時点の最新版は Version 3.3 released on March 5, 2012 になります。

ダウンロードした Eazfuscator.NET 3.3 Setup.msiというインストーラをダブルクリックします。
インストールは下記の手順に従ってください。

(1) [Next] をクリック。

(2) 使用許諾契約書に同意できたら [I accept the terms in the License Agreement] にチェックをつけて、[Next] をクリック。

(3) インストール先に問題がなければ、[Next] をクリック。問題があれば適宜変更してください。

(4) ここまでの設定で問題がなければ、[Install] をクリック。問題があれば、[Back] をクリックして修正するか、インストールを中止してください。

(5) インストール中です。

(6) [Finish] をクリックしてインストーラを終了します。インストーラの終了後にEazfuscator.NETを起動したいなら [Launch Eazfuscator.NET] にチェックをつけてください。

インストール終了です。
簡単ですね?

では、次に実行してみましょう。

(1) Windows 7 の画面で恐縮ですが、スタートメニュー->すべてのプログラム->Eazfuscator.NETと進んで、Eazfuscator.NET Assistant をクリックしてください。

(2) Eazfuscator.NETが起動しました。

(3) 難読化対象のプログラムです。Bobが面倒な人間っぽく見えますがご愛敬。
[csharp]
using System;

namespace ObfuscatorTest
{
class Program
{
static void Main(string[] args)
{
IGreeting alice = new Alice();
IGreeting bob = new Bob();

alice.Greeting();
bob.Greeting();
}
}

public interface IGreeting
{
void Greeting();
}

internal class Alice : IGreeting
{
public void Greeting()
{
Console.WriteLine("Hello!! It's already {0} o'clock.", this.GetNowHour());
}

private int GetNowHour()
{
return DateTime.Now.Hour;
}
}

public class Bob : IGreeting
{
public void Greeting()
{
var time = this.TeachNowTime();
Console.WriteLine("Hello!! More precisely, It's {0}:{1}:{2}", time.Hour, time.Minute, time.Second);
}

public DateTime TeachNowTime()
{
return DateTime.Now;
}
}

}
[/csharp]

(4) Eazfuscator.NETの右側の緑の領域に、作成したプログラムをドラッグアンドドロップします。
(5) 難読化が始まります。

(6) 難読化完了。[Done] をクリックしてダイアログを閉じます。

これで終了です。
え?これだけ?って位拍子抜けです。

あ、気になったと言えば、作成したプログラムと同一のディレクトリにあったpdbファイルが難読化後消えていました。なぜ?

Conclusion

駆け足でお伝えしましたが、今日はここまでです。
というか簡単すぎですね。

次回は、難読化前後で、プログラムがどう変化したかを検証したいと思います。

コメントを残す

メールアドレスが公開されることはありません。

%d人のブロガーが「いいね」をつけました。