web-dev-qa-db-ja.com

.net逆アセンブラー/逆コンパイラー

逆アセンブラー以上、.netの逆コンパイラーを探しています。状況は、私の前任者の1人が作成したアセンブリのソースコードが失われているので、それが何をしているのかを確認したいと思います。

IldasmがVisual Studioのインストールに付属しているので、MSILに到達できることはわかっていますが、C#コード(または最良の近似)に戻るのに十分なプログラムがあることを望んでいました。

このためのツールはありますか?

(そうでない場合、私が座ってMSILを学び始めるのは良い言い訳になると思います)

26
Dana

リフレクターを見たことがありますか?

http://www.red-gate.com/products/reflector/

40
overstood

Red Gateが.NET Reflectorツールの課金を開始したので、代わりにこれらの無料の代替品を確認することをお勧めします...

Telerik JustDecompile

JetBrains dotPeek

(オープンソース)ILSpy

55
Phil Wright

Reflectorが最適ですが、何らかの理由でそれを使用できない場合、MicrosoftはILDasmと呼ばれる逆アセンブラをフレームワークに同梱しています。

MSILの知識を得るための優れた情報源は、Serge Lidin著の本 Expert .NET 2.0 IL Assembler です。

7
Brian Rasmussen

。NET Reflector はこのための通常のツールです。

2
mqp
1
BFree

OK、

プロジェクトに挑戦しました。 ILSpy

Telerik JustDecompile

.NET Reflectorデモ

すべてがVisual C#プロジェクトを作成できます。生成されたコードは、JustDecompileおよびReflector用にコンパイルされませんでした。あるケースでは、ILSpyはコンパイルされたコードを作成しました(参照を設定する必要がありました)。IlSpyのミスは、他のミスほど複雑ではありませんでした。 C#を十分に理解していれば、生成されたすべてのコードを修正できます。

興味深い方向性を使用して、JustDecompileとIlspyの両方を使用してコードを逆コンパイルし、正しいコードをマージすることができます。

1
Aftershock