移动安全-IDA 动态调试 APP

一、前言

IDA 动态调试 APP 操作流程记录。本文主要内容分为两部分,设备 root 后刷入 Magisk 插件配置调试所有 APP 权限以及 IDA 动态调试APP 操作步骤。

二、配置调试权限

首先需要一台 root 的安卓手机,设置里打开 开发者选项,勾选USB调试。其次需检查手机设备是否具备调试所有 APP 的权限,具体检查方法 adb shell 后输入 getprop ro.debuggable ,若输出为 1 则为成功开启了调试权限,若为0则未开启。开启方法如下:

1、使用 MagiskHidePropsConf 修改 getprop ro.debuggable=1,目的是设置所有 app 可调试,该方法即 root 后利用 Magisk 插件 MagiskHidePropsConf 开启权限。面具安装方法不再这里阐述。插件下载地址:https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf 然后在面具 app 中-》模块-》从本地安装-》选择下载的 MagiskHidePropsConf 然后重启手机。

微信图片_20240213140854

2、重启手机后进行 adb shell,执行 props 进入插件配置开启权限,具体操作截图如下:

1
2
adb shell
props

image-20240204110219811

image-20240204110336419

image-20240204110526798

image-20240204110542131

重启后进入 adb 输入 getprop ro.debuggable ,若输出为 1 则为成功开启了调试权限

image-20240204110743170

三、IDA 调试 APP

1、在 ida 安装目录 /dbgsrv找到对应的 android_server ,32 位 arm 就是 android_server

image-20240204095233694

2、然后利用 adb 上传至手机上的 /data/local/tmp 目录下

1
adb.exe push C:\Users\Boom\Desktop\app\IDA_Pro_8.3\dbgsrv\android_server64 /data/local/tmp

image-20240204101243016

3、adb shell 进入 Android 设备,给予 android_server64 权限,并启动服务端

1
2
3
4
5
adb shell
su
cd /data/local/tmp
chmod +x 777 android_server64
./android_server64

image-20240204101558154

4、IDA 调试,adb 转发本机端口到安卓 android_server 监听的端口,然后打开 IDA 选择 Go Work on your own

1
adb forward tcp:23946 tcp:23946

image-20240204111907048

5、进入到 IDA 界面,选择远程调试

1
Debugger->Attach->Remote ARMLinux/Android debugger

image-20240204111450366

image-20240204111616630

6、找到需要调试的 APP PID号

image-20240204112126337

选择需要调试的 PID 进行调试即可

image-20240204112401666

image-20240204112813449

四、参考

1
2
https://www.cnblogs.com/GH-123/p/13413063.html
https://zhuanlan.zhihu.com/p/660604996