利用ACL保护游戏

使用一种比较偏僻的方法来实现应用层反调试。这个方法是windows的 访问控制列表(ACL)。应用这个方法可以阻止其他进程打开被保护进程。

调试器在附加一个进程时需要OpenProcess,如果在程序中加入访问控制列表,拒绝某些程序访问,就可以阻止其他进程包括调试器打开游戏进程。

使用访问控制列表保护的基本方法如下:

1. 初始化一个Secrity Identifier安全身份牌,用来后续添加访问列表项。

2. 获取当前进程的安全身份牌

3. 初始化一个访问控制列表。

4. 添加访问列表项,包括阻止的和允许的。

5. 将设置好的访问控制列表添加到本进程。

 

这样,当前进程就具有访问控制列表了。

效果图:



难点在于windows这套访问控制的API的使用方法。Windows访问控制模型很复杂很头疼一个API会牵出一大把初始化要用的API。相关API和结构体复杂,可是参考文献奇少,MSDN上关于一些访问控制相关API的使用和结构体的描述都含糊不清也没有什么代码实例。只能慢慢摸索和测试。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值