文档类名混淆

类名混淆

预计阅读时间:10 分钟

什么是类名混淆?

类名混淆是将有意义的类名替换为无意义的随机字符串,使逆向工程人员难以理解代码结构和业务逻辑。

混淆前
UserManager
PaymentService
LoginViewController
混淆后
ZFJObj_8xK9m
ZFJObj_3nM7k
ZFJObj_9pX4j

工作原理

1

扫描项目

扫描所有 .h、.m、.swift 文件,识别所有类定义

2

过滤系统类

自动排除系统框架类和白名单中的类

3

生成映射

为每个类生成唯一的混淆名称

4

全局替换

在所有文件中替换类名,包括 Storyboard、XIB

支持的类类型

支持混淆

  • 自定义类 (@interface)
  • Swift 类 (class)
  • 分类和扩展
  • 协议 (protocol)

自动排除

  • 系统框架类
  • AppDelegate
  • 第三方库类

注意事项

  • 使用反射的类需要加入白名单
  • Storyboard 中的类会自动同步
  • 混淆后请完整测试应用功能