外部SDK存档-混淆
有两种情况,需要我们添加外部SDK混淆配置
- 当我们想要抹除第三方SDK符号特征(不推荐,虽然可以做到,但是如果存在
objc/swift
语言的SDK,运行时崩溃难以查找) - 当我们添加了某一种资源的加密混淆后,那种资源会被某个.a/.framework(Fake Framework)加载,结果引起那个外部SDK崩溃(比如一个项目用了lua文件加载都是通过liblua.a文件,我想加密lua文件,就需要添加liblua.a文件到配置里面,就能拦截这个.a文件中的所有c/c++文件流函数)
配置【外部SDK存档-混淆】
-
进入某个混淆工程设置,选中【外部SDK存档-混淆】
-
点'+'创建一个条目,随意命名一个比如liblua
-
修改路径,选取一下那个SDK文件
-
按需开启混淆选项
如果都不开启,就会执行内置的一些符号的替换操作,主要是为了配合运行时BUG修复(主要是配合自定义资源混淆功能)
截图
混淆选项说明
- c symbol confuse(C符号混淆开启)
如果被识别成一般的c符号格式,就会被混淆
- c++ symbol confuse(C++符号混淆开启)
如果被识别成一般的c++符号格式,就会被混淆
- objc symbol confuse(ObjC符号混淆开启)
如果被识别成一般的objc符号格式,就会被混淆,对Objc Meta Data也有效
- swift symbol confuse(Swift符号混淆开启)
如果被识别成一般的swift符号格式,就会被混淆,对Objc Meta Data也有效