繁体   English   中英

如何找到dll的最小和最大地址

[英]How to find minimal and maximal address of dll

我通过注入 dll 扫描进程内存并读取它的内存。 问题是我也读取了dll的内存。 有人知道该怎么做吗?

使用GetModuleInformation ,它可以接受远程进程的HPROCESS和注入的 DLL 的HMODULE ,并在MODULEINFO结构中返回以下信息:

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

所以你可以通过lpBaseOfDll字段知道你注入的 DLL 的起始地址,通过lpBaseOfDll + SizeOfImage知道结束地址。


这也适用于使用GetCurrentProcess和例如GetModuleHandle当前进程中的 DLL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM