关于DLL装载的问题

Areslee 2003-02-08 07:47:16
DLL可以被装载到内存中的任何地址空间,但是PELOADER是怎么对DLL中的变量进行重定位的呢?
...全文
48 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Areslee 2003-02-25
  • 打赏
  • 举报
回复
其实早就自己解决了,不过不想给那两个灌水的家伙分而已
ahao 2003-02-24
  • 打赏
  • 举报
回复
你去看看PE格式的教程,里面都有详细解释的,基本的思想就是相对地址
yndfcd 2003-02-24
  • 打赏
  • 举报
回复
可能用Toolhelp function得到模块所加载到的地址。
PVOID GetModuleAddress(TCHAR* strModuleName)
{
HANDLE hSnapshot = CreateToolHelp32SnapShot(TH32SN_SNAPMODULE, processID);
MODULEENTRY32 me;
Module32First(hSnapshot , &me);
while(strcmp(me.szModule, strModuleName);//strModuleName为要读取地址的模块名。
{
Module32Next(&me);
}
return me.modBaseAddr;
}

Areslee 2003-02-24
  • 打赏
  • 举报
回复
顶!
Rigel 2003-02-09
  • 打赏
  • 举报
回复
抢抢抢,呵呵
13161795500 2003-02-09
  • 打赏
  • 举报
回复
UP!抢分!
Areslee 2003-02-09
  • 打赏
  • 举报
回复
不至于这么无聊吧?

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧