iOS代码加密的几种方式
有两种方法可以实现ios应用程序加固。
用安全编译器实现基于LLVM编译器的中间层。基于LLVM的保护方案需要改变现有的编译环境,更换编译器,调整编译选项等。,对开发环境影响很大,不好用。从保护效果来看,基于LLVM的保护方案受到编译器框架的限制,生成的代码只能进行混淆和逻辑转换,仍然可以反编译,对控制流的混淆作用有限,边界清晰,更容易分析。
OLLVM保护后的反编译效果,反编译效果:
一种使用VirboxProtector的虚拟化保护。ARM虚拟化是Virbox Protector针对ARM架构的指令推出的一种虚拟机保护方式。通过将原始ARM指令翻译成定制虚拟机指令,它将在运行时在定制虚拟机中执行。Virbox Protector实现了一个针对ARM指令的虚拟机保护工具,支持armv7(包括thumb、thumb2)和armv8以上指令集的翻译,安全强度高,适用于安全性要求高的代码保护需求。受虚拟化保护的代码不能被反编译。
病毒盒保护程序保护后的反编译效果: