手机环境
- 打开cydia 添加源:
https://build.frida.re
- 打开刚刚添加的源 安装 frida
可能遇到的问题,手机5s ,系统10.3.3
,安装源一直失败。
image.png
如果报上述错误 安装不上
是因为iOS10
环境默认不带XZ Utils
, 需要自己下载安装
可以添加源https://apt.bingner.com/
,里面有XZ Utils
。
Mac 环境
- 安装
python
- 安装
pip
- 安装
frida
环境
sudo mkdir /opt/dump && cd /opt/dump && sudo git clone https://github.com/AloneMonkey/frida-ios-dump
- 安装依赖
sudo pip install -r /opt/dump/frida-ios-dump/requirements.txt --upgrade
,安装失败没有权限,在命令后加上--user
,sudo pip install -r /opt/dump/frida-ios-dump/requirements.txt —upgrade --user
- 修改
dump.py
参数 ,为自己的配置
User = 'root'
Password = '111111'
Host = 'localhost'
Port = 10010
- 设置别名:
vim ~/.bash_profile
,末尾增加alias dump.py="/opt/dump/frida-ios-dump/dump.py"
-
source ~/.bash_profile
生效
- 遇到
python
相关 无权限时,或者dump.py
报错找不到python相关的东西,去看看系统自带的权限,加上当前账户访问文件夹权限。如下错误
image.png
- 连接手机,
dump.py -l
查看进程,dump.py bundle id
开始脱壳,会在当前文件夹得到.ipa
文件。
image.png
导出所有头文件
目前很多app
都对一些功能打成了framework
,前面我们都只导出了可执行文件里的头文件,这次通过frida-ios-dump
砸壳后,导出ipa
里所有的头文件
-
https://github.com/QingangGit/all_class_dump.git
下载这个脚本工具
image.png
- 在all_class_dump.py 顶部加入:
# coding:utf-8
image.png
-
python [all_class_dump.py文件路径] [ipa包路径]
导出头文件,会放在当前目录下的dump_heads
文件夹里
image.png
接下来去掉我目前最新的腾讯视频广告(8.2.82)
- 如果是前面文章所说的方式,只砸壳可执行文件,导出头文件,你会发现跟广告相关的类,压根就找不到,因为腾讯视频已经给它打成了
framework
,你需要把framework
也脱壳,导出头文件。 - 因此这篇采用
frida-ios-dump
脱壳,再来实战一下 - 如果还是像以前那样
hook
掉QNBPlayerVideoAdsViewController
的几个方法,你会发现现在是不能去广告了的。 - 那么首先还是
Reveal
查看一下层级
image.png
- 发现有上图2个视图,既然hook
QNBPlayerVideoAdsViewController
已经不行了,那么我们就把上图2个视图的控制器给干掉试试。 - 如下图,hook
QADInteractAdContainView
的控制器QADInteractAdBussinessVC
,QADBaseEventView
的控制器QADMobileNewVideoController
。
image.png
-
跑到手机上看看
Dec-30-2020 12-08-04.gif
成功去掉了广告,经测试实际只需要hookQADBaseEventView
的控制器QADMobileNewVideoController
即可。
本文章仅供学习交流,如有侵权,请联系删除,谢谢!
网友评论