.net用の逆アセンブラ以上の逆コンパイラを探しています。前任者の一人が書いたアセンブリのソースコードがなくなってしまったので、それが何をしているのか見てみたいと思います。
ildasmにはVisualStudioのインストールが付属しているので、MSILにアクセスできますが、C#コード(または最適な近似値)に戻るのに十分な賢いプログラムがあることを期待していました。
このためのツールはありますか?
(そうでない場合は、座ってMSILを学び始めるのは良い言い訳になると思います)
Red Gate が .NET Reflector ツールの課金を開始したので、代わりにこれらの無料の代替ツールをチェックしてみてください...
リフレクターを見たことがありますか?
Reflector が最適な方法ですが、何らかの理由でそれを使用できない場合、Microsoft は ILDasm と呼ばれる逆アセンブラーをフレームワークと共に出荷しています。
MSIL の知識を深めるには、Serge Lidin著の『 Expert .NET 2.0 IL Assembler 』という本が役立ちます。
.NET Reflectorは、このための通常のツールです。
Ok、
プロジェクトに挑戦してみました。ILSpy
Telerik JustDecompile
.NET リフレクターのデモ
すべてが Visual C# プロジェクトを作成できます。生成されたコードは、JustDecompile および Reflector に対してコンパイルされませんでした。あるケースでは、ILSpy はコンパイル済みのコードを作成しました (参照のみを設定する必要がありました)。 IlSpy は他のケースほど複雑ではありませんでした。C# を十分に理解していれば、生成されたすべてのコードを修正できます。
JustDecompile と Ilspy の両方を使用してコードを逆コンパイルし、正しいコードをマージするという興味深い方向性を使用できます。