私はかつて .NET Reflector を愛用していましたが、Red Gate Software が引き継いで以来、劇的に衰退しました。今では更新を余儀なくされ (これはまったくばかげています)、半分の時間で更新がスムーズに進まず、更新のたびに私の生産性がますます妨げられています。私はそれにうんざりしていて、もっと良いものを作る準備ができています。より良い逆アセンブラはありますか?
アップデート:
回答に記載されているさまざまな選択肢のリスト -
私はかつて .NET Reflector を愛用していましたが、Red Gate Software が引き継いで以来、劇的に衰退しました。今では更新を余儀なくされ (これはまったくばかげています)、半分の時間で更新がスムーズに進まず、更新のたびに私の生産性がますます妨げられています。私はそれにうんざりしていて、もっと良いものを作る準備ができています。より良い逆アセンブラはありますか?
アップデート:
回答に記載されているさまざまな選択肢のリスト -
SharpDevelopによる ILSpyもご覧ください。開発の初期段階にあり、2 月 24 日にリリースされたばかりです。それ自体は私にとってかなりうまくいきます。彼らのウェブサイトから:
ILSpy は、オープン ソースの .NET アセンブリ ブラウザーおよび逆コンパイラーです。
Red Gate が .NET Reflector の無料バージョンが 2011 年 2 月末までに存在しなくなると発表した後、開発が開始されました。
更新: JetBrains は、無料の .NET 逆コンパイラである dotPeek をリリースしました。
更新 2 : Telerik には、無料の逆コンパイラー JustDecompileもあります。
JetBrains は、ReSharper に逆コンパイラを追加し、スタンドアロンの逆コンパイラもリリースする予定です。
良いニュースは、スタンドアローンのソース アプリケーションとしてのバイナリを準備していることです。つまり、逆コンパイラ + アセンブリ ブラウザを使用して、.NET でコンパイルされたコードを探索することが合法です。リリースの具体的な日付はありませんが、今年リリースされる予定で、無料になる予定です。そして、「無料」とは、実際には「無料」を意味します。
更新: JetBrains はdotPeekと呼ばれる製品をリリースしました。ここで見つけることができます。
私の意見では、注目すべき 3 つの重大な代替手段があり、それらはすべて無料です。
これらはすべて、異なる UI を使用して、わずかに異なる方法で問題にアプローチします。それらをすべて試してみて、どれが好きかを確認することをお勧めします。
ここで言及されていない他のいくつか -
Mono Cecil : Cecil を使用すると、既存のマネージド アセンブリを読み込んで、含まれているすべての型を参照し、それらをその場で変更して、変更されたアセンブリをディスクに保存し直すことができます。
Kaliro : これは、Microsoft.Net フレームワークを使用して構築されたアプリケーションのコンテンツを調査するためのツールです。
Dotnet IL Editor (DILE) : Dotnet IL Editor (DILE) を使用すると、ソース コードや .pdb ファイルを使用せずに .NET 1.0/1.1/2.0/3.0/3.5 アプリケーションを逆アセンブルおよびデバッグできます。それ自体または .NET Framework のアセンブリを IL レベルでデバッグできます。
Common Compiler Infrastructure : Microsoft Research Common Compiler Infrastructure (CCI) は、一連のライブラリとアプリケーション プログラミング インターフェイス (API) であり、コンパイラおよび関連するプログラミング ツールに共通する機能の一部をサポートします。CCI は主に、.NET ポータブル実行可能 (PE) およびデバッグ (PDB) ファイルを作成、変更、または分析するアプリケーションによって使用されます。
Red Gate の最新バージョンは 6.1 です。ただし、5.1 バージョンはバージョン 6 に自動的に更新できません。これは、利用規約に変更があったためです。代わりに、6.1 バージョンをダウンロードするサイトにリダイレクトされます。次の投稿で確認できるように、これは主に法的な理由によるものです。
おい!.NET Reflector の更新メカニズムはどうなっていますか?
手動で 6.1 に更新すると、問題は発生しなくなります。
自動アップデータを使用する代わりに、EXEファイルのプロパティを読み取り専用に設定するだけです。そうすれば、ファイルは削除されません。
ここであなたが本当に何を望んでいるのかわかりません。.NET フレームワークのソース コードを見たい場合は、Netmassdownloaderを試すことができます。それは無料です。
(.NET だけでなく) 任意のアセンブリのコードを見たい場合は、ReSharperを使用できます。無料ではありませんが。
9Rays には逆コンパイラがありましたが、しばらくチェックしていませんでした。それは無料ではなかった、私は覚えている...
Dis# という名前の (少なくとも私にとっては) 新しいものもあります。