首页
社区
课程
招聘
未解决 [求助]驱动层如何在64位系统中保护自己的窗口
发表于: 2020-12-24 17:13 12630

未解决 [求助]驱动层如何在64位系统中保护自己的窗口

2020-12-24 17:13
12630

背景:公司的一款软件,会被别的软件破坏安装目录;强行关闭进程;强行关闭、移动或隐藏窗口。此前在应用层保护自身,但窗口保护部分已被其破解,因此转而选择在驱动层保护。


32位系统下,我用SSDT和ShadowSSDT成功保护了自己的软件。

但是64位系统下,由于PatchGuard的存在,SSDT和ShadowSSDT运行没多久就会蓝屏。


1、假如采用干掉系统PatchGuard的方式,我试了挺麻烦。由于软件有一定装机量,教用户关PatchGuard不现实,所以不考虑此方案。

2、64位系统下,采用ObRegisterCallbacks,只能保护自己的进程,不能保护自己的窗口。


以目前自己的知识,不知道该怎么做了。

大佬们,有没有行之有效的办法,给个研究方向就行。

VT-HOOK or InfinityHook or ...?


------------------------华丽的分割线--------------------------

2021年1月8日更新:

研究发现InfinityHook是可行的。VT-Hook方向,有一个KasperskyHook,比较成熟,我自己还没验证。

所以此贴结束啦,谢谢大家。


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

最后于 2021-1-8 17:56 被ybt编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (54)
雪    币: 6
活跃值: (3480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
别的软件不会进驱动?
2020-12-24 20:33
0
雪    币: 12
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
如果拦截驱动加载或者给驱动打补丁,照样失效
2020-12-24 20:57
0
雪    币: 6245
活跃值: (666)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你不如去分析其他软件是通过什么方式杀掉你的窗口的
2020-12-24 22:42
0
雪    币: 3998
活跃值: (5131)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
5
直接上vt
2020-12-24 22:49
0
雪    币: 7
活跃值: (346)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ybt
6
b!@nk 你不如去分析其他软件是通过什么方式杀掉你的窗口的
分析了的,分析了才有针对性的开发嘛
2020-12-25 07:50
0
雪    币: 7
活跃值: (346)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ybt
7
咖啡_741298 别的软件不会进驱动?
收银系统与收款插件之争,前者没驱动,我们是后者。
2020-12-25 07:56
0
雪    币: 7
活跃值: (346)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ybt
8
舒默哦 直接上vt
vt我只是初步了解了下,好像是受限于CPU
2020-12-25 07:59
0
雪    币: 5321
活跃值: (4803)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
getwindow 你过得了? 驱动都没有用
2020-12-25 08:03
0
雪    币: 7
活跃值: (346)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ybt
10
~时光荏苒 getwindow 你过得了? 驱动都没有用

对方第一步得枚举窗口,或获取顶层窗口,或查找窗口,第一步拦截掉,不会到GetWindow这步。

最后于 2020-12-25 08:12 被ybt编辑 ,原因:
2020-12-25 08:12
0
雪    币: 3998
活跃值: (5131)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
11
ybt vt我只是初步了解了下,好像是受限于CPU
我也不太懂,跟着气哄哄
2020-12-25 10:50
0
雪    币: 7
活跃值: (346)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ybt
12
舒默哦 [em_19]我也不太懂,跟着气哄哄
我准备研究InfinityHook了,毕竟流氓界大佬2345安全卫士也用这个。
2020-12-25 11:04
0
雪    币: 293
活跃值: (254)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
收集证据发律师函
2020-12-25 11:54
0
雪    币: 293
活跃值: (254)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
在技术上搞对抗耗费心血,浪费时间,亲身经历。
其实可以用另一种办法解决此类问题,粗暴有效。
2020-12-25 11:56
0
雪    币: 7
活跃值: (346)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ybt
15
cavan 在技术上搞对抗耗费心血,浪费时间,亲身经历。 其实可以用另一种办法解决此类问题,粗暴有效。[em_13]
作为技术,要是没事干的话,挺难受的,说明可以跳槽了。所以研究这玩意是给自己找事做。
2020-12-25 14:02
0
雪    币: 405
活跃值: (2360)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
窗口标题随机化。在自己的窗口处理函数里,处理所有窗口消息,如果不是自己发关闭的,一律忽略,还要对消息洪水攻击进行处理。
2020-12-25 17:08
0
雪    币: 7
活跃值: (346)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ybt
17
wowocock 窗口标题随机化。在自己的窗口处理函数里,处理所有窗口消息,如果不是自己发关闭的,一律忽略,还要对消息洪水攻击进行处理。

这种简单的对抗我们早就做了。某厂收银软件的做法是,只要是在它上层的窗口,除了少数几个进程的窗口(白名单机制,比如腾讯的软件是检测进程文件签名),其它一律干掉。

最后于 2020-12-25 17:57 被ybt编辑 ,原因:
2020-12-25 17:56
0
雪    币: 44
活跃值: (127)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
18
直接针对他, 注入进去把枚举窗口的API HOOK掉
2020-12-25 18:35
0
雪    币: 7
活跃值: (346)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ybt
19
mfxiaosheng 直接针对他, 注入进去把枚举窗口的API HOOK掉

应用层的hook被其干掉了一部分,干掉方式是启动时保存进程自身关键API的地址,每次调用前,都进行WriteProcessMemory写回,让hook失效。

最后于 2020-12-28 10:14 被ybt编辑 ,原因:
2020-12-25 19:02
0
雪    币: 12857
活跃值: (9172)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
20
ybt 应用层的hook被其干掉了一部分,干掉方式是启动时保存进程自身关键API的地址,每次调用前,都进行WriteProcessMemory写回,让你的hook失效。

网吧那些破烂软件都是32位的吧,直接劫持Wow64Transition给他窗口请求全部干碎就完事了


能用R3解决的没必要上R0

最后于 2020-12-25 19:16 被hzqst编辑 ,原因:
2020-12-25 19:15
0
雪    币: 7
活跃值: (346)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ybt
21
hzqst ybt 应用层的hook被其干掉了一部分,干掉方式是启动时保存进程自身关键API的地址,每次调用前,都进行WriteProcessMemory写回,让你的hook ...

谢谢大佬,我查下这个相关资料,学习学习。

最后于 2020-12-25 19:33 被ybt编辑 ,原因:
2020-12-25 19:25
0
雪    币: 14
活跃值: (948)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
可以过,内核有个函数是查询HWND的,返回NULL就过掉了很多窗口类函数包括getwindow
2020-12-26 14:45
0
雪    币: 7
活跃值: (346)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ybt
23
妮可 可以过,内核有个函数是查询HWND的,返回NULL就过掉了很多窗口类函数包括getwindow
是哪个函数呢
2020-12-28 09:18
0
雪    币: 518
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
24
按你说的,没驱动就全是r3,直接注入c3完事了
2020-12-28 11:15
0
雪    币: 1334
活跃值: (1995)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25

重新编译一份windows

最后于 2020-12-28 12:42 被库尔编辑 ,原因:
2020-12-28 12:42
0
游客
登录 | 注册 方可回帖
返回
//