####环境及工具
[color=]*
IDA_Pro_7.7
[color=]*
window10
[color=]*
真机Pexel XL(root)
[color=]*
系统andrioid9
[color=]*
Andrioid Device Monitor(非必须)
####准备工作
1、ida安装目录下的dbgsrv/android_server64
image.png (56.29 KB, 下载次数: 0)
下载附件
2023-10-24 10:48 上传
执行命令将调试服务放入安卓机器
打开cmd到当前目录
[color=]`1、adb push andrioid_server64 /data/local/tmp/as `
将服务push入安卓机器中并且改名为as
[color=]`2、adb shell`
进入安卓命令行
[color=]`3、su`
切换root权限
[color=]`4、cd /data/local/tmp`
进入目录
[color=]`5、chmod 777 andrioid_server64`
修改andrioid_server64权限
[color=]`6、./andrioid_server64 -p12345`
启动服务 -p为启动端口参数可以不加 不加默认就是23946端口
image.png (38.31 KB, 下载次数: 0)
下载附件
2023-10-24 10:48 上传
[color=]`7、adb forward tcp:12345 tcp:12345`
打开新的cmd 转发端口
image-1.png (12.85 KB, 下载次数: 0)
下载附件
2023-10-24 10:48 上传
2、启动ida及其他设置
image-2.png (65.89 KB, 下载次数: 0)
下载附件
2023-10-24 10:48 上传
我这里是64位的所以启动ida64.exe
image-3.png (29.95 KB, 下载次数: 0)
下载附件
2023-10-24 10:48 上传
打开需要调试的so
image-4.png (156.71 KB, 下载次数: 0)
下载附件
2023-10-24 10:48 上传
点exports找到需要调试的代码
image-5.png (22.19 KB, 下载次数: 0)
下载附件
2023-10-24 10:49 上传
我这里是demo所以就在导出函数里面
image-6.png (95.55 KB, 下载次数: 0)
下载附件
2023-10-24 10:49 上传
双击进入汇编
image-7.png (34.57 KB, 下载次数: 0)
下载附件
2023-10-24 10:49 上传
tab进入伪C代码
image-8.png (39.7 KB, 下载次数: 0)
下载附件
2023-10-24 10:49 上传
f2打上需要调试的代码debugger
image-9.png (108.74 KB, 下载次数: 0)
下载附件
2023-10-24 10:49 上传
真机调试模式选择这个
image-10.png (51.62 KB, 下载次数: 0)
下载附件
2023-10-24 10:50 上传
简单调试点击这个就好了 不要点击倒数第二个在库加载/写在时挂起(
[color=]`当时就是看了其他教程点击了这个 结果发现这个是库加载的时候就会挂起在断点上 导致迟迟debugger不到自己设置的点上--小白踩坑`
)
image-12.png (27.72 KB, 下载次数: 0)
下载附件
2023-10-24 10:53 上传
主机localhost/127.0.0.1都可以 端口就是刚刚转发出去的端口这里是12345
3、apk为设置为debugger模式
!
image-13.png (112.75 KB, 下载次数: 0)
下载附件
2023-10-24 10:53 上传
[color=]`adb shell am start -n "com.example.myapplication/com.example.myapplication.MainActivity" -D`
这里 ""里面的是apk的入口
image-14.png (19.36 KB, 下载次数: 0)
下载附件
2023-10-24 10:53 上传
image-15.png (229.8 KB, 下载次数: 0)
下载附件
2023-10-24 10:53 上传
附加到进程
image-16.png (17.51 KB, 下载次数: 0)
下载附件
2023-10-24 10:53 上传
选择要调试的进程 这里可以用ctrl+f搜索
image-17.png (184.59 KB, 下载次数: 0)
下载附件
2023-10-24 10:53 上传
加载完对应东西后会在这里断住
image-20.png (63.8 KB, 下载次数: 0)
下载附件
2023-10-24 10:53 上传
打开Andrioid Device Monitor 我这里安卓了andrioid SDK 所以 对应的tools/lib下有对应的monitor 这里有一个坑 就是 这个monitor 只有安装了JDK1.8才可以打开 其他版本会报错
[color=]`jdb -connect com.sun.jdi.SocketAttach:port=8700,hostname=localhost`
执行命令
image-19.png (53.89 KB, 下载次数: 0)
下载附件
2023-10-24 10:53 上传
等待初始化就可以了
image-21.png (22.33 KB, 下载次数: 0)
下载附件
2023-10-24 10:53 上传
image-22.png (134.86 KB, 下载次数: 0)
下载附件
2023-10-24 10:53 上传
这样就可以了 已经进入打的断点里面了
#####这里最需要注意的就是
image-23.png (51.91 KB, 下载次数: 0)
下载附件
2023-10-24 10:53 上传
选项 新手应该是暂时不需要的 这里是库加载的时候就会挂起/卸载断点 新手第一次调试不用勾选这个