5

Android逆向调试环境搭建

 2 years ago
source link: https://blog.starryloki.com/2021/06/09/Android%E9%80%86%E5%90%91%E8%B0%83%E8%AF%95%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Loki's Blog

Android逆向调试环境搭建

Created2021-06-09|Updated2021-06-11
Word count:718|Reading time:2min|Post View:17

换了苹果全家桶后,手里的安卓设备只剩下一台3G内存的小米4,官方支持的MIUI最高的Android版本为6.0.1(API 23),十分卡顿而且许多app无法运行,于是出现了安卓模拟器的需求。而市面的Android模拟器大多为游戏而定制,几乎没有使用原生AOSP并提供root和拓展性(可安装xposed之类的)。于是我们把目标转向Android Studio自带的模拟器:Android Studio Virtual Device (AVD)

Android Studio 4.1.2

Android 7.1.1 x86 (API 25)

macOS Big Sur 11.4 x86_64

创建虚拟机

在选择设备型号的时候,选不带“Play Store”的即可,之后选择镜像,根据自己的架构选择x86或arm,这里选择的是x86 Images

值得一提的是,Android8.0以上(不含8.0)可能无法安装SuperSU来进行root,可能需要Magisk,而xposed对x86_64的系统支持不是特别好几乎都不支持,而带有Google APIs的镜像并不提供root权限,所以这里选择了Android 7.1.1 x86,理论上也适用于Android 8.0 x86。

获得ROOT权限

选择并下载好镜像后就可以进入系统了,进入系统并不能从Android Studio进入,我们需要用命令进入并附加-writable-system参数:

emulator -avd 模拟器名 -writable-system

接下来我们需要获取root权限:

系统自带的root权限只能从adb调用,并不能给里面的app使用,所以我们利用adb中的root权限刷入SuperSU

首先以root身份运行adb:

adb root
adb remount

之后再进入adb shell,如无意外应该是获得root的shell:

shell
adb shell
generic_x86:/ # setenforce 0

之后我们将SuperSU刷机包下x86目录里面的su.pie文件push到/system/bin和system/xbin目录下:

adb push su.pie /system/bin/su
adb push su.pie /system/xbin/su

之后进入adb shell(root),将su文件设成可执行并安装su:

chmod 0755 /system/bin/su
chmod 0755 /system/xbin/su
su --install
su --daemon&

之后退出adb shell,安装SuperSU程序和Xposed Installer:

adb install supersu.apk
adb install xposedinstaller.apk

安装完成后运行SuperSU,点击New User,之后弹出的对话框询问时候更新二进制,点击取消即可正常使用SuperSU了。

安装Xposed

我们已经获取了Root权限,接下来需要安装Xposed。

打开Xposed Installer,点击安装。这里可能会出现无法获取zip之类的错误,科学上网即可。

安装时需要root权限,允许即可,安装完成后重启就会发现xposed已经安装完成了:

这个SuperSU的root权限重启就会消失,消失后需要重新走一遍root流程,xposed则不受影响。

于是我们已经顺利搭建好环境了,再安装逆向或脱壳之后一些模块就能开展工作了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK