首页
社区
课程
招聘
[原创]散谈游戏保护那点事:HShield
发表于: 2012-2-25 14:22 52155

[原创]散谈游戏保护那点事:HShield

2012-2-25 14:22
52155

声明:本文只为研究技术,如使用本文中的源码及技术产生了侵权或违法行为,本人概不负责。如有侵犯你版权的行为,请联系我,本文将立即改正!

在正式开篇之前我要感谢看雪ID:十年寒窗 提供了ThreadHideFromDebugger.sys驱动程序的源码.以及另外几位不愿意透露姓名大牛的破解思路.感谢你们!

前言:大家好,我又回来了.承诺过许多事情,要一件一件去完成.本打算去年8月就写出来的.可惜一直没有时间整理这篇文章.
关于HShield的文章在网络上一搜一大把,我想也没什么秘密可言了.
当时在看雪第一篇搜索出来的帖子(http://bbs.pediy.com/showthread.php?t=104951)
本想做一个从头到尾所有版本的帖子.可惜精力太有限了.今天送上的是 ehsvc.dll版本为 5.5.14.174.去年是多少我忘记了,只记录着它的驱动文件版本号EagleXNt.sys:1.0.0.36截止发帖时本文的一切内容都对该驱动有效.
本文使用操作系统:WindowsXP_SP3
本文完整代码在最下面下载


老规矩既是研究游戏保护总要有个研究对象,选定日本的DNF (アラド戦記)
简报:

NtClose 		[->0x9FD162F0==>C:\WINDOWS\system32\drivers\EagleXNt.sys]
NtDeviceIoControlFile	[->0x9FD16190==>C:\WINDOWS\system32\drivers\EagleXNt.sys]
NtOpenProcess		[->0x9FD16400==>C:\WINDOWS\system32\drivers\EagleXNt.sys]
NtGetContextThread	[->0x9FD16DC0==>C:\WINDOWS\system32\drivers\EagleXNt.sys]
NtQueryPerformanceCounter[->0x9FD16FC0==>C:\WINDOWS\system32\drivers\EagleXNt.sys]
NtReadVirtualMemory	[->0x9FD166C0==>C:\WINDOWS\system32\drivers\EagleXNt.sys]
NtSetContextThread	[->0x9FD16C70==>C:\WINDOWS\system32\drivers\EagleXNt.sys]
NtWriteVirtualMemory	[->0x9FD16820==>C:\WINDOWS\system32\drivers\EagleXNt.sys]
KiAttachProcess		[->0x9FD15DB0==>C:\WINDOWS\system32\drivers\EagleXNt.sys]
IopXxxControlFile	[->0x9FD163B0==>C:\WINDOWS\system32\drivers\EagleXNt.sys]
PsSuspendThread		[->0x9FD16F40==>C:\WINDOWS\system32\drivers\EagleXNt.sys]
NtGetContextThread	[->0x9FD16980==>C:\WINDOWS\system32\drivers\EagleXNt.sys]
//////////////////////////////////////////////////////////////////////
//	名称:	MyNtOpenProcess
//	功能:	NtOpenProcess的中继函数
//	参数:	
//	返回:	
//////////////////////////////////////////////////////////////////////
BYTE	*pOpenProcessCall = (PBYTE)0x804E3EA3;
ULONG		NtOpenProcessAddress;
ULONG		NtOpenProcessRetn1;
ULONG		NtOpenProcessRetn2;
PEPROCESS	processEPROCESS = NULL;	//保存访问者的EPROCESS
ANSI_STRING	p_str1,p_str2;			//保存进程名称
static NAKED VOID Nakd_NtOpenProcess()
{
	__asm
	{
		pushad
		pushf
	}
	
	//获得调用者的EPROCESS
	processEPROCESS = IoGetCurrentProcess();
	//将调用者的进程名保存到str1中
	RtlInitAnsiString(&p_str1,(ULONG)processEPROCESS+0x174);
	//将我们要比对的进程名放入str2
	RtlInitAnsiString(&p_str2,APPNAME);
	if (RtlCompareString(&p_str1,&p_str2,TRUE) == 0)
	{
		//这里说明DNF 进程访问这里了
		__asm
		{
			popf
			popad
			push	0xC4
			push	NtOpenProcessRetn1
			retn
		}
	}
	else
	{
		__asm
		{
			popf
			popad
			push    0x0C4
			push    0x804F5308
			call	pOpenProcessCall
			push	NtOpenProcessRetn2
			retn
		}
	}
}

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

上传的附件:
收藏
免费 6
支持
分享
最新回复 (45)
雪    币: 258
活跃值: (84)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
赶紧坐上沙发!!!!!!!!!!!!!(顶级小白)
2012-2-25 14:32
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
非常不错,有码
那些无效的附件是啥?
2012-2-25 14:44
0
雪    币: 439
活跃值: (1284)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
4
无效附件是图片,已经重新上传并修正
2012-2-25 14:47
0
雪    币: 13
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
支持下
2012-2-25 16:33
0
雪    币: 410
活跃值: (214)
能力值: ( LV13,RANK:220 )
在线值:
发帖
回帖
粉丝
6
mark下,不过硬干,不是好方法。驱动保护也就那些事
2012-2-25 17:12
0
雪    币: 2323
活跃值: (4113)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
7
学习,学习~~
2012-2-25 20:30
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
有自效验的能这么干吗 直接给你来个bsod
2012-2-25 20:47
0
雪    币: 2503
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
支持下 小白 还看不懂
2012-2-25 21:28
0
雪    币: 34
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
xuetr太强大.
2012-2-25 22:24
0
雪    币: 220
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
考,我看到了HS开始泛滥的近景
2012-2-25 23:17
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
12
内容很好,其实IopXXX的那个hook也是有深意的。
2012-2-27 03:32
0
雪    币: 220
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
额,偶居然及时发现了这帖子,前排跟上
2012-2-27 06:19
0
雪    币: 27
活跃值: (127)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
14
今天很开心,来跟V校一贴 : )
2012-2-27 08:56
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
膜拜.............呵呵...."这"方面现在不好做
2012-2-27 10:27
0
雪    币: 308
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
支持楼主的美贴。。。
2012-2-27 10:51
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
虽然还不是很懂,但.......还是要来顶一下滴
2012-2-27 11:01
0
雪    币: 284
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
美丽的hs不是最新版,代码有点那啥。
坐等HP
2012-2-27 11:10
0
雪    币: 1644
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
感谢分享。。
2012-2-27 18:12
0
雪    币: 120
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
顶了再看。。。
2012-2-27 21:11
0
雪    币: 10962
活跃值: (2925)
能力值: ( LV5,RANK:71 )
在线值:
发帖
回帖
粉丝
21
楼主果然好信用。支持下。
2012-2-28 08:58
0
雪    币: 6976
活跃值: (1482)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
22
果然很黄很暴力啊, 楼主是好人, 鉴定完毕..
2012-2-28 15:35
0
雪    币: 96
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
楼主太2了。。。牛P
2012-2-29 13:36
0
雪    币: 123
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
不错的帖子,收藏了!
2012-2-29 15:46
0
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
25
围观楼主。。。
2012-2-29 18:01
0
游客
登录 | 注册 方可回帖
返回
//