文章目录 前言 I 防止静态分析 1.1 使用static inline方式编译函数,防止静态分析。 1.2 把函数名隐藏在结构体里,以函数指针成员的形式存储 1.3 使用宏进行替换字符串,来保护关键类名、方法名 1.4 签名key 的存储 II 敏感信息的安全设计Checklist 前言 应用场景:签名函数,把函数名隐藏在结构体里,以函数指针成员的形式存储来进行敏感逻辑的保护。 为了提高代码的安全性,可以采用把把函数名隐藏在结构体里,以函数指针成员的形式存储。 编译后,只留了下地址,去掉了名字和参数表,提高了逆向成本和攻击门槛. 在OC 开发中使用C 语言实现算法相关的功能,来保障代码的安全性。 iOS 的底层是用 C C++ 实现的,编译之后生成的大都是 subroutine, class-dump 拿它没办法,只能使用IDA工具。