首页
社区
课程
招聘
Ring3 下 NT5.x 监视进程创建,Hook 哪个函数更合理?
发表于: 2016-7-31 12:43 6297

Ring3 下 NT5.x 监视进程创建,Hook 哪个函数更合理?

2016-7-31 12:43
6297
我搜索了论坛中关于 Ring3 下 Hook NtCreateSection 的问题,基本上困扰在取进程路径和名称上面了。但这是目前我了解到可 Hook 的的最靠谱的 API 了。

问题1:Ring3 下,Hook NtCreateSection 目前没有办法取到进程路径信息吗?
问题2:如果问题1无法处理,那是否有 Ring3 下更可靠的方案(Hook 其他 API)?

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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 53
活跃值: (528)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
ZwQueryObject
2016-7-31 17:12
0
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
PsSetCreateProcessNotifyRoutine
2016-7-31 18:30
0
雪    币: 69
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢两位回答,我明天再试试效果。
2016-8-1 01:02
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
NtCreateSection 频率很高  判断也并不通用   并不是一个很好的HOOK点

如果你只要2K  XP  2K3 下的话     我记得 ntcreatethread 好像是个不错的点
进程运行环境已经创建完毕  线程还没有运行起来    取路径很容易 且不用担心被修改。

而且还可以很轻易分辨是创建进程还是远程线程        可惜这个方便的函数在VISTA后就被彻底放弃了
VISTA创建线程转为 ntcreatethreadex     而且创建进程已经不再经过ntcreatethreadex   
直接由ntcreateuserprocess 全程实现
2016-8-17 17:06
0
雪    币: 69
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
非常感谢您的回复,这几天我已经向内核方向学习来解决我遇到的问题了。我使用了微软提供的回调

PsSetCreateProcessNotifyRoutineEx
PsSetCreateProcessNotifyRoutine

他们功能完善,传递参数完整,有足够的我需要的信息。感谢楼上所有人的帮助。
2016-8-19 10:00
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
    驱动的话  用 PsSetCreateProcessNotifyRoutine 来监控进程的创建 的确更简单 也更稳定
   
这个点跟createthread类似   也是进程运行环境刚刚创建完毕  但线程还没有起来  所有信息都是可靠的

不过要注意带EX那个函数有些nt5系统可能没有
2016-8-19 10:12
0
雪    币: 69
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
是的,我觉得 PsSetCreateProcessNotifyRoutine 已经够用了,我只希望捕获进程的创建信息,这足够了,谢谢您的帮助。
2016-8-19 10:54
0
游客
登录 | 注册 方可回帖
返回
//