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