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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mingC0758/article/details/80948157

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执行到这里,之后就可以愉快地调试了。

阅读更多

没有更多推荐了,返回首页