首页
社区
课程
招聘
[旧帖] [求助]Dependency Walker看到的User32.dll基地址和实际基地址误差在哪里? 0.00雪花
发表于: 2015-11-15 19:32 2169

[旧帖] [求助]Dependency Walker看到的User32.dll基地址和实际基地址误差在哪里? 0.00雪花

2015-11-15 19:32
2169
书上的意思是user32.dll的基地址加上MessageBoxA的偏移地址就是MessageBoxA在内存中的地址:

然后:
  mov eax, 0x77D804EA
  call eax
调用MessageBoxA函数。(上面这张图片Dependency下User32.dll地址0x77D40000,MessageBoxA偏移0x404EA)
(我去百度下怎么插入图片~~~  o(╯□╰)o)

这是我自己电脑上的:
  
相加得到的MessageBoxA地址:0x77D6EA71
(上面这张图片Dependency下User32.dll地址0x77D10000,MessageBoxA偏移0x5EA71)
mov eax, 0x77D6EA71
call eax
程序崩溃了

OD上下的MessageBoxA断点地址为:0x7709EA71
使用LoadLibrary("user32.dll");得到的地址为0x77040000,加上偏移地址5EA71正好是0x7709EA71,修改下:
mov eax, 0x7709EA71
call eax
也成功使用MessageBoxA函数。

啰嗦了那么多就想问下:Dependency Walker看到的User32.dll基址跟LoadLibrary得到的为什么会不一样?
书上的直接加就行了呀,我自己电脑为什么不能使用Dependency Walker看到的User32.dll基地址。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//