代码段没法发了,因为里面有别人的东西(发了之后避免不了一些不法分子会使用,以是这里只分享处理检测流程和思路)
目前团体已经完善好了,笔者不是教大家怎样去过检测写外挂,而是教大家一些好的思路
核心代码执行流程
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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |