指令级代码混淆、代码虚拟化、代码加密等多种方式保护代码逻辑,防止代码被反编译和逆向分析。
通过校验 APK 开发者签名,防止被二次打包,植入广告或恶意代码。
防止应用被 IDA、JEB 等工具调试,动态分析代码逻辑。
对原始汇编指令通过等价变量、指令拆分、间接调用、虚拟分支、立即数加密等手段,转换为更复杂的汇编指令,再配合单步寄存器检测、指令校验等方式检测并设置调试陷阱,阻碍逆向分析。
将原始汇编指令翻译为自定义的虚拟机指令,跳转到自定义的虚拟机中执行,每次保护生成的虚拟机指令随机,且对虚拟机解释器再度混淆,安全性极高。
对程序的代码或数据段整体压缩并加密,防止被反编译。
防止应用被 IDA、JEB 等工具调试,动态分析代码逻辑。
对 APK 中的开发者签名做启动时校验,防止被第三方破解和二次打包。
在 SO 库加载时校验内存完整性,防止第三方对 SO 库打补丁。
重要数据和文件的加密逻辑,如果不保护,很容易被篡改或窃取。
通讯加密算法和协议,防止机器人和外挂的产生
应用被逆向分析,源代码被反编译,代码被窃取,核心竞争力遭到破坏
版权验证代码或重要的程序逻辑被篡改,产生破解补丁或外挂。