当前位置:   article > 正文

四款iOS加固工具评测

obfuscator-llvm 加固

年前我们的App iOS端被破解了,产生了一笔不小的经济损失,在老板的强烈要求下准备给我们的iOS App上个加固。由于网上对于iOS的加固讨论比较少,产品也不多,所以前段时间花了点时间调研了几种加固工具,整理了一下简单的评测。

Obfuscator-LLVM

Obfuscator-LLVM是由HEIG-VD于2010年6月发起的一个项目,可能是目前最让人熟知的iOS保护方案了,但是长期停留在llvm3.4时代,去年刚更新了个4.0,依然有很多bug。

Obfuscator-LLVM提供了如下功能:

  • [Instructions Substitution] -mllvm -sub
  • [Bogus Control Flow] -mllvm -bcf
  • [Control Flow Flattening] -mllvm -fla

安装

由于llvm4.0不支持iOS 11的SDK中引入的一些新的语法,所以官方的obfuscator-llvm 4.0版本是没办法直接使用的,需要自己port到5.0以上版本的llvm中,好在ollvm的代码非常简单,照着llvm-4.0分支里的commits做一遍就行了,主要是lib/Transforms/Obfuscation下的一堆文件和lib/Transforms/IPO/PassManagerBuilder.cpp 测试的时候开启bcf编译会crash,参考了这个pull request进行修复,看了一眼代码,好像是在某种不支持的情况下跳过了bcf..... 编译完,需要在Xcode里配置一下,具体步骤可参考这里

使用

在工程目录里修改默认编译器为Obfuscator。

保护的范围可以通过两种方式选择,

  • 通过添加C Flags开启全局保护。

  • 通过函数注解的方式针对特定函数开启
    int foo() __
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/1011529
推荐阅读
相关标签
  

闽ICP备14008679号