文档资源混淆
资源混淆
预计阅读时间:8 分钟
什么是资源混淆?
资源混淆是对应用中的图片、音频、配置文件等资源文件进行重命名或修改, 防止通过资源文件名推断应用功能,同时增加逆向分析的难度。
支持的资源类型
图片资源
.png, .jpg, .gif, .webp
音频资源
.mp3, .wav, .m4a, .caf
配置文件
.json, .plist, .xml
混淆方式
1. 文件名混淆
将有意义的文件名替换为随机字符串
login_button.png→zfj_8xK9m.png2. Assets.xcassets 混淆
混淆 Asset Catalog 中的图片集名称
icon_settings→zfj_3nM7k3. 图片内容修改
微调图片像素,改变文件哈希值
视觉上无差异,但文件指纹完全不同
配置选项
启用资源混淆
obfuscateResource: true混淆 Assets
obfuscateAssets: true修改图片哈希
modifyImageHash: true资源白名单
resourceWhitelist: []自动更新引用
资源混淆后,CodeFog 会自动更新以下位置的引用:
源代码中的资源引用
Storyboard/XIB 文件
Info.plist 配置
Assets.xcassets 内容
LaunchScreen.storyboard
项目配置文件
注意事项
- •AppIcon 和 LaunchImage 默认不混淆
- •通过字符串拼接加载的资源需要手动处理
- •第三方 SDK 的资源文件建议加入白名单
- •混淆后请检查所有图片是否正常显示