老问题:我有一个带有 IL (.NET) 代码的 .exe (PE)。启动时,会调用 mscorlib.dll(.NET 框架)函数来启动 IL 代码。我可以提取 .NET 代码段并将其附加到其他程序(调用 mscorlib.dll 来执行该段)吗?
新问题:
我想将 C# .NET 程序中的编译代码附加到本机纯 Win32 应用程序,该应用程序可以在没有任何 .NET 运行时运行的情况下运行,并通过动态调用 mscorlib.dll 的函数来执行它(如果存在 .NET)。这就像“可执行连接器”技术,而不是本机编译。
我不想将一些 .NET .exe 写入临时目录并执行它;它已经完成,现在想通过在我的文件中的 .NET 代码上直接调用 .NET vm 来删除临时文件夹(通过给出找到的结构/会话的偏移量,或者只是通过分配正确的 PE .section 名称 - 只知道一点关于 PortableExecutable 格式)。