gpt4 book ai didi

c++ - 获取加载到内存中的 DLL 或 EXE 代码段的大小

转载 作者:行者123 更新时间:2023-11-28 08:08:02 25 4
gpt4 key购买 nike

我可以使用 GetModuleHandle 来获取它的基址偏移量,但我还需要知道 DLL 或 EXE 的代码段的大小。例如,我需要在这段代码中估计 nSize:

char aCrashSignatureBytesAtEIP[] = { 0x87, 0x12, 0x00, ... };
char* pBaseOffset = (char*) GetModuleHandle(NULL);
int nSize = ???;
for (int i = 0; i<nSize; i++)
if (!memcmp(&pBaseOffset[i], aCrashSignatureBytesAtEIP, sizeof(aCrashSignatureBytesAtEIP)))
{
printf("Crash signature found at offset %p", &pBaseOffset[i]);
}

最佳答案

PSAPI给你这个:GetModuleInformation函数返回你 MODULEINFO具有图像基地址和大小的结构。

typedef struct _MODULEINFO {
LPVOID lpBaseOfDll;
DWORD SizeOfImage;
LPVOID EntryPoint;
} MODULEINFO, *LPMODULEINFO;

关于c++ - 获取加载到内存中的 DLL 或 EXE 代码段的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9850781/

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