【逆向】IDA 动态调试之普通模式调试 apk

起序:因为 安卓模拟器(比如:雷电,夜神,蓝叠...) 都是 x86 架构的,而调试的是 arm 架构,所以需要 arm 架构的 安卓模拟器

调试模式文章
普通模式【逆向】IDA 动态调试之普通模式调试 apk
调试模式【逆向】IDA 动态调试之调试模式调试 apk

一、软件环境

  • IDA:IDA 7.0

  • SDK

  • APK:Calculator.apk

  • 软件下载:百度网盘 提取码:qhij

二、搭建环境

1、下载并解压文件

在这里插入图片描述

2、打开模拟器

这个模拟器打开的运行效果很差,将就可以调试用。

在这里插入图片描述

3、android_server

IDA pro/dbgsrv 目录下有一红框圈出的文件 android_server,它是提供调试 arm 架构的所需服务文件。

在这里插入图片描述

4、连接设备

1、检查设备

因为我电脑上已经有了一个 SDK,所以解压出来的 SDK 配置好环境变量后,我把 sdk/platform-tools 目录下的 adb.exe 复制了一份,更改为 adb1.exe 文件,为了是不与我原来的 SDK 在命令上的冲突。

# 检查是否连接上设备
adb devices

在这里插入图片描述

2、上传 android_server

android_server 复制到 模拟器/data/local/tmp 目录下,这里建议更改复制之后的文件名,因为有一些模拟器会检测,会导致 android_server 复制失败,我这里更改为 as

# 最后的 as 是文件复制之后更改的名称,这里原目录为什么有双引号呢,是因为 IDA pro 这个文件名中间有空格
adb push "F:\Program Files\IDA Pro\dbgsrv\android_server" /data/local/tmp/as

在这里插入图片描述

3、授予可执行权限

android_server 文件上传到 /data/local/tmp 目录下之后,还没有 可执行权限,需要 授予可执行权限

# 连接设备
adb shell
# 获取 root 权限(有些模拟器需要执行 su 命令),这里默认就是 root 权限了,所以我就没写
su
# 授予可执行权限
chmod 777 /data/local/tmp/as
# 执行,启动之后开启占用 23946 端口
./as

在这里插入图片描述

综合

在这里插入图片描述

4、端口转发

此时需要使用 本机模拟器 之间进行端口转发,需要新打开一个 cmd 窗口。

adb forward tcp:23946 tcp:23946

在这里插入图片描述

5、启动软件

先安装软件,将 Calculator.apk 直接拖进模拟器中就可以了,然后点击就完事了

在这里插入图片描述

6、IDA 配置

DebuggerAttachRemote ARMLinux/Android debugger

在这里插入图片描述

Hostname 输入 127.0.0.1,点击 OK。

在这里插入图片描述

出现的都是 进程信息,选择刚刚启动软件的进程,选择包名 com.star.calculator,点击 OK。

在这里插入图片描述

效果展示,好了,我该调试软件了。

在这里插入图片描述

可以看出连接上了,毕竟我要做教程,所以就点击了关闭。

在这里插入图片描述
如果对您有帮助,点个赞再走吧。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

边扯边淡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值