Roy*_*hti 0 c c++ memory windows winapi
假设有以下代码 -
HANDLE h = CreateFile(L"some_dll.dll", GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_DELETE,
NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
HANDLE map = CreateFileMapping(h, NULL, PAGE_READONLY | SEC_IMAGE, 0, 0, NULL);
LPVOID res = MapViewOfFileEx(map, 0, 0, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)
是否有可能使用c ++提取'some_dll',给定它映射到的地址?
当尝试使用windbg调试此可执行文件时,似乎它也不能很好地提取模块
是的,这正是GetMappedFileName的用途:
检查指定的地址是否在指定进程的地址空间中的内存映射文件中.如果是,则该函数返回内存映射文件的名称.
PS:没有理由windbg显示不是加载模块的内存映射文件的名称,即使该文件恰好是DLL.
| 归档时间: |
|
| 查看次数: |
396 次 |
| 最近记录: |