gpt4 book ai didi

c++ - 从 native 进程加载 .NET PE 的内存

转载 作者:行者123 更新时间:2023-11-30 16:57:00 26 4
gpt4 key购买 nike

我用 C++ 编写了一个 PE 加壳器,它会将可执行文件加载到其进程空间中,修复 IAT 和重定位,然后调用入口点。

我的问题是 .NET 不受支持:我确实搜索了 .NET PE 格式,它只是一个 32 位可执行文件,入口点设置为导入函数 (_CorExeMain)。

如果我调用它,Windows 只会弹出一个错误,告诉我还没有安装 .NET。

我还了解到 .NET PE 可执行文件在 DataDirectory 中有一个特殊的 COM header ,但我不知道如何处理它。

我希望有人能帮助我。
提前致谢

最佳答案

显然,您的想法不适用于.Net。

您的“打包”可执行文件只是一个 native 可执行文件,其代码是解包程序,其数据是压缩的真实可执行文件。运行时,Windows 期望并获取 native 代码。

对于 .Net 可执行文件,您显然必须执行相同的操作:编写一个 .Net 可执行文件,其代码是解包程序,其数据是压缩的 .Net 字节码。

关于c++ - 从 native 进程加载 .NET PE 的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39702279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com