安卓游戏源码怎么加密防止破解编译
很多人说了破解的方法,下面我来分享一下APP防破解的方法吧。
一般来说,当前在iOS 和安卓平台用的比较多的防破解方式有以下几种:
l字符串加密(XSE):对源码中的字符串进行加密,从而避免敏感字符串泄露
这种方式的好处是比较简单、容易实施,而且对性能的损耗不大,但是防破解的能力一般。
l虚假控制流技术(BCF):在原始代码块中随机插入垃圾指令(花指令)、在原始代码块前后随机插入新的代码块,制造虚假的程序控制流。
这种方法的破解难度就比第一种好很多了,当然会造成一定的性能损耗。
l控制流平坦化保护(FLA):在保证不改变源代码功能的前提下,将源代码中的条件、循环(等控制语句转化为调度器统一调用,隐藏原始执行流程。
这种方法会对性能造成比较大的损耗,如果对于性能要求比较高的慎用这种方式。
还有一种破解难度非常高的技术叫做“虚机源码保护”技术,目前为顶象独有。该技术首先把待保护的核心代码编译成二进制文件,然后生成独特的执行环境和只能在该环境下执行的运行程序。运行时使用顶象独创的虚拟CPU直接运行加密的指令,它们完全不同于常见的x86或ARM指令,从而任何逆向工具均无法直接逆向破解。
当然,没有软件是绝对无法被破解的,通过这些方式,可以显著提升被破解的难度。