0x00 一点思路
全程是虚拟机下进程,虚拟机已经搭建好需要的所有工具(包括脱壳机,格式转换工具等),脱壳机是自动进行脱壳的,即运行脱壳机后倒入需要脱壳的文件,就等着收萝卜了。
0x01 虚拟机获取及配置
虚拟机下载地址(配置好的虚拟机):http://gofile.me/4rrTc/ZlkqddEht
初始化配置为:4核CPU,8G内存,100G硬盘。
如果机器带不动,可以自行降低配置,但是由于内置安卓虚拟机的内存为2G,所以不建议把内存降低到4G以下。
开启虚拟化:
补充说明:
虚拟机内置安装了jdk环境,版本为1.8版本。
桌面\platform-tools文件夹里面有adb等常用工具,未添加在环境变量中,需要自己cd到该目录运行。
桌面有android killer工具文件夹。
C:\android studio 为android studio安装目录,如没有必要没必要去动那个文件夹。
C:\sdk\adt-bundle 为模拟器主要目录,C:\sdk\adt-bundle\1\SDK Manager为启动程序。
0x02 启动安卓模拟器(AVD)
模拟器路径:C:\sdk\adt-bundle\1\SDK Manager
点击启动SDK manager之后,会启动更新的操作,这里可以忽略
点击close关闭就可以。之后点击TOOLs列表,启动manage avd。
点击start-->lauch开启。
模拟器开启后:
0x03 安装需要脱壳的应用(.apk)
a.可以直接拖进去安装,但是可能会造成安卓虚拟机重启,不推荐。
b.使用adb命令安装,即adb install apk路径。
0x04 脱壳操作
安装完成之后进行启动应用,稍等一段时间之后通过adb shell,进入到虚拟机目录中。应用目录为/data/data/包名。
这里我们测试的脱壳apk为com.kk.evilreceiver 我们需要cd到该目录下面。这里有个隐藏目录为.jiagu,直接ls是看不到的,需要ls –all。
然后继续cd 进去,同时这里需要注意,如果应用程序不运行是没有的,这个脱壳机是基于内存中dump dex原理。这里有一个classes.dex_1873008.dex文件,说明脱壳成功了。(如果没有后缀为数字的即脱壳失败)
0x05 文件导出
需要退出至虚拟机操作pull:
C:\Users\admin\Desktop\platform-tools>adb pull /data/data/com.kk.evilreceiver/.jiagu/classes.dex_1873008.dex
此时将classes.dex_1873008.dex文件导出到platform-tools文件夹下:
0x06 格式转换
用C:\Users\admin\Desktop\AndroidKiller\bin中dex2jar将dex转换成jar文件
指令:d2j-dex2jar.bat C:\Users\admin\Desktop\platform-tools\classes.dex_1873008.dex
文件存储在C:\Users\admin\Desktop\AndroidKiller\bin\dex2jar
用C:\Users\admin\Desktop\AndroidKiller\bin\jd-gui下jd-gui.exe打开.jar文件: