首页
社区
课程
招聘
未解决 [求助]请问控制windows重启或关机的API有哪些?
发表于: 2019-4-29 18:03 3275

未解决 [求助]请问控制windows重启或关机的API有哪些?

2019-4-29 18:03
3275
要防止一个软件重启电脑,目前挂钩的函数有
ExitWindowsEx
InitiateSystemShutdownA
InitiateSystemShutdownW
InitiateSystemShutdownExA
InitiateSystemShutdownExW
NtShutdownSystem
NtSetSystemPowerState
ZwShutdownSystem(此函数应用层Hook不到,请忽略)

都无法拦截到,还有别的API吗,有可能在驱动层实现,但我拦截了所有的DeviceIoControl,再点程序的重启键还是会重启

希望各位大佬能指点一下!谢谢!

==============================================================
根据大家的回帖,我补充一下:
软件有vmp,没办法调试或者静态分析,目前是通过下全局钩子判断目标进程名的方式来Hook指定进程
软件确实有驱动,但我拦截了DeviceIoControl并不影响重启功能,所以我推测重启功能还是在应用层实现的

感谢大家的回帖,我将根据大家的建议继续尝试和探索!

[课程]Linux pwn 探索篇!

最后于 2019-4-30 11:03 被德罗巴编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (18)
雪    币: 288
活跃值: (74)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
全给你拦截完了,你说有没有可能是外部程序导致的呢?比如CMD命令关机
2019-4-29 18:17
0
雪    币: 407
活跃值: (1746)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
cmd关机本质也是走的API
2019-4-29 18:35
0
雪    币: 3848
活跃值: (642)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
你直接分析那个程序不就知道了吗
2019-4-29 19:33
1
雪    币: 781
活跃值: (1116)
能力值: ( LV5,RANK:78 )
在线值:
发帖
回帖
粉丝
5
思路错了....从你处理来看 你应该是处理的r3层.那么.关机就这么多API 截取不到.先不考虑是否调用更底层的 x64call啥的.那么 思路有两个方向.
1.一楼已经说了.外部程序.断下运行外部程序的api 看下
2.提权函数越权操作之类的造成的蓝屏重启.干掉提权函数就好了.
基本上就这就几个方向.
2019-4-29 19:49
0
雪    币: 9941
活跃值: (2143)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
内核下 out 指令,直接写IO端口就完成关机重启
除非用VT ,不然没办法拦截的
2019-4-29 20:07
0
雪    币: 1042
活跃值: (470)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
xuetr 不是有这个功能
2019-4-29 20:26
0
雪    币: 9626
活跃值: (1826)
能力值: ( LV5,RANK:73 )
在线值:
发帖
回帖
粉丝
8
NtInitiatePowerAction
NtSetSystemPowerState
NtUserCallOneParam
NtShutdownSystem
2019-4-29 21:32
0
雪    币: 2375
活跃值: (433)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
楼主的拦截是通过驱动实现么?
2019-4-30 09:07
0
雪    币: 239
活跃值: (650)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
断点看看呀,还有能拦截他的按钮的事件吗??
2019-4-30 09:17
0
雪    币: 1795
活跃值: (63)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
同意楼上,直接下断点看按钮事件的具体操作
2019-4-30 09:20
0
雪    币: 2435
活跃值: (630)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
内核可以asm几句代码重启,拦截不到的把
2019-4-30 10:16
0
雪    币:
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
病毒小子 你直接分析那个程序不就知道了吗
有vmp的,分析不了
2019-4-30 10:48
0
雪    币:
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
bambooqj 思路错了....从你处理来看 你应该是处理的r3层.那么.关机就这么多API 截取不到.先不考虑是否调用更底层的 x64call啥的.那么 思路有两个方向. 1.一楼已经说了.外部程序.断下运行外部 ...
外部程序我下过全局的Hook,也是上述的几个API,拦截不到,蓝屏的话应该不是吧,我取消了蓝屏自动重启的,如果蓝屏会显示错误代码,他这个软件是直接黑屏,暂时还是没有头绪
2019-4-30 10:50
0
雪    币:
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
Rookietp xuetr 不是有这个功能
32位的有,64位的木有
2019-4-30 10:51
0
雪    币:
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
VCKFC 内核下 out 指令,直接写IO端口就完成关机重启 除非用VT ,不然没办法拦截的
今天测试了一下内核方面的,也挂钩了DeviceioControl,就算我拦截了该重启还是重启
2019-4-30 10:53
0
雪    币:
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
不是喔,应用层做的
2019-4-30 10:55
0
雪    币:
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
感谢大家出的主意,要是能调试就没那么多麻烦事了,软件有vmp,无法正面刚啊,目前还正在尝试中,怀疑他还是在应用层做的重启,刚拦截了驱动通信函数DeviceIoControl,并不影响重启
2019-4-30 10:58
0
雪    币: 34
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
可以直接写一份应用层直接进入内核的_asm;填写API功能号,然后调用。这样的话也hook不到。
最后于 2019-4-30 16:33 被mb_vljjtoen编辑 ,原因:
2019-4-30 15:58
0
游客
登录 | 注册 方可回帖
返回
//