首页
社区
课程
招聘
某驱动保护检测 请高手赐教
发表于: 2012-3-20 15:55 15459

某驱动保护检测 请高手赐教

2012-3-20 15:55
15459
驱动保护已经过掉了 可以附加并调试
但它会检测调试工具
检测的非常快 打开后1分钟左右就发现了

于是自己写起了个驱动保护

一、 窗口检测 ShadowSSDT hook
NtUserFindWindowEx
NtUserQueryWindow
NtUserBuildHwndList
NtUserGetForegroundWindow
NtUserWindowFromPoint

二、进程检测
1、SSDT Hook :
NtOpenProcess
NtReadVirtualMemory
NtQuerySystemInformation
2、 inline hook  
ObReferenceObjectByHandle  
KeStachAttachProcess
KeAttachProcess
MiDoPoolCopy
3、 EPROCESS 断链

4、开启一条内核线程 定时2秒 枚举系统所有句柄
发现有我的进程、线程句柄 上去ZwClose

到此觉得已经非常安全了 因为 我的子对话框也显示不出来了

打开游戏几秒后 我崩溃了 还是弹出 非法模块

已经拿它没办法了 请高手支点招

NTSTATUS MyQuerySystemHandle(

									IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
									OUT PVOID               SystemInformation,
									IN ULONG                SystemInformationLength,
									OUT PULONG              ReturnLength OPTIONAL )
{
	NTSTATUS status;
	ULONG index;
	PSYSTEM_HANDLE_INFORMATION_EX HandleTable;
	status =RealNtQuerySystemInformation(SystemHandleInformation,SystemInformation,SystemInformationLength,ReturnLength);
	if(!NT_SUCCESS(status))
		return status;
	HandleTable=(PSYSTEM_HANDLE_INFORMATION)((PULONG)SystemInformation);
	for (index =0 ;index!=*(PULONG)SystemInformation;index++)
	{
		if (HandleTable->Information[index].ProcessId == ProcessIdToProtect)
		{
			HandleTable->Information[index].ProcessId =NULL;
			HandleTable->Information[index].ObjectTypeNumber=NULL;
			HandleTable->Information[index].Object=NULL;
			HandleTable->Information[index].Handle=NULL;
			HandleTable->Information[index].GrantedAccess=NULL;
			HandleTable->Information[index].Flags=NULL;

		}
	}
	return status;
}
NTSTATUS MyNtQuerySystemInformation(

									IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
									OUT PVOID               SystemInformation,
									IN ULONG                SystemInformationLength,
									OUT PULONG              ReturnLength OPTIONAL )
{
	if (SystemInformationClass ==SystemHandleInformation)
	{
		return MyQuerySystemHandle(SystemInformationClass,SystemInformation,SystemInformationLength,ReturnLength);
	}
	return RealNtQuerySystemInformation(SystemInformationClass,SystemInformation,SystemInformationLength,ReturnLength);
}

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (22)
雪    币: 40
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
mark~~
2012-3-20 16:12
0
雪    币: 204
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
呵呵  你说的HS吧   等待

我倒是觉得 你可以把你的OD加个压缩壳看看  不要SOD了
2012-3-20 16:14
0
雪    币: 130
活跃值: (1005)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不是HS 国内很弱的一个保护
就是检测工具厉害了
由于不会delphi 窗口还是留着一行 Cheat Engine
2012-3-20 16:16
0
雪    币: 160
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
都直接检测控件 重写个CE吧 用VC
2012-3-20 18:33
0
雪    币: 17
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
有点像是TY嘛.....
2012-3-20 19:10
0
雪    币: 2177
活跃值: (2045)
能力值: (RANK:400 )
在线值:
发帖
回帖
粉丝
7
什么保护系统啊?应该不是TP。
2012-3-20 19:32
0
雪    币: 46
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不知楼主的是什么保护
我现在遇到一个,在登录画面(已经在游戏里了,不是登陆器哦)能一直附加上。
但只要一进游戏,1分钟左右,就自动退出,而且我自己把debugport清零了,也是1分钟左右自动退出。
不知道用的何种检测手段,哎!
2012-3-20 19:41
0
雪    币: 130
活跃值: (1005)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
正是TP 原版CE 加UPX 、VMP都不行
多线程知识不好 写了个CE太卡了 所以想着写个驱动保护防止检测
2012-3-20 19:44
0
雪    币: 130
活跃值: (1005)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
TO zallen
没搞过HS
2012-3-20 19:53
0
雪    币: 160
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
直接检测控件 大小等特征 驱动上没用的 只能自己下SRC来改  
正因这个我不会delphi问题 我正在重写CE
2012-3-20 20:10
0
雪    币: 130
活跃值: (1005)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
TO 小猪怕怕

之前我也再写 多线程知识不好 所以没继续写下去

期待大牛的作品
2012-3-20 20:21
0
雪    币: 506
活跃值: (65)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
竟然是这种方法?
现在xj上的TP,开了xuetr就退,是不是也是这个原因呢?
2012-3-20 20:58
0
雪    币: 45
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
楼主很是强大啊
2012-3-20 21:13
0
雪    币: 508
活跃值: (202)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
15
我开XT都不退????????
也可以看模块,好多人都说附加看不见模块

!!!!!!!!!!!!!!!!!
1。搞定SSDT HOOK
2。暂停TP线程
3。搞掉两个定时器
4。搞定回调
就OK了
上传的附件:
2012-3-21 16:39
0
雪    币: 203
活跃值: (213)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
看看,学习下,谢谢分享
2012-3-21 16:56
0
雪    币: 130
活跃值: (1005)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
调试很容易。。。。。。。。。。。
2012-3-21 17:35
0
雪    币: 2177
活跃值: (2045)
能力值: (RANK:400 )
在线值:
发帖
回帖
粉丝
18
老v说了,搞TP没什么意思啊。。。
2012-3-21 17:39
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
我自己重写了个CE,能使用,就是下不了硬件断点,只能下内存断点。

1。搞定SSDT HOOK
2。暂停TP线程
3。搞掉两个定时器
4。搞定回调
就OK了
xt用不了,你用的啥xt?回调在哪里啊?
2012-3-21 19:08
0
雪    币: 263
活跃值: (71)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
互斥,共享内存,注册表,等等,CE有好多特性哈,你的HOOK只保护了外表,保护不了内心特性哈哈
2012-3-21 21:06
0
雪    币: 508
活跃值: (202)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
21
XT 0.45
2012-3-22 11:04
0
雪    币: 209
活跃值: (844)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
检测ce不难解决,可对crc检测,我就不会了。
2012-3-22 11:21
0
雪    币: 137
活跃值: (115)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
1。搞定SSDT HOOK
4。搞定回调
具体是哪几个,我用你的方法在QQ英雄联盟,CE查不到EDI,为查到0个,求教
2012-4-18 01:05
0
游客
登录 | 注册 方可回帖
返回
//