6

.NETアプリは保護が難しいことを知っています。私はRedGateReflectorを使用しており、一般的に言えば、多くの.NETdllからソースコードを取得できることを知っています。

しかし、私の質問は-アプリケーション全体を逆コンパイルすることは実際に実行可能ですか?

つまり、実行可能なVSソリューションを作成して、海賊がF5キーを押すだけで、作成者が自分のマシンにいる場合とまったく同じ結果を得ることができるようにしますか?

4

6 に答える 6

4

Reflectorには、アセンブリをコードにダンプできるプラグインがいくつかあります。

http://www.denisbauer.com/home/reflectorfiledisassembler

http://filegenreflector.codeplex.com/

しかし、それでプロジェクトファイルを作成できるかどうかはわかりません。

于 2010-06-23T19:44:14.373 に答える
1

小さなアプリケーションの場合、それは可能であり、実行可能です。クラスを1つずつ逆コンパイルし、コードをコピーしてVisualStudioに貼り付ける必要があります。

大規模なアプリケーションの場合、可能ではありますが、コピー/貼り付けプロセスが非常に面倒になるため、実際には実行できません。

于 2010-06-23T19:43:40.133 に答える
1

それは本当にあなたが書いているコードの種類に依存します。ラムダ式、自動プロパティ、yieldなど、C#3以降の多くの新機能を使用する場合、逆コンパイルされたソースコードは実行できず、コンパイルするにはかなりの作業が必要です。

これらの機能がなくても、私は通常、完全なwinformsアプリケーションの逆コンパイルされたソースコードをコンパイルする際に少なくともいくつかの問題を経験しました。

于 2010-06-23T19:44:25.920 に答える
1

複数のアセンブリで構成されるアプリの場合、これを完全に自動化するものはないと思いますが、自分でソリューションにそれらをつなぎ合わせるのはそれほど難しいことではないと言えます。大きなアプリの場合は少し面倒かもしれませんが、本当にやりたいのであれば、それは確かに実行可能です。

幸いなことに、私はそれについてそれほど心配していませ ん。

于 2010-06-23T19:44:43.250 に答える
1

最近、.NETアプリケーションを逆コンパイルから保護する多くの難読化ツールがあります。そのような難読化ツールの1つは、http://www.red-gate.com/products/smartassembly/index.htmです。彼らはあなたのよく構造化された.NETILコードを逆コンパイラーが元のコードを生成できないspegattiコード(それでも機能する)にしようとします。海賊が再コンパイル可能なコードを取得できないことを100%確信しているわけではありませんが、難読化ツールを使用する場合、逆コンパイルするのは簡単ではありません。

于 2010-06-23T19:45:19.383 に答える
1

はい、Reflectorからエクスポートするだけで、アセンブリ用の完全な実行可能なプロジェクトを取得できます。私はそれを数回やりました。通常、プロジェクトを自分のバージョンのVSに移行する必要があり、場合によってはマイナーな修正が必要になりますが、通常は機能します。

于 2012-07-06T20:48:34.633 に答える