古い質問: IL (.NET) コードを含む .exe (PE) があります。開始されると、mscorlib.dll (.NET フレームワーク) 関数が呼び出されて IL コードが開始されます。.NET コード セグメントを抽出し、それを他のプログラム (mscorlib.dll を呼び出してそのセグメントを実行するプログラム) に追加できますか?
新しい質問:
C# .NET プログラムからのコンパイル済みコードを、.NET ランタイムなしで実行できるネイティブの純粋な Win32 アプリケーションに追加し、.NET が存在する場合は mscorlib.dll の関数を動的に呼び出して実行したいと考えています。これは、ネイティブ コンパイルではなく、「実行可能ジョイナー」テクニックのようなものです。
.NET .exe を一時ディレクトリに書き込んで実行したくありません。それはすでに行われており、ファイル内の.NETコードで.NET vmを直接呼び出して一時フォルダーを削除したい(見つかった構造/セッションのオフセットを与えるか、正しいPE .section名を割り当てるだけで-知っているだけ) PortableExecutable 形式について少し説明します)。