以下已某app中的libEnvRelayUpdate.so文件中的java_com_tq_my_myUpdateDialog_nativeOnConfirm 为例分析。
1 先用一个IDA动态启动附加到模拟器上的App应用程序
2.在开一个ida工具用于静态分析so文件的函数属性。
找到java_com_tq_my_myUpdateDialog_nativeOnConfirm函数的地址 8F5C0
3.在动态调试的IDA中找到libEnvRelayUpdate.so的基地址
具体步骤 先用ctrl+s快捷键打开apk加载的模块 然后在跳出的窗口中用ctrl+F快捷键搜索 libEnvRelayUpdate.so的名字。 可以看出动态加载的libEnvRelayUpdate.so的基地址就是
15400000 。那么要定位函数的地址只要将加载的基地址加上静态定位的地址就是该函数的相对地址了 相对地址= 附加的基地址 + 静态的地址 15400000+8F5C0 = 1548F5C0
4. 最后用快捷键G去定位要去查找的函数数据,根据上面的分析,只要定位G中的地址是1548F5C0 那么就可以定位到java_com_tq_my_myUpdateDialog_nativeOnConfirm 的位置了(注意:G快捷键不仅可以定位地址也可以直接定位函数名称)
延伸
用G定位函数的方法:例如在编辑框中输入fopen 那么就可以定位到函数的具体地址的详细信息了。