なぜ.NETアセンブリを簡単に逆コンパイルできるのですか?
.NET EXEファイルを簡単に逆コンパイルできる主な理由は何ですか?
アプリケーションコードを難読化するために使用できるソフトウェアはたくさんありますが、保護のために難読化する必要があるのはなぜですか?マイクロソフトは基本的に知るのを難しくしませんでしたか?主な理由は、.NETコードをILコードに変換する必要があるということでしょうか?これは本当ですか?
なぜ.NETアセンブリを簡単に逆コンパイルできるのですか?
.NET EXEファイルを簡単に逆コンパイルできる主な理由は何ですか?
アプリケーションコードを難読化するために使用できるソフトウェアはたくさんありますが、保護のために難読化する必要があるのはなぜですか?マイクロソフトは基本的に知るのを難しくしませんでしたか?主な理由は、.NETコードをILコードに変換する必要があるということでしょうか?これは本当ですか?
IL コード (.NET アセンブリに含まれるもの) は、CPU アセンブリ (x86、ARMなど)、これははるかに低レベルであり、簡単ではありません(さまざまなレジスタなどがあるため)。
そのため、C# コンパイラが IL コードにコンパイルすると、元の C# コードを構築 (推測) するのがはるかに簡単になります。
なぜマイクロソフトはそれをしなかったのですか?断固たるハッカーからコードを保護することはできないからです。最大のソフトウェアプロバイダーのように、彼らはこのような組み込みのものを作りませんが、ニーズとポケットサイズに基づいて最も適切なツールを選択できるツールの市場を持つことができます.
DotPeek または Reflector を使用して .NET DLL を開くと、IL が選択した言語のコードに変換されます。これを視覚化することが重要です。これは、記述されたものとまったく同じコードが返されるわけではなく、同じ IL を生成するコードだけが返されるためです。