首页
社区
课程
招聘
[原创]散谈游戏保护那点事~就从_TP开始入手吧
发表于: 2010-12-20 02:37 483402

[原创]散谈游戏保护那点事~就从_TP开始入手吧

2010-12-20 02:37
483402
收藏
免费 8
支持
分享
最新回复 (234)
雪    币: 226
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
126
楼主GPK保护搞定没?
2011-7-18 18:08
0
雪    币: 76
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
127
现在过不了
2011-7-24 16:47
0
雪    币: 152
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
128
学习了分析的真透彻
2011-8-5 12:32
0
雪    币: 350
活跃值: (87)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
129
楼主,你的方法太笨了点吧!我有办法,即不用干掉保护,又不用恢复HOOK,就可以过这个保护了(提示:我们自己构造一个新的函数调用流程,在调用完成原函数的头5个字节以后,用JMP 指令跳回原函数+5字节处,让原来的HOOK像个傻瓜一样,等我们调用的函数返回以后它都不知道我们的调用其实已经完成了)
2011-8-9 18:03
0
雪    币: 350
活跃值: (87)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
130
要的话,我可以写一个过NtOpenProcess的代码
2011-8-9 18:05
0
雪    币: 439
活跃值: (1279)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
131
非常感谢,不知道你说的是不是我贴出来的这种办法。

static NAKED NTSTATUS __stdcall MyNtOpenProcess(PHANDLE ProcessHandle,
ACCESS_MASK DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes,
PCLIENT_ID ClientId)
{
//DbgPrint("NtOpenProcess() called");
__asm
{
push 0xC4
//push 0x804DB4C0
push 0x804F5308 //本机
jmp JmpNtOpenProcessAddress
}
}
VOID ssdt_NtOpenProcess()
{
ULONG Local_NtOpenProcessAddress;
KIRQL Irql;

//获取NtOpenProcess函数地址
Local_NtOpenProcessAddress = (ULONG)KeServiceDescriptorTable->ServiceTableBase+0x7A * 4;
KdPrint(("Local_Address地址:%X",Local_NtOpenProcessAddress));

//保存NtOpenProcess函数的原始地址
NtOpenProcessAddress = *(ULONG*)Local_NtOpenProcessAddress;
KdPrint(("NtOpenProcess地址:%X",NtOpenProcessAddress));

KdPrint(("MyNtOpenProcess地址:%X",(ULONG)MyNtOpenProcess));

//保存从中继函数中跳转到NtOpenProcess函数的什么位置,以达到绕过INLINE HOOK 的目的
JmpNtOpenProcessAddress = (ULONG)NtOpenProcess + 15;
KdPrint(("JmpNtOpenProcessAddress:%X",JmpNtOpenProcessAddress));

WPOFF(); //清除CR0
//提升IRQL中断级
Irql=KeRaiseIrqlToDpcLevel();

//完成SSDT HOOK
*(ULONG*)Local_NtOpenProcessAddress = (ULONG)MyNtOpenProcess;

//恢复Irql
KeLowerIrql(Irql);
WPON(); //恢复CR0
}
2011-8-9 19:04
0
雪    币: 350
活跃值: (87)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
132
不是,但是我的办法更加好,也不用修改原来的SSDT,处理好以后,在应用程序那里直接调用如下代码:

_asm
{
mov eax,我们的处理函数在SSDT表中的索引,这个索引是我们自己新建的一个NtOpenProcess函数 这个函数的参数和调用方式,返回值和原来的函数是一样的
call dword ptr[KiFastCallSystem]
ret 8
}
即可,如果想调用原函数,就请在应用程序中直接调用原来的NtOpenProcess即可
2011-8-9 19:11
0
雪    币: 350
活跃值: (87)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
133
这样的话,你就是再如何监控SSDT 也没有办法知道我什么时候调用了NtOpenProcess了
2011-8-9 19:13
0
雪    币: 350
活跃值: (87)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
134
你又部分代码和我想的一样,但是其余的都不一样了
2011-8-9 19:14
0
雪    币: 350
活跃值: (87)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
135
而且你的代码在多核心机器上又可能会BOSD哦
2011-8-9 19:16
0
雪    币: 54
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
136
好长....Mark下....
2011-8-9 19:29
0
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
137
回复比较精彩些
2011-8-11 00:46
0
雪    币: 713
活跃值: (480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
138
很好,很强大。顶。。
2011-8-11 01:14
0
雪    币: 54
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
139
呃...最近看雪也有很多研究游戏保护的
2011-8-15 13:26
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
140
好高深,  菜鸟中, 学习
2011-8-22 08:58
0
雪    币: 206
活跃值: (86)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
141
按楼主方法od符加成功, 用ce非法,自己写个简单的搜索工具可以成功搜索了。

不过后来又试了几次od一符加,游戏就退出!!!

我都是直接ret的
先去监视在偏移0x41e0处,然后去重启0x163c,去debugport 2处。。。0x2638 0x4f2c;
只成功过2次,后来od一符加游戏就退出了不知道为什么.....
2011-8-22 10:54
0
雪    币: 58
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
142
MARK,我**了 LZ
2011-8-22 12:26
0
雪    币: 191
活跃值: (335)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
143
mark mark
2011-8-22 13:15
0
雪    币: 235
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
144
这么好的资料不顶对不起楼主了
2011-8-26 15:11
0
雪    币: 219
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
145
如果有时间的话,我会将其他几个游戏保护的分析资料也放出来
什么GPK\HP\HS的。大家不要催不要急,一定会放出来的。等到我觉得这些东西都没有挑战性的时候那么也就不会再有资料陆续放出来了……:


楼主已给TX通缉
SD估计也要发通缉令了

学习
2011-8-29 19:32
0
雪    币: 149
活跃值: (126)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
146
mark 学习。。
2011-9-9 17:13
0
雪    币: 34
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
147
膜拜楼主,仰望楼主
2011-9-14 14:57
0
雪    币: 237
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
148
markkaaaaaa
2011-9-14 15:22
0
雪    币: 60
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
149
留个记号,有不少东西可以学习的。
2011-9-14 21:54
0
雪    币: 178
活跃值: (514)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
150
内核小菜鸟非常感谢楼主
2011-9-17 18:43
0
游客
登录 | 注册 方可回帖
返回
//