仕事が忙しくて、2週連続でお休みしてて申し訳ない。

ということで、またまたC#です。

今回は、C#に標準の逆アセンブラがあるらしいので、それを調べてみた。

 

Visual Studio .NET 2003だと、直接ファイルを実行しないと駄目らしい。

場所はここ > C:Program FilesMicrosoft Visual Studio .NET 2003SDKv1.1Binildasm.exe

Visual Studio 2005 だと、スタートメニューから、起動できる。

Microsoft .NET Framework SDK v2.0 > Tools > MSIL 逆アセンブラ

MSIL 逆アセンブラの説明らしきもの。>http://msdn2.microsoft.com/ja-jp/library/f7dy01k1(VS.80).aspx

スタートメニューから、逆アセンブラが起動できるとは、Microsoftもなかなかやるなー。 

 

起動するとウィンドウが開くので、そこへDLLとかEXEとかをドラッグすればOK。

ちなみに、.netで作ってないDLLやEXEは当然読めない。

ということで、今の仕事でやられ気味のAutoCADのDllを突っ込んでみる。

・・・。

・・・。

・・・。

なんというか、当然なんだけど、MSIL(Microsoft Intermediate Language)で出力されるわけで。

処理の大半はロード、ストア、コールとかしか出てこなくて、ひたすら読みづらい。

 これをさらにC#とかに変換できないものかねー。このままなら、クラスビューで十分な気がする。

 

結論、逆アセンブラはそのままではイマイチでした。いじょ。 

MSILをさらに変換できれば、あるいは。。ってこれCodedomと同じ話になって来てるなぁ。ILの勉強でもしてみるかね。

カテゴリー: 技術情報

1件のコメント

squld · 2007-06-13 03:36

僕はReflectorって言うの使ってるよ。
逆アセンブルしたものをC#やVB.NETに変換することもできる。

かなりイイ感じです。
http://www.aisto.com/roeder/dotnet/

現在コメントは受け付けていません。