Android逆向-.so文件动态调试步骤

时间:2024-03-19 14:46:21

1、安装目标apk和把android_server(在IDA的dbgsrv目录下 )放到/data目录***意要给data和android_server文件赋予相应的权限:
chmod 777 <文件名>

2、运行android_server:
/data/android_server
Android逆向-.so文件动态调试步骤

3、打开新的控制台,打开adb端口转发:
adb forward tcp:23946 tcp:23946

4、运行apk,打开IDA,选择Debugger - Attach - Remote ARMLinux/Android debugger
Android逆向-.so文件动态调试步骤

点击OK,然后选择进程,可以用CTRL+F查找,完成后进入到调试界面

5、打开另一个IDA,把目标.so文件拖进去,找到要调试的函数的相对地址:
Android逆向-.so文件动态调试步骤

这里是0xF14。回到调试中的IDA,CTRL+S打开程序地址信息,搜索需要调试的.so文件:
Android逆向-.so文件动态调试步骤

注意:有时候搜不到想调试的.so文件,可能是因为你没有触发到Java层的System.loadLibrary方法,.so文件没有被加载到内存,尝试下点击app页面的按钮。
在这里,libhellojni.so的开始地址是0x610AA000,加上函数的相对地址0xF14,等于610AAF14。

6、按G键跳转至该地址,然后下断点:
Android逆向-.so文件动态调试步骤

接着按F9执行到这里,之后就可以愉快地调试了。