首页
社区
课程
招聘
[旧帖] NtOpenProcess被HOOK,跳回原函数地址后仍然无法看到进程 0.00雪花
发表于: 2013-1-5 13:22 9529

[旧帖] NtOpenProcess被HOOK,跳回原函数地址后仍然无法看到进程 0.00雪花

2013-1-5 13:22
9529
2013/1/3
看过郁金香的驱动视频后,其中第十一集讲到用工具可以恢复游戏的HOOK,
只要在被修改的地方的头部加一个jmp跳回到原来函数就行了,于是去实践.
在虚拟机内装了某游戏,运行游戏后用XT工具查看游戏HOOK的函数,
如下:


游戏的进程为:Game.exe

用普通的OD查看附加列表时看不到游戏进程的:


通过搜索得知是NtOpenProcess被hook的缘故.
所以用工具把hook的地址头部做JMP跳回原函数地址.
用工具查看得知原函数地址为:0x805CC3FC
现在的地址为:0xB078FBD0
用Kernel工具在当前地址做修改把第一条汇编指令修改为 jmp 0x805CC3FC

然后重新用OD查看进程列表

查看后发现还是没有看到目标游戏进程,我怀疑时我修改的JMP被游戏修改回来了,于是我冲洗你查看修改的地方.
发现并未被游戏修改回来,请问为什么会出现这种状况?
本人刚开始学习驱动,虚拟机winDbug调试器装好了,这个驱动并没有拦截双机调试,所以可以再WinDbug下调试,希望大家能指点.

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (24)
雪    币: 79
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不明觉厉,但是xuetr中好像自带有修复hook的选项,可以用这个修复hook然后与这个对比下就可以看出区别
2013-1-5 14:19
0
雪    币: 16
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
什么游戏!可以一起研究
2013-1-5 14:23
0
雪    币: 523
活跃值: (278)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
这个游戏如果恢复了HOOK 他会自动又给HOOK上 XT的恢复对他没用
2013-1-5 14:29
0
雪    币: 523
活跃值: (278)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
5
我也是新手拿这个游戏练手,新水浒Q传 搜狐的游戏
我的邮箱是jmp8@qq.com  希望能一起学习交流
2013-1-5 14:30
0
雪    币: 79
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
用windbg一步一步跑不知道行不行?
2013-1-5 14:39
0
雪    币: 523
活跃值: (278)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
7
额 ,表示刚学驱动不会分析 能教教我么  jmp8@qq.com
2013-1-5 15:20
0
雪    币: 523
活跃值: (278)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
8
额 ,表示刚学驱动不会分析 能教教我么  jmp8@qq.com
2013-1-5 15:21
0
雪    币: 79
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我也是菜鸟,你就用windbg在NTOpenProcess入口点的地方下断点,xuetr里面有真实函数地址和hook后的函数地址都下断点,然后自己编写一个程序用OpenProcess打开这个ID,然后在自己搞把!这是我在想我要研究这个用的方法,我也是菜鸟,也不知道说的对不?
2013-1-5 16:01
0
雪    币: 1392
活跃值: (5107)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
10
不能显示这个进程不关openprocess的事。打不开进程才是这个函数。 找不到进程是其他钩子的问题
2013-1-5 16:41
0
雪    币: 523
活跃值: (278)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
11
求指点 是什么函数?
2013-1-5 16:49
0
雪    币: 1392
活跃值: (5107)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
12
就你上传的图来看,SSDT 和ShadowSSDT都没有关键的HOOK。你去内核钩子部分看看,看看是不是还有内核的字节钩子
2013-1-5 16:51
0
雪    币: 248
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
有个更简单的方法,不过我怕说了会被和谐
2013-1-5 17:51
0
雪    币: 523
活跃值: (278)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
14
额.你可以私聊我  jmp8@qq.com
2013-1-5 18:08
0
雪    币: 523
活跃值: (278)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
15
这个内核钩子的地方.不过感觉跟ntopenprocess没什么关系


上传的附件:
2013-1-5 18:15
0
雪    币: 773
活跃值: (442)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
16
NtOpenProcess 这个函数是打开进程句柄,并非枚举进程,OD附加进程列表无法找到调试进程是因为调试进程隐藏了。
2013-1-5 19:09
0
雪    币: 523
活跃值: (278)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
17
这个是普通的OD看不到进程  如果用加了内核插件的OD就能看到进程 但是无法附加
2013-1-6 09:30
0
雪    币: 1392
活跃值: (5107)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
18
http://bbs.pediy.com/showthread.php?t=156865 虚拟机试试。这个,复制一个内核驱动ntxx.exe改名为kernel.dll,放到DLL 以及INI一起。注入HkkernelDbg.dll到 原版OD。看看是不是能OK。INI配置全部=1
2013-1-6 11:25
0
雪    币: 773
活跃值: (442)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
19
无法附加的原因很多,比如打不开进程 附加进程API被HOOK了
2013-1-6 14:27
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
没怎么看明白,有人说下吗
2013-1-6 15:06
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
挺想知道答案的
2013-1-7 00:55
0
雪    币: 72
活跃值: (230)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
顶  求大神解答一下
2013-2-17 19:22
0
雪    币: 1530
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
可能被DKOM斷鏈了
http://bbs.pediy.com/showthread.php?t=70089
2013-2-17 20:00
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
用双机调试下不就可以了嘛,不过TMD有的游戏驱动保护什么的,有反双机调试的要先把双机调试搞定,再去弄这些反R3层调试的的东西
2013-3-3 19:16
0
雪    币: 59
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
撸主我告诉你吧,你HOOK的位置没对,你只打函数头给HOOK,OpenProcss这个函数一般都是深层inLineHOOK,所有你最终于还是没绕过他的保护
2013-3-5 12:06
0
游客
登录 | 注册 方可回帖
返回
//