Tommonkey

All greatness comes from a brave beginning

0%

Frida简单脱壳指南

最近也在学习安卓app脱壳以及渗透测试方面的技巧,也是接触到了frida这个工具,这里就简单记录一下如何用这个工具来演示一下脱壳操作吧!

前戏准备

  • 安卓模拟器:如夜神模拟器,雷电模拟器
  • Python环境:本次演示环境的Python版本为:3.10.8
  • Frida:本次Frida安装版本为:Frida 16.2.1
  • Jadx:反编译工具
  • Java: Java环境,本次版本为:java version “17.0.5”
  • 准备一个加壳的APP
  • frida-dexdump:帮我们导出dex内存数据的tool,这里我的版本为:2.0.1

撸袖开干

安装测试的app和MT管理器

1
2
# MT管理器地址
https://mt2.cn/download/

1-1
安装frida(注意:若你的python版本比较低,比如3.6,建议下载较低版本的frida发行版,比如12.*)

1
pip3 install frida

1-2
根据我们下载的frida版本和模拟器配置下载相应的frida-server版本
1-3
1-4
将下载好的frida-server解压并将该文件放入安装模拟器共享目录,通过MT管理器将该解压文件放入安卓模拟器/data/local/tmp目录下
1-5
1-6
启动app软件,运行起来即可
进入安卓模拟器安装目录的bin文件夹下,通过adb进入shell启动frida-server服务
1-7
再起一个终端,同样进入安卓模拟器的bin目录下,通过adb执行如下操作进行转发监听
1-8
安装frida-dexdump,项目地址为

1
https://github.com/hluwa/frida-dexdump/releases/tag/v2.0.1

下载解压后直接执行

1
2
# -f 后面跟我们这次app的应用程序包名,Identifier栏的内容
frida-dexdump -U -f ******

1-9
当前目录下生成的相应包名的文件夹,里面就是拖出来的dex文件
1-10
dex文件按文件大小排序后,用jadx打开
1-11
即可看见反编译后的源码了
相关工具地址:

1
2
3
4
5
# jadx
https://github.com/skylot/jadx

# frida
https://github.com/frida/frida

OVER~

奖励作者买杯可乐?