2011-01-13 8 views
2

.NETリフレクタに最適な逆アセンブラツールは何ですか?.NETリフレクタ用の最適な逆アセンブラツールですか?

つまり、.NETアセンブリを逆アセンブルした状態で最も読みやすく、ほとんど変更を加えずにコンパイルすることができます。

私が使用して現在のものは、単純化された列挙を示すが、のようなメンバ名となどMoveNextメソッド、との完全なIEnumerableを実装を示していません:

this.<>4__state 
CS$<>9__CachedAnonymousMethodDelegate3 

がところで私は特定のを試して、コードを盗むしようとしていないのです似たようなものを最初から書くのではなく、すでに存在するアセンブリのものに置き換えてください。結局、私がこれから学ぶのは、変更されたアセンブリではなく、そのまま残すことです。

+0

はCtrl + C、Ctrlキー+ V +をお楽しみください編集するための基本的な能力を持っているwww.DigitalbodyGuard.com

でGrayWolfをチェック変更は通常私のために働いた。 –

+0

ありがとうございます、それはまた、$などのような無効な文字のように適格でないまたは使用のように、この方法でメンバーを表示します。 –

+0

Lutz Roederだけがそれを逆コンパイルするコードを書くほどスマートです。彼は忙しいです、Microsoftは彼を雇った。彼がさらに7年間再表面化するとは思わないでください。 –

答えて

2

レッドゲートは、デコンパイルでいくつかのバグを修正しました。現在、Reflector 7ベータダウンロード:http://reflector.red-gate.com/Download.aspxで利用可能です(ページの右側に大きな赤いボタンです)。

逆アセンブラで.Net 4の最適化を使用していることを確認することもできます。これは、自動プロパティやその他の新しい構文のようなものに対して実際のソースコードに最も近いものを提供します。これを確認するには、[表示] - > [オプション]に移動し、[最適化]リストで選択した項目が.NET 4.0であることを確認します。

幸運。

+1

ありがとう、それは確かに、すべてのケースで100%ではなく、非常に良い作品。 –

1

AFAIK ReflectorはReflectorプラグインではなくILを実際にC#に変換するので、彼らはおおよそ同じコードを生成します。

Reflector.FileDisassemblerを使用してコードを修正します。コードが大量であればかなりの労力がかかる可能性があります。

2

それはILとC#を表示する機能、およびIL

関連する問題