加密资源的调试技巧

当我们必须加密了某一类资源后,引起程序崩溃,这个时候基本都是未能正确拦截API导致的,要么是因为外部SDK的API未能被勾住,要么就是压根没有加入拦截,这个时候我们要么调整调用API(参考附录1),要么就要确定是什么API导致的

一. 准备好本地调试

首先我们按照本地调试COSDK 配置好本地调试。

二. 开始排查资源问题

当我们大概确认了问题所在,我们需要验证想法,想通过恢复某些文件,又不想重新打包,来快速验证想法,就需要按下面流程来操作

  1. 在工程页面点击【导出文件】后,点【立即导出】找到对应目录下的 reports/文件数据.csv 文件,通过这个文件可以知道混淆后的文件名和原始名称,你可以搜索出问题的文件名称(改名后的),得到原始名字

  2. 在工程页面搜索原始名字,定位到对应的资源文件

  3. 在该资源上右键菜单里面点击【查找备份文件】能找到那个文件的未加密版本,Ctrl + C 拷贝一下,后面用来做替换

  4. 在【编译产物】界面,点击【扫描APP】,然后在搜索框里面找出问题的文件名称(改名后的),点击右键菜单【Finder中显示】

  5. 把原始文件 Ctrl + V 拷贝过来,然后改名替换一下

  6. 在【编译产物】界面,点击【修改信息】,点击【执行修改】,利用这个功能来重签名

  7. 使用Xcode打开工程,直接开始调试,就能验证了