2011-01-11 8 views
4

私は仕事中のC#プログラムを維持していますが、ハードディスクのクラッシュのため、既に配備されているバージョンのコードが大量に失われました(gitリポジトリを頻繁にプッシュしない十分)、今私はプログラムにいくつかの変更を加える必要があります。私はプログラムの古いバージョンのソースコードを持っていると私は、exeファイルを逆コンパイルし、失われたコードを復元するために古いソースとマージしたい。部分的なソースコードを利用したC#Exeの逆コンパイル

私はリフレクターのようなツールで逆コンパイルすることができますが、古いコードと手作業でマージしたくないことを知っています。それは可能ですか、手動でコードをダンプする必要がありますか?

+0

はるかに優れています。 Reflectorは.NETの逆アセンブリ/逆コンパイルに最適なツールであり、それはうまく機能します... – fardjad

答えて

7

古いコードを再コンパイルし、リフレクターで逆コンパイルすることをお勧めします。

次に、現在の実行可能ファイルをリフレクタで逆コンパイルし、それらの2つをdiffします。そうすることで、あなたは変更を見ることができ、逆コンパイルされたコードと元のソースを比較するのではなく、古いソースコードに適用することができます。ひとこと!)。

正直言って、それよりもうまくいく方法はわかりません。もちろん、手作業のプロセスになりますが、まだ時間を節約するはずです。

+0

優れたアイデア! – gsharp

+0

非常に良い提案。私は他の提案を待つためにしばらく質問を残しますが、私はこれを後で受け入れると思います。 – dbemerlin

+0

必ずしもpatchを使ってdiffを適用することはできますが、完全に自動です。もちろん、これはあなたがdiffを完全に承認することを前提としています。 –

0

私はこれを1回しなければなりませんでした。私はDis#をお勧めします。

編集:
は今、ILSpyは、私は、自動化逆コンパイルユーティリティを知らないと、私は利用可能な、このようなユーティリティが実際に存在しないと思います

+0

Dis#は私の問題を解決するためにリフレクター以上のことをしていないようだし、問題にお金を費やすことができないので、私はそれの非常に限られた試練しかできない。 – dbemerlin

+0

私はリフレクターが何をすることができるのか正確にはわかりませんが、Dis#は一度に(C#またはVB.NETまたはDelphi.NETで)すべてのソースファイルを作成できるだけでなく、Visual Studioプロジェクト全体、すべての参照を追加します。最後に私が試したのは、私が逆コンパイルしたプロジェクトです... PS:私はあなたのためにやりたいと言いました(あなたが望むなら)。はいの場合、あなたのメールアドレスを教えてください。 –

関連する問題