应用加固

应用加固

  • 第一代:落地加载:其原理是基于Java虚拟机提供的动态加载技术。缺点是Dex落地加载,破解成本非常低。

  • 第二代:内存加载:其原理是基于inline hook技术对系统readwrite函数添加额外的加解密处理,或直接调用Dalvik虚拟机提供的函数,以字节流方式加载。该加固方案虽然避免文件落地的缺陷,但缺点是解密后的Dex连续完整的在内存中存在。

  • 第三代:指令抽离:其原理是在类被执行时才进行函数修复,解决了Dex内存连续的问题。但由于指令抽离技术方案使用了大量虚拟机内部结构的特性,再加上Android ROM厂商复杂的定制,带来了大量的兼容性问题。

  • 第四代:Java2C:Java2C是目前Dex加固保护中安全性最高的方案,与前三代Dex加固不同的是它脱离了虚拟提供的动态加载技术。其原理是将Java代码翻译成C并生对应的二进制文件。

上一页