首页
社区
课程
招聘
[讨论]驱动如何捕获关机/重启?
发表于: 2013-5-7 17:29 11659

[讨论]驱动如何捕获关机/重启?

2013-5-7 17:29
11659
在驱动层  如何捕获关机重启呢(只考虑软关机/重启,按power按钮或者直接拔电源的不考虑)?

我想要的效果是:
当用户点击了开始菜单的关机按钮(或者有其他程序调用了exitwindows),我的驱动能在第一时间得知用户想要关机或重启了,然后我的驱动会做一系列的动作.

不需要拦截,只要能够在第一时间准确知道用户是要关机还是重启就行了.

我试过下面两种方法:
1.hook zwshutdownsystem    但是到zwshutdownsystem的时候,r3的程序基本上都已经退出了,所以这个办法不是很及时.

2.在r3层处理关机消息(wmqueryendsession,好像是这个),这个方法的缺点是,无法判断到底是关机还是重启.

有经验的还请指点一二!谢谢

(不想使用r3层的全局hook,驱动层不知有没有什么notify函数呢?)

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

收藏
免费 0
支持
分享
最新回复 (19)
雪    币: 11
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
有通知的  notify
2013-5-7 17:56
0
雪    币: 14
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
求函数名称哦啊
2013-5-7 17:56
0
雪    币: 130
活跃值: (1005)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
IoRegisterShutdownNotification
2013-5-7 18:08
0
雪    币: 257
活跃值: (67)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
__asm
{
    mov   al,  0xfe
    out    0x64,  al
}

这样写端口重启,有办法对付吗?
2013-5-7 18:18
0
雪    币: 130
活跃值: (1005)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
要是我会在驱动里面搜机器码
2013-5-7 18:23
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
7
drx的端口断点可以搞定这个~
或者VT的IO虚化也可以。
2013-5-7 18:23
0
雪    币: 115
活跃值: (46)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
8
有办法直接拦截写i/o吗,out这个会和IRP或Io过程联系吗
我被中断,串口,io端口,IRP完全混淆了
2013-5-7 18:31
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
9
io虚化是目前唯一的好方法~
2013-5-7 18:32
0
雪    币: 11
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
drx 在win8 64中无力
io虚拟化貌似不是所有机器都可以
而且貌似win8 64的pg不好绕……vt无力中……巨卡
2013-5-7 19:01
0
雪    币: 193
活跃值: (518)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
11
v总,drx端口断点不是只能监视端口io,而不能拦截端口io吗
2013-5-7 19:26
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
12
http://hi.baidu.com/nohacks/item/dd7f002fde16d04446996296
2013-5-8 00:23
0
雪    币: 1233
活跃值: (907)
能力值: ( LV12,RANK:750 )
在线值:
发帖
回帖
粉丝
13
脚踢电源杀木马大法怎么破?
2013-5-8 09:12
0
雪    币: 11
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
14
我靠 本来无技术含量的一个提问  下面一堆看不懂的回答。。。。
2013-5-8 10:00
0
雪    币: 14
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
抛砖引玉一样啊  哈哈
2013-5-8 21:52
0
雪    币: 14
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
抛砖引玉一样啊  哈哈
2013-5-8 21:58
0
雪    币: 155
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
hook ExitWindowsEx,这个应该是内核里win32k!NtUserCallXX,具体看robinhood之前有个BLOG写了
2013-5-8 23:48
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
18
唉,我把链接都发出来了,居然木有人去看……
2013-5-9 12:28
0
雪    币: 110
活跃值: (34)
能力值: (RANK:50 )
在线值:
发帖
回帖
粉丝
19
IO许可位图里搞一搞不行么
2013-5-9 12:35
0
雪    币: 207
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
achillis 唉,我把链接都发出来了,居然木有人去看……
那个hibaidu的链接失效了
2019-9-19 12:40
0
游客
登录 | 注册 方可回帖
返回
//