游戏防外挂、破解解决方案

##往事——记得之前面试时,考官问过类似问题,怎么防外挂?小白当时也是胡乱讲一通,主要说前后服务端进行数据校验之类的,想想还是挺可爱的。
最近看了大神写的方案,觉得还是挺好的,记录的同时做下分享
1、对于目前市场的常见手游修改器以及外挂,建立黑名单,启动的时候通过判断进程名判断外挂是否存在,如果存在对客户端进行退出处理
2、外挂修改器会修改游戏速度,实现加速
解决方案,前端定时同步心跳给后端,后端检查两次心跳包是否小于设定值,判断前端是否使用了加速器
3、外挂修改器会修改内存数据修改游戏部分玩家属性,对放在客户端的玩法有影响
解决方案,对于修改内存数据的外挂,可以使用关键属性内存数据加密的方案,可以自己实现,也可以用第三方插件,推荐使用anti-cheat这个插件
4、unity C# DLL容易被反编译破解
解决方案,为了热更方便,也是加密方便,将unity工程代码分成两部分,一部分作为加载器(loader)放在apk内,另一部分作为2进制文件,通过C#反射机制加载进游戏,对该部分代码可以先使用加密算法进行加密,loader通过反加载前再进行解密(加密算法可以放在native dll内,即通过C++编写然后C# 端调用,这样增加反编译难度)

你可能感兴趣的:(游戏防外挂、破解解决方案)