安卓so动态调试

实验环境

windows10
IDA PRO 7.5
root的安卓实体机

环境准备

上传远程调试程序到安卓手机,并给执行权限,之后就可以运行起来了

1
2
3
adb push android_server64 /data/local/tmp
redfin:/data/local/tmp # chmod +x android_server64
redfin:/data/local/tmp # ./android_server64
1
2
3
4
5
6
7


adb shell am start -n com.zj.wuaipojie/.ui.ChallengeEight
adb shell am start -D -n com.zj.wuaipojie/.ui.ChallengeEight (去掉-D 则表示不以debug模式启动app)
adb forward tcp:23946 tcp:23946 (端口转发)
adb forward tcp:8700 jdwp:PID (pid监听)
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700 (jdb挂起)

PS:若不是以debug启动则不需要输入后两条命令

调试SO应该不用调试模式

IDA调试

IDA打开so文件后,找到要调试的代码并下断点(F2)

之后附加到进程,选择那个包,之后继续运行即可

IDA指令跟踪

在要跟踪的代码前后都下好断点,暂停在第一个断点

调试器-追踪-跟踪选项


设置为指令跟踪

之后点击继续运行程序即可

打赏专区