1、安装目标apk和把android_server(在IDA的dbgsrv目录下 )放到/data目录***意要给data和android_server文件赋予相应的权限:
chmod 777 <文件名>
2、运行android_server:
/data/android_server
3、打开新的控制台,打开adb端口转发:
adb forward tcp:23946 tcp:23946
4、运行apk,打开IDA,选择Debugger - Attach - Remote ARMLinux/Android debugger
点击OK,然后选择进程,可以用CTRL+F查找,完成后进入到调试界面
5、打开另一个IDA,把目标.so文件拖进去,找到要调试的函数的相对地址:
这里是0xF14。回到调试中的IDA,CTRL+S打开程序地址信息,搜索需要调试的.so文件:
注意:有时候搜不到想调试的.so文件,可能是因为你没有触发到Java层的System.loadLibrary方法,.so文件没有被加载到内存,尝试下点击app页面的按钮。
在这里,libhellojni.so的开始地址是0x610AA000,加上函数的相对地址0xF14,等于610AAF14。
6、按G键跳转至该地址,然后下断点:
接着按F9执行到这里,之后就可以愉快地调试了。