bang-apk脱壳
题目源于【网鼎杯2020青龙组 bang】,主要考点为apk脱壳,题目使用梆梆安全加固
记录一下如何使用ApkShelling
脱壳
安卓模拟器
我这里使用地是Android Studio创建安卓模拟器,当然你也可以直接下一个拥有root权限的安卓模拟器
镜像要求:
- Android 8.0(包含8.0)以下的镜像
- 镜像Google APIs
- ABI为x86架构
使用可写权限启动模拟器
以后想要root的话也需要这样打开
1 | cd xxx/android-sdk/tools |
安装SuperSU
SuperSU下载地址:https://supersuroot.org/download/
1 | cd xxx/android-sdk/platform-tools |
安装Xposed
Xposed下载地址:https://repo.xposed.info/module/de.robv.android.xposed.installer
1 | cd xxx/android-sdk/platform-tools |
Root模拟器
1 | cd xxx/android-sdk/platform-tools |
上传配置文件
SupoerSu.zip下载地址:https://download.chainfire.eu/1220/SuperSU
把SuperSu/x86/su.pie
上传到模拟器
1 | adb push su.pie /system/bin/su |
进入adb shell修改文件权限
1 | adb shell |
在模拟器上分别打开SuperSU和Xposed Installer进行安装
安装SuperSU时不要选择更新,不然会卡死在开机页面,需要重新root
安装Xposed Installer后授权重启即可
关闭模拟器时直接x掉就好,千万不要选power off,不然需要重新root
重启使用adb reboot
安装ApkShelling
AplShelling下载地址:https://github.com/OakChen/ApkShelling
Android Studio打开ApkShelling,修改XposedEntry.java的targetPackages值,加入需要脱壳的包名
1 | private static final String[] targetPackages = |
launch option改为nothing
安装完后重启,然后上传题目的apk,再拉取题目的dex
1 | adb shell ls /data/data/com.example.how_debug |
jadx直接打开dex搜索flag
参考
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.