gpt4 book ai didi

c++ - 如何获取子进程的入口点?

转载 作者:太空宇宙 更新时间:2023-11-04 12:27:31 24 4
gpt4 key购买 nike

我使用 CreateProcess() 从我的进程中创建了一个子进程(在 C++ 中)然后我继续使用 ReadProcessMemory 读取内存并搜索特定内容。

我想从那个进程的入口点开始我的搜索,因为这个进程被加载到它自己的虚拟空间我现在不知道如何找到代码本身的入口点(我不关心关于 PE 文件的其他部分),我知道 PE 格式的“AddressOfEntryPoint”字段并且我已经有了它,但由于我不知道该进程将加载到哪个地址,我该如何计算入口点本身?

为了演示我想要什么,例如,如果您使用 OllyDbg 打开一个进程,您会立即到达代码的入口点,我想要那个地址

请记住这是我创建的一个子进程,如果有帮助的话

让我提一下,我不想将任何代码或 DLL 注入(inject)该应用程序以找出该地址

最佳答案

使用 PSAPI 的 GetModuleInformation HMODULE 为 NULL。这将为您提供可执行文件的入口点以及内存中的总大小(不幸的是,未设置基地址。)

请注意,入口点不一定是 main() 函数 - 它可能是 CRT 的依次调用您的 main() 的入口点。

您还可以使用 EnumProcessModules获取进程中的所有模块及其基址。

关于c++ - 如何获取子进程的入口点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1363849/

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