本博客地址:https://security.blog.csdn.net/article/details/82930285
=====================================================
Android-so加载深入分析:
https://download.csdn.net/download/wutianxu123/10700427
=====================================================
一、使用IDA静态分析so文件
注意:IDA不支持修改代码,修改代码需要其他工具支持
使用NDK开发能够编译c/c++程序,最终生成so文件。而so文件是一个二进制文件,我们是无法直接分析so文件的,所以这里需要用到一个反编译工具IDA Pro。IDA Pro能够对so文件进行反汇编,从而将二进制代码转化为汇编语言,利用IDA Pro神奇的F5功能还能将汇编语言反编译成c/c++程序。
IDA的常用快捷键:
Shift+F12:
快速查看so文件中的字符串信息
F5:
可以将ARM指令转化成可读的C代码,同时可以使用Y键,修改JNIEnv的函数方法名
Ctrl+S:
两个用途。在IDA View页面中可以查看so文件的所有段信息,在调试页面可以查看程序所有so文件映射到内存的基地址
G:
可以在调试界面快速跳转到指定的绝对地址,进行下断点调试。如