首页
社区
课程
招聘
[求助]UnHOOK时碰到的全局变量重定位的问题.
发表于: 2010-4-21 10:28 3978

[求助]UnHOOK时碰到的全局变量重定位的问题.

2010-4-21 10:28
3978
大家好..
我在试图实现一个RING3的UnHook程序
碰到这样一个具体的问题...

在程序A中对方Inline Hook了NTDLL里的某个函数,我用HookShark恢复后是这样的
push 8
push 7CE80040  ****
CALL 7C92E8CB

由于NTDLL总是被加载至建议模块装载地址(XP)...所以实际上我都不需要处理重定位问题..
但在我的程序B的NTDLL里
这个函数该处的指令时
PUSH 8
PUSH 7C971E60  ****
CALL 7C92E8CB

看起来是7C971E60这个全局变量被重定位了?

可是怎么会呢?既然大家的NTDLL都被加载到7C920000,那怎么会全局变量被定位到不同的地址?

是我有什么理解不到位么?

HOOKSHARK是基于什么将第二条指令恢复成push 7CE80040而不是PUSH 7C971E60的?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 53
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
进展...看起来应该是HOOKSHARK的工作没做到位...
HOOKSHARK做UNHOOK的时候..若指令为push addr,则只恢复push 不恢复addr,导致有2个原来HOOK遗留下的字节..
2010-4-21 11:13
0
游客
登录 | 注册 方可回帖
返回
//