.NET exe を起動すると、正確には何が起こりますか? C# が IL コードにコンパイルされていることは知っています。生成された exe ファイルは、ランタイムを開始して IL コードを渡す単なるランチャーだと思います。しかし、どのように?そして、それはどれほど複雑なプロセスですか?
ILコードはexeに埋め込まれています。通常のexeはそうではありませんが、ディスクに書き込むことなくメモリから実行できると思います(はい、非常に複雑です)。
私の最終的な目的は、IL コードを抽出し、独自の暗号化されたランチャーを作成して、scriptkiddies が Reflector で私のコードを開いて、すべてのクラスを簡単に盗むのを防ぐことです。リバース エンジニアリングを完全に防ぐことはできません。彼らがメモリを検査し、純粋な IL をランタイムに渡す瞬間を捉えることができれば、それが .net exe であるかどうかは関係ありませんね。いくつかの難読化ツールがあることは知っていますが、IL コード自体を台無しにしたくありません。
編集:私が望んでいたことを試す価値はないようです。いずれにせよクラックされるだろう...だから私は難読化ツールを探すことにする。はい、私の友人も、すべてのシンボルの名前を意味のない名前に変更するだけで十分だと言いました。結局のところ、リバース エンジニアリングはそれほど簡単ではありません。