iOS脱壳工具与方法

2020-04-22  本文已影响0人  xymspace

App Store下载的包全都是经过苹果加密过的包。苹果不允许开发者自己加密ipa包,加密后的ipa包,我们是无法对其进行反编译的。也无法class-dump,需要对其进行解密才能反编译。因此本文从三种不同砸壳方法进行了阐述。

方式:

  1. 硬脱壳
  2. 动态脱壳(仅作了解)

查看mach-o是否脱壳
otool -l ./文件名| grep cryptid

硬脱壳

工具:Clutch、dumpdecrypted、frida(iOS12.0推荐)

Clutch

iOS12越狱设备运行Clutch报错:--->Killed: 9

cd /private/var/mobile/
ldid -e `which bash` > ent.xml
# sign Clutch with the ent. "-Sent.xml" is the correct usage
ldid -Sent.xml `which Clutch`
# inject into trust cache
inject `which Clutch`

dumpdecrypted

// 例子
// 目的是为了让动态库注入到要破解的app中运行
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/ABBD0DF1-9DDA-4212-A8C4-C03BE859F382/WeChat.app/WeChat

frida (iOS12.0推荐)

➜ cd /opt/dump/
➜ cd frida-ios-dump

/usr/bin/python /opt/dump/frida-ios-dump/dump.py

Frida

ios端配置:

1、安装frida

图片.png 图片.png 图片.png 图片.png 图片.png 图片.png 图片.png

2、搜索安装OpenSSH

打开cydia-点击搜索-输入OpenSSH,安装OpenSSH

图片.png

PC端配置:

1、安装Homebrew

图片.png

2、安装python:

brew install python

图片.png

3、安装wget:

brew install wget
图片.png

4、安装pip:

sudo python get-pip.py
图片.png

图片.png

5、安装usbmuxd:

brewinstall –-HEAD usbmuxd

图片.png

6、清理残留:

rm ~/get-pip.py

图片.png

Ps: 使用brew install xxx如果一直卡在Updating Homebrew… 可以control + z结束当前进程 再新开一个终端安装 此时可以跳过更新

安装frida for PC:

1、 终端执行命令安装frida

sudo pip install Frida

图片.png

2、 安装frida-tools

sudo pip install frida-tools【frida-tools是frida命令行工具】

图片.png

注意:frida和frida-tools二者缺一不可。

假如报以下错误:

-Uninstalling a distutils installed project (six) hasbeen deprecated and will be removed in a future version. This is due to thefact that uninstalling a distutils project will only partially uninstall theproject.

使用以下命令安装:

sudo pip install frida –upgrade –ignore-installed six

配置frida-ios-dump环境:

1、在这里下载砸壳的脚本并解压,然后cd到requirement.txt的录下

图片.png

2、安装依赖:

sudo pip install -r ./requirements.txt --upgrade

【这里是安装脚本中依赖的库,./requirements.txt路径根据自己的文件路径修改,请在frida-ios-dump-master文件夹下,执行该指令】

图片.png

3、 修改dump.py参数:

vim /home/ubuntu/文档/frida-ios-dump-master/dump.py

找到用户名、密码等信息

图片.png

如果你的设备连接密码做了修改需要在目录中的dump.py里面将Password改成你设置的密码。

备注:如果不习惯vim 打开/home/ubuntu/文档/frida-ios-dump-master/dump.py手动编辑。

4、全局操作dump

// dump.py文件路径别名
alias dump="/Users/用户名/Documents/usbmuxd/frida-ios-dump/dump.py"

砸壳演示!

1、 iOS 设备,USB 连接电脑。

2、 打开PC终端,输入iproxy 2222 22把当前连接设备的22端口(SSH端口),映射到电脑的2222端口。

图片.png

3、新建终端页面,输入ssh -p 2222 root@127.0.0.1 连接iOS设备。
(尽量用2222端口,曾尝试使用11101端口,脱壳到一半出现重连现象,导致无法继续脱壳,原因查明后再补充)


图片.png

4、dump.py -l 查看需要砸壳的应用。

图片.png

5、 dump.py 应用名或bundle id进行砸壳.

./dump.py(cd到dump.py的路径下) 应用名称

图片.png

上一篇 下一篇

猜你喜欢

热点阅读