需求: 今天在分析自己公司的 App
,发现涉及到静态变量参与的,没有较为明显的提示信息
静态变量参与的判断
以下是 IDA f5
分析:
这里对应的源代码如下:
上图中 _isFristLoad
的声明:static BOOL _isFristLoad = NO
;
在实际分析中,遇到这种应该如何分析呢?遇到byte_100F74EF9(或者类似这种),可以当做是静态变量处理吗?这个值应该如何定义,才能兼容原项目?求大佬们解答
需求: 今天在分析自己公司的 App
,发现涉及到静态变量参与的,没有较为明显的提示信息
以下是 IDA f5
分析:
这里对应的源代码如下:
上图中 _isFristLoad
的声明:static BOOL _isFristLoad = NO
;
在实际分析中,遇到这种应该如何分析呢?遇到byte_100F74EF9(或者类似这种),可以当做是静态变量处理吗?这个值应该如何定义,才能兼容原项目?求大佬们解答
你确定这是对应的源码?
重新发,看错行了
什么提示信息? 要分析啥?
遇到byte_100F74EF9(或者类似这种),可以当做是静态变量处理吗?这个值应该如何定义,才能兼容原项目?
是的长这样的就是static或者全局变量,二者本质上没有区别
兼容原项目是什么意思
比如在CustomViewController里有一个static修饰的变量,可以通过什么方式可以修改这个变量,让其他使用这个变量的地方起作用
用指针访问, static变量都有一个固定地址
那这个固定地址应该怎么查找呢?双击 byte_100F74EF9
这个吗?
你先了解下全局变量存哪吧,这么大个数字写在那了
好的,我去找找全局区中 bss 的位置,多谢大佬的帮助