iOS版使用说明

1.概述

本文主要介绍iOS源码混淆产品之Xcode插件的使用方式,阅读者需具备iOS开发经验,否则使用可能存在困难。

2.安装插件

v13.0.2-20190703及其之前的版本为替换clang编译器的模式,之后版本为切换Xcode -> Toolchains的模式,后者可以在Xcode中快速切换编译器。

Xcode插件通过执行python install.py 命令安装编译器,使用完成后执行 python uninstal.py 即可卸载编译器。如下图:

(备注:如果有多个Xcode版本,请修改configuration.txt文件中Xcode默认的路径。)

image-20190802113657288

执行安装会提示输入密码,输入电脑开机密码即可,Xcode插件安装成功后会有Install Success提示,如下图: "2-2"

3.引入头文件

将include目录下的KiwiOBF.h头文件拷贝到iOS项目中,并在需的地方进行引用即可。

4.添加KIWIOBF标签

对需要进行混淆保护的函数,添加KIWOBF标签,以告知编译器该函数需要进行混淆编译。如下图: "2-1"

5.设置参数

安全编译器有默认混淆参数,如不能满足需求,可以自定义配置参数

加密参数说明

标识 作用 描述
-kce-fla 控制流平展次数 将代码中的if、while、for、do等控制语句随机转化为switch分支选择语句,设置为2表示对该函数循环处理2次;取值范围是0~5,默认值1
-kce-fla-chance 控制流平展函数比例 针对未设置标签的函数,进行随机加密,如果只加密标记的函数,设置0即可,设置为50表示对该项目中50%的函数进行随机加密;取值范围是0~100,默认值0
-kce-bcf 控制流伪造次数 针对C/C++代码中的跳转语句和分支语句,随机添加条件跳转指令,模糊代码执行流程;设置为2表示对该函数循环处理2次;取值范围是0~5,默认值1
-kce-bcf-prob 控制流伪造基本块比例 每次加密随机覆盖基本块的比例,100表示所有基本块都加密;取值范围是0~100,默认值15
-kce-bcf-chance 控制流伪造函数比例 针对未设置标签或未勾选的函数,进行随机加密,如果只加密标记的函数,设置0即可;取值范围是0~100,默认值15
-kce-str 字符串加密 字符串加密开关,对项目中的明文字符串进行加密保护;默认值0关闭
-kce-use-unity Unity开关 设置-kce-use-unity=1,表示当前为Unity项,如果是Unity项目,不设置会编译异常,默认为0

可对比混淆前后可执行文件的大小,或使用IDA Pro分析实际混淆效果[参数越大,编译时间更长,如果编译时等待时间过长,建议调整参数后重新编译]

iOS项目的混淆参数在 Other C Flags,Other C++ Flags,Other Swift Flags中设置,如下图: "2-1"

6.执行编译

项目编译操作和原始流程一样,iOS项目在Xcode中执行Build。

"2-1"

7.卸载插件

Xcode插件:执行 python uninstall.py 即可卸载编译器。

8. 加密效果参考

代码混淆效果参考

如遇问题请联系我们的客服或技术支持,公司电话:028-83177117

results matching ""

    No results matching ""