freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

安卓常见脱壳方法
lsunmmer 2019-07-31 23:02:23 1166555

一、drizzleDumper

adb连接夜神模拟器

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

image.png

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

image.png

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

image.png

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

image.png

拖进模拟器

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

image.png

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

image.png

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

image.png

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

image.png

image.png

脱壳

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

image.png

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

二、Xposed框架及Fdex2脱壳

安装配置环境

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

image.png

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.

image.png

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

image.png

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

image.png

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

image.png

image.png

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

image.png

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

image.png

脱壳步骤

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

image.png

image.png

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

image.png

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

image.png

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

image.png

image.png

保存并退出文件

image.png

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

image.png

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

image.png

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

image.png

image.png

三、frida脱壳

Frida安装

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

 1、在windows安装客户端

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

image.png

image.png

安装好后,配置环境变量

image.png

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

image.png

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

image.png

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

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

image.png

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

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

image.png

 2) 在手机中安装服务端

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

image.png

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

image.png

然后修改属性为可执行

image.png

3) 测试安装环境

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

image.png

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

image.png

脱壳

在手机上启动frida server端

执行脱壳脚本

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

# 安卓安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 lsunmmer 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
TideSec
学习文章
lsunmmer LV.1
这家伙太懒了,还未填写个人描述!
  • 7 文章数
  • 1 关注者
程序分析基础知识
2020-11-12
搭建源码分析环境
2020-08-20
Ubuntu分析环境搭建
2020-03-19
文章目录