逆コンパイル

.Net用の逆コンパイルツールには「.NET Reflector」や「ILSpy」などがあり、これを使う事でexeファイルやdllファイルからソースコードを読み取れてしまう。
使ってみたところ、完全に復元できる訳ではないみたいだけど、だいたいは合っている。

以下のソース(dll)に使ってみた。

public class Class1
{
	private string message;

	public Class1()
	{
		message = CreateMessage();
	}

	private string CreateMessage()
	{
		return "Hello World";
	}

	public string GetMessage()
	{
		return message;
	}
}


逆コンパイル!!
f:id:kidd0320:20120216112138g:plain

privateにした部分も普通に見れる。
隠したい部分もバレバレになる。
これはヤバい。

対策としてコードの難読化する「Dotfuscator」といったツールもあるみたい。
見られたくなけなければこういうのを使わないとダメみたいだ。

javaにも同じような逆コンパイルツールがあるみたいだけど、みんなどうしてるんだろ?