Windows下动态加载的库的地址范围
我有一个工作程序,用
新要求:在代码中的某个时刻,我给了一个指针,我需要测试这个指针是否指向插件的代码或静态数据. bool is_pointer_into_plugin(void *p,HMODULE h); 同样地,我需要检索指针所指向的插件(如果有的话).我还需要知道指针是指向主程序的代码还是静态数据(理想情况下,区分只读区域和读写区域). HMODULE plugin_containing_pointer(void *p); 同样,我需要能够检索插件映射的范围(地址和大小).我还需要这个主程序的信息. 我如何实现is_pointer_into_plugin,plugin_containing_pointer或类似的东西? 如有必要,我可以将调用更改为LoadLibrary.查找应该尽可能快,加载时代码不需要很快.在单独的进程中运行插件并通过共享内存进行通信不是一种选择.该程序必须在Windows XP及更高版本上运行(和Linux,但那是another question). 我需要的信息或多或少是Sysinternals实用程序 >我可以看到一个DllBase看起来可能是每个DLL的起始地址(是吗?),但没有大小. 如何枚举插件的地址范围,或者测试指针是否在插件中,或者确定指针指向哪个插件? 带有GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS标志的GetModuleHandleEx 将告诉您指针指向哪个模块.从那里你可以研究模块标题来找出哪个部分.但整个练习闻起来很有趣.你为什么关心指针指向哪个插件? (编辑:百色站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-8 – 在MetroStyle应用程序中使用COM对象
- api – Windows Phone应用程序中的捐赠
- 找出占用Installer 目录空间的元凶
- wpf – Windows 8 XAML多列文本
- windows-installer – installshield和windowsinstaller之间
- winapi – Win32 No-MFC中的消息映射
- .net – 为什么我无法在2.0.0.0播放器框架中重用1.8.2.2 Pl
- 使用Windows Power Management API调暗监视器
- windows修改PowerShell(命令提示符)默认中文编码方式
- Windows Mobile 6.5手势和C#2.0应用程序
- npm ERR!注册表错误解析json – 尝试在Windows
- windows-server-2008 – IIS可以从GPU核心创建线
- Windows 10 下彻底关闭 Hyper-V 服务
- windows – 为什么输出传输时某些“for”命令不起
- xaml – Windows 8 App,更改BackButtonStyle的颜
- Microsoft Dynamics(Navision)vs C#.NET
- Windows上的64位版Octave
- windows-7 – 在windows7中设置JRE路径的要求,如
- windows – 如何人为地将CPU加载到某个百分点?
- adodb – Windows脚本宿主(jscript):我如何下载