【移动安全】安卓常见脱壳方法

admin 2022年4月15日03:04:23评论173 views字数 2972阅读9分54秒阅读模式

山东新潮信息

专业|专注|卓越|安全


【移动安全】安卓常见脱壳方法
【移动安全】安卓常见脱壳方法
【移动安全】安卓常见脱壳方法
【移动安全】安卓常见脱壳方法
【移动安全】安卓常见脱壳方法
【移动安全】安卓常见脱壳方法
【移动安全】安卓常见脱壳方法


声明:Tide安全团队原创文章,转载请声明出处!文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!


一、drizzleDumper

adb连接夜神模拟器

1.  打开夜神模拟器,打开设置,调成手机模式,初次进入的话,进入设置,点击版本号5次,可以激活使用开发者模式,进入后打开USB调试功能

【移动安全】安卓常见脱壳方法

2.  打开文件资源管理器,进入夜神模拟器的安装位置,在地址栏输入cmd,回车,会打开cmd窗口,进入的路径就是夜神模拟器的安装位置。我的默认安装位置:E:ProgramFilesyeshenNoxbin

【移动安全】安卓常见脱壳方法

3.输入nox_adb.exe connect 127.0.0.1:62001即可以连接到adb

或者是 adb connect 127.0.0.1:52001

adb connect 127.0.0.1:62001

【移动安全】安卓常见脱壳方法

4、adb devices查看连接设备情况

【移动安全】安卓常见脱壳方法

 

拖进模拟器

1、在模拟器下,执行adb push E:1安装包2appAndroid砸壳drizzleDumper-master /data/local/tmp (前面是物理机下drizzleDumper工具地址,后面是模拟器下指定地址)

【移动安全】安卓常见脱壳方法

 

2、adb shell进入shell模式,查看:

【移动安全】安卓常见脱壳方法

3、执行命令exit,退出shell模式,且用步骤1里的命adb pushC:UsersAdministratorDesktopapkanma_driver.apk /data/local/tmp将要脱壳的APP放入到模拟器中

【移动安全】安卓常见脱壳方法

4、赋予drizzleDumper超级权限chmod 777/data/local/tmp/drizzleDumpe/libs/x86/drizzleDumper

【移动安全】安卓常见脱壳方法

【移动安全】安卓常见脱壳方法

脱壳

1、adb shell下执行/data/local/tmp/drizzleDumpe/libs/x86/drizzleDumper com.amcx.driver

【移动安全】安卓常见脱壳方法

2、可见脱了壳的文件保存在/data/local/tmp文件中

二、Xposed框架及Fdex2脱壳

安装配置环境

1、百度搜索FDex2、MT管理器、开发者助手、Xposed Installer、要实验的软件(同声翻译超级版),下载相应的APP安装包,在手机或模拟器中安装

【移动安全】安卓常见脱壳方法

2、Xposed Installer的基本原理是修改了ART/Davilk虚拟机,将需要hook的函数注册为Native层函数。当执行到这一函数是虚拟机会优先执行Native层函数,然后再去执行Java层函数,这样完成函数的hook。在安装Xposed时会遇到一下问题:

(1)安装框架时报TheXposed framework is not installed.Please download the latest ZIP file from XDAand flash it manually via recovery.

【移动安全】安卓常见脱壳方法

下载SDKplatform23,放到模拟器安装目录的platforms文件夹下

【移动安全】安卓常见脱壳方法

(2)安装完XposedInstaller后,打开软件,状态为Xposed框架未安装

【移动安全】安卓常见脱壳方法

点击official,选在我们需要的版本进行安装

【移动安全】安卓常见脱壳方法

【移动安全】安卓常见脱壳方法

安装完成后重启模拟器即可生效

【移动安全】安卓常见脱壳方法

 

在模块中勾选FDex2软件,重启模拟器后生效

【移动安全】安卓常见脱壳方法

脱壳步骤

1、打开开发者助手,赋予相应权限及悬浮窗

【移动安全】安卓常见脱壳方法

2、打开要脱壳的目标APP,点击开发者助手悬浮窗,可查看该APP是否加壳

【移动安全】安卓常见脱壳方法

3、打开FDex2,点击要脱壳的APP名称,弹出dex输出目录等信息,保存该路径

【移动安全】安卓常见脱壳方法

4、打开MT管理器,进入/data/user/0/android.translate.xuedianba,查看hook出来的dex文件

【移动安全】安卓常见脱壳方法

 

5、上图红色框内的dex文件不能编译,所以我们需要把它移动到左侧文件列表中

【移动安全】安卓常见脱壳方法

6、在/data/app/android.translate.xuedianba-1路径下找到要脱壳的目标软件包,点击base.apk查看其详细信息

【移动安全】安卓常见脱壳方法

7、点击查看,可以进入目标软件的各文件路径

【移动安全】安卓常见脱壳方法

8、在步骤5中找到与步骤7中classes.dex文件大小差不多的dex文件,用dex编辑器打开,查看里面是否含有步骤3中的hook包名

【移动安全】安卓常见脱壳方法

【移动安全】安卓常见脱壳方法

【移动安全】安卓常见脱壳方法

 

9、找到对应dex文件并删除多余的dex文件,对该文件重命名为classes.dex文件,

【移动安全】安卓常见脱壳方法

并移动到软件安装包内(如果报无权限,可在属性中修改相应权限)

【移动安全】安卓常见脱壳方法

10、AndroidManifest.xml用反编译方式打开,把第15行的com.tencent.StuShell.TxAppEntry替换成18行的android.translate.xuedianba.BaseApplication,替换完之后删除第16-18行

 

【移动安全】安卓常见脱壳方法

【移动安全】安卓常见脱壳方法

保存并退出文件

【移动安全】安卓常见脱壳方法

11、提示:在压缩文件中更新,点击确定

【移动安全】安卓常见脱壳方法

12、打开软件的功能选项,点击apk签名

【移动安全】安卓常见脱壳方法

13、签名成功后,点击安装(此处要先卸载之前安装的版本,卸载完之后安装即可)

【移动安全】安卓常见脱壳方法

【移动安全】安卓常见脱壳方法

三frida脱壳

Frida安装

   Frida的安装很简单,需要在windows安装frida客户端和在安卓安装frida服务端。

 1、在windows安装客户端

      安装python和pip,注意添加环境变量,打开pip的安装包,输入命令python setup.py install

【移动安全】安卓常见脱壳方法

【移动安全】安卓常见脱壳方法


安装好后,配置环境变量


【移动安全】安卓常见脱壳方法

安装完python和pip之后打开CMD,使用命令 pipinstall frida,安装完如下图所示。

【移动安全】安卓常见脱壳方法


安装frida-tools,执行命令pip install Frida-tools

【移动安全】安卓常见脱壳方法


备注:解决Unknown orunsupported command ‘install’的问题

1、wherepip找出 所有 pip的路径;

【移动安全】安卓常见脱壳方法


2、找到,并进入Python下的那个pip路劲;

3、再通过pipinstall  selenium 安装 即可;

【移动安全】安卓常见脱壳方法

 

 

 2) 在手机中安装服务端

首先到github上下载frida-server,网址为https://github.com/frida/frida/releases, frida提供了各种系统平台的server,我的手机为红米5plus,是64 arm,所以我下载的为arm64(下载版本应和frida版本对应)

【移动安全】安卓常见脱壳方法

 

解压后,使用adb将frida-server放到手机目录/data/local/tmp,


【移动安全】安卓常见脱壳方法

然后修改属性为可执行

【移动安全】安卓常见脱壳方法

  

3) 测试安装环境

首先启动手机上的frida服务器,记得要以root权限启动,

【移动安全】安卓常见脱壳方法


然后在windows主机上的python>Scripts目录下另外开启一个cmd,输入命令 frida-ps -U ,这行命令是列出手机上所有的进程信息,如果出现进程信息则说明环境搭配成功:

【移动安全】安卓常见脱壳方法


脱壳

在手机上启动frida server端

执行脱壳脚本

脱壳后的dex保存在/data/data/应用包名/目录下。



E




N




D






【移动安全】安卓常见脱壳方法


gūan




zhù







men





Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。

想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.net 或长按二维码关注公众号:

【移动安全】安卓常见脱壳方法





原文始发于微信公众号(白帽子):【移动安全】安卓常见脱壳方法

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月15日03:04:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【移动安全】安卓常见脱壳方法https://cn-sec.com/archives/912634.html

发表评论

匿名网友 填写信息