-
-
[旧帖] [求助]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基地址。
然后:
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直播授课
赞赏
看原图
赞赏
雪币:
留言: