IDA--调试apk

0x0 前言

IDA 的调试功能也很强大,尤其是它的远程调试,看看怎么调试 apk。
这里使用 android studio 的模拟器作为远程设备。

0x1 安装 apk

这里的模拟器是 x86 版本的。
首先打开模拟器,安装 apk,这里的 apk 名字是 java.apk

adb install java.apk

安装之后可以先测一下能不能正常启动运行。

0x2 设置 dbg server

在 IDA 的 dbgsrv 文件夹找对应的 server 程序,我这里用的是 android_x86_server,执行命令:

# 上传 dbg server
adb push android_x86_server /data/local/tmp/

# 进 shell 添加执行权限并启动
adb shell
cd /data/local/tmp/
chmod 755 android_x86_server
./android_x86_server

正常情况会有这样的输出:

Listening on 0.0.0.0:23946

端口号一会儿要用。

0x3 IDA 设置

IDA 直接打开 apk 文件,然后选择其中的 classes.dex(我是调这个文件的,想调 so 文件也可以自己选择),在需要的位置设置断点,开始设置调试器。

这里默认选的是 Dalvik debugger,因为调的是 dex 文件。

设置应用和端口,这里注意端口和上面的保持一致即可:
Debugger -> Process options
应用和端口设置

设置 Package name 和 Activity:
Debugger -> Debugger options -> Set specific options
Package name 和 Activity 设置

0x4 愉快地调试

因为 Android 大部分是回调函数,所以如果看到 Running 的消息,就可以在模拟器里做一些操作,让程序继续运行了。

开始愉快地调试吧。

20200522

猜你喜欢

转载自www.cnblogs.com/-rvy-/p/12940702.html