仕事が忙しくて、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/
現在コメントは受け付けていません。