在逆向分析过程中,遇到静态变量或者静态方法,应该如何分析?

需求: 今天在分析自己公司的 App,发现涉及到静态变量参与的,没有较为明显的提示信息

静态变量参与的判断

以下是 IDA f5 分析:

image

这里对应的源代码如下:

image

上图中 _isFristLoad 的声明:static BOOL _isFristLoad = NO;
在实际分析中,遇到这种应该如何分析呢?遇到byte_100F74EF9(或者类似这种),可以当做是静态变量处理吗?这个值应该如何定义,才能兼容原项目?求大佬们解答:thinking:

你确定这是对应的源码?

重新发,看错行了

什么提示信息? 要分析啥?

遇到byte_100F74EF9(或者类似这种),可以当做是静态变量处理吗?这个值应该如何定义,才能兼容原项目?

是的长这样的就是static或者全局变量,二者本质上没有区别

兼容原项目是什么意思

比如在CustomViewController里有一个static修饰的变量,可以通过什么方式可以修改这个变量,让其他使用这个变量的地方起作用

用指针访问, static变量都有一个固定地址

那这个固定地址应该怎么查找呢?双击 byte_100F74EF9 这个吗?

你先了解下全局变量存哪吧,这么大个数字写在那了

好的,我去找找全局区中 bss 的位置,多谢大佬的帮助