目前 ,游戏软件厂商对游戏软件的画面质量、可玩性,以及游戏软件为公司所能带来的利润问题很关注,对正在制作或者运营的游戏软件安全性重视程度却不够。他们对游戏软件安全的侧重点主要放在服务器端,例如资料数据库的安全性,以及游戏软件服务器的安全性和稳定性,对游戏软件客户端程序缺乏保护性的工作,使得一些游戏软件程序几乎完全暴露于黑客之手。黑客拿到游戏软件运营商发布的客户端后,可以利用反编译或反汇编等工具得到反汇编代码,任意地进行研究、调试和修改,严重地威胁到游戏软件安全性。
反外挂技术方案设计
游戏软件反外挂技术方案就是由加密、反破解、代码迷惑、调试探测、反调试、反篡改等方法组合的技术,从静态、动态和反篡改等多个方面共同防止黑客利用工具了解游戏软件程序内部信息,同时又不影响游戏软件正常工作。
加密:是防止客户端代码被分解或者分析,并且直到许可认证成功前,保护软件的代码不被解密。
反破解:是抗反汇编和反编译,使黑客无法通过工具得到客户端的静态代码,无法分析代码结构。
代码迷惑:是使黑客破解得到代码是经过技术处理的,而无法了解代码的内容。调试探测是在软件被尝试调试时禁止被保护软件运行,或者直接退出程序。
反调试:是禁止黑客设置断点绕过调试探测,使得调试过程十分麻烦,或者根本无法绕过调试探测,也就不能了解程序执行流程以及各状态的信息。
反篡改:是前面的防护工作全部都被破解,黑客也制作出外挂程序,但是正常游戏软件程序不受外挂程序篡改的影响,一样能起到防外挂的作用。
反外挂安全解决方案
应对手游行业面临的上述安全风险,加强运行时保护、应用代码保护、资源文件保护是至关重要的。几维安全具有深耕游戏行业多年的经验,熟悉各种攻击的手法和风险的根源,针对游戏风险的防护,需要结合设备环境检测、美术资源加密、文件完整性校验、关键代码高强度加密等保护手段,最终实现防外挂、防破解、防盗版、防资源窃取的全面深度保护效果。
Android端保护方案
iOS端保护方案
代码虚拟化原理,基于 LLVM 编译器的中间层 LLVM-IR中间代码实现,通过设计独有加密的虚拟CPU解释器以及完备虚拟指令,将原始CPU指令进行加密转换处理为只能由KiwiVM虚拟解释器解释执行的虚拟指令,能够完全隐藏函数代码逻辑,以及函数、变量之间的依赖关系,让程序无法被逆向工程。
每项安全加密功能都扛住对应的攻击测试,并且自身代码又采用代码虚拟化技术保护,能够防止灰产人员逆向分析安全功能的保护逻辑,从而达到更好的保护目的。
最后,对游戏软件程序实行深度防护,采取多层防护方法共同保护游戏软件程序,提高黑客破解程序的难度,消耗他们更多的精力和时间提高了破解成本,这样不但延长了游戏软件的安全运行时间,而且也会在一定程度上达到迫使黑客放弃尝试的目的。
推荐阅读:手游安全保护:https://www.kiwisec.com/product/unity-encrypt.html