代码段没法发了,因为里面有别人的东西(发了之后避免不了一些不法分子会利用,所以这里只分享处置惩罚检测流程和思路)
目前整体已经完善好了,笔者不是教各人怎样去过检测写外挂,而是教各人一些好的思路
焦点代码执行流程
1.过机器码: 目前2种办法,一种替换DLL,另一种是让返回值随机,因为笔者总调试游戏
笔者直接替换了DLL因为偶然候进游戏没加载忘记加载笔者的DLL,就完蛋了,假如不贸易的话,建议用替换DLL方法,放到Game目次即可
2.处置惩罚游戏检测CALL,例如开释技能,走路,等等,已经定位了几个重要的检测CALL,处置惩罚后发现另有很多检测CALL,但是不知道再检测什么东西,所以全盘了,假如出问题再注释,也方便,这个在第一篇说过了,这里不再细说
3.处置惩罚GameRpcs的CRC,处置惩罚CRC的思路也很多,这里笔者用的是转移大法,然后再创建一个线程循环扫除GameRpcs记录的数据信息
[table][tr][td]
1
2
3
4
5
6
7
8
9
10
11
12
13[/td][td]
VOID 扫除记录()
{
DWORD 计次变量 = 0;
while (GameRpcsBase)
{
Sleep(10000);
RtlCopyMemory(LPVOID(GameRpcsBase + 0x1713A4), &计次变量, sizeof(DWORD));//时间计时
RtlCopyMemory(LPVOID(GameRpcsBase + 0x17141C), &计次变量, sizeof(DWORD));//鼠标计次
RtlCopyMemory(LPVOID(GameRpcsBase + 0x171424), &计次变量, sizeof(DWORD));//键盘计次
计次变量++;
}
}
TCJ(可以不清Buffer,直接改Buffer指向一片干净的内存区域)
监视TCJ读了哪块内存,HOOK,假如当前读内存的所在 大于 你要保护的模块所在 或 小于 你要保护的模块所在 + 模块巨细,则清空他的Buffer
HOOK FindWindow 大概写个 EnumWindowsProc 另有要HOOK CreateFile 做好外部检测防御,实在就这些了,到结帖,已经过掉全部检测,实在就这些了
算上三局教程 10局 突然觉得开挂没故意思了,笔者没继承打了
来源:http://www.12558.net
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |