.NETソースコード(c#またはvb)を.exeファイルにコンパイルするとどうなりますか?exeファイルの作成中に発生するプロセスを理解したいので、リバースエンジニアリングと逆コンパイルに関するいくつかの質問を確認しました(たとえば、.NET EXEを読み取り可能なC#ソースコードに逆コンパイルするにはどうすればよいですか?ユーザーが.NETアセンブリをクリックするとどうなりますか? (EXE)?)
前もって感謝します
.NETソースコード(c#またはvb)を.exeファイルにコンパイルするとどうなりますか?exeファイルの作成中に発生するプロセスを理解したいので、リバースエンジニアリングと逆コンパイルに関するいくつかの質問を確認しました(たとえば、.NET EXEを読み取り可能なC#ソースコードに逆コンパイルするにはどうすればよいですか?ユーザーが.NETアセンブリをクリックするとどうなりますか? (EXE)?)
前もって感謝します
マネージド実行プロセスには、次の手順が含まれます
コンパイラの選択
共通言語ランタイムによって提供される利点を得るには、ランタイムを対象とする 1 つ以上の言語コンパイラを使用する必要があります。
コードを MSIL にコンパイルする
コンパイルにより、ソース コードが Microsoft Intermediate Language (MSIL) に変換され、必要なメタデータが生成されます。
MSIL をネイティブ コードにコンパイルする
実行時に、ジャストインタイム (JIT) コンパイラが MSIL をネイティブ コードに変換します。このコンパイル中に、コードは、MSIL とメタデータを調べて、コードがタイプ セーフであると判断できるかどうかを確認する検証プロセスに合格する必要があります。
実行中のコード
共通言語ランタイムは、実行を可能にするインフラストラクチャと、実行中に使用できるサービスを提供します。
詳細については、こちらをご覧ください: http://msdn.microsoft.com/en-us/library/k5532s8a.aspx
次のリンクが役立つと思います。1- CLR を
説明する画像。
2- Wikipedia の .NET Framework の説明
3- .Net Framework アーキテクチャ