IOS应用逆向之Flex调试工具【初级篇】
iOS应用中经常会见到各种UI类广告,例如Banner、Button、Splash等,这种类型的UI广告,我们可以利用Flex云端补丁进行广告去除,但这种云端补丁是怎么做出来的呢?
首先了解两款工具Reveal 和 FLEX ,Reveal需要使用Mac,FLEX直接可以在手机端使用,本期主要介绍FLEX工具。
- Reveal 和 FLEX 都是非常强大的利器。
- Reveal 可以查看APP的视图,层次,动态修改空间位置等,是一款非常强大的界面调试工具利器。
- FLEX 是应用内部调试工具,包括动态查看类,库,沙盒,动态修改UI等,一款非常强大的分析利器。
一、了解工作
FLEX是一款用于iOS开发的应用内调试和探索工具,使用时,FLEX显示一个工具栏,该工具栏位于应用程序上方的窗口中,在此工具栏中,您可以查看和修改正在运行的应用程序中的几乎所有状态:
- 检查并修改层次结构中的视图。
- 查看任何对象的属性和ivars。
- 动态修改许多属性和ivars。
- 动态调用实例和类方法。
- 通过计时,标题和完整响应观察详细的网络请求历史记录。
- 添加自己的模拟器键盘快捷键。
- 查看系统日志消息(例如,来自NSLog)。
- 通过扫描访问任何活动对象。
- 在应用程序的沙箱中查看文件系统。
- 浏览文件系统中的SQLite / Realm数据库。
- 使用控制键,移位键和命令键在模拟器中触发3D触摸。
- 浏览应用程序和链接系统框架(公共和私有)中的所有类。
- 快速访问有用的对象,例如[UIApplication sharedApplication]应用程序委托,关键窗口上的根视图控制器等。
- 动态查看和修改NSUserDefaults值。
所需工具:Flipboard FLEX Loader、FLEXer、FlexTool、FLEXing、FLEXall、FLEXible (其中一款即可,无需全部安装)
以上上几款Flex插件,除FLEXible外都可以在源内搜到,其中Flipboard FLEX Loader和FlexTool需在手机设置启用APP才可进行调试,其他工具直接可以在手机状态栏调用,本期教程使用工具FlexTool。
二、工具说明
Flex中“menu”是工具菜单,“views”是当前视图布局层次图,用于定位函数,“select”用于选择UI区域,“move”可以移动所选区域,“close”关闭Flex工具栏 。
三、实战去除爱思极速版启动广告
手机设置中打开FlexTool,选择启用爱思助手极速版,无需注销设备,直接打开爱思助手极速版,效果图如下:
点击select选择启动广告视图,点击move,移动确认下是否正确选择了广告视图,如已经确认正确选择到广告视图,点击views,进入加载函数页面,效果如下图
如上图所示,FFFastImageView就是我们需要找的函数,那么该怎么把它变成Flex补丁呢,就需要用到另外一款Flex 3工具,这里简单介绍一下Flex 3。
Flex 3 被称作iOS三大神器之一,是iOS 系统的一款手机端修改工具,功能十分强大,可以修改iOS 系统功能,还可以修改App 应用程序,去除广告,破解付费权限等等,Flex 3是一款共享软件,分为免费版和付费版,免费版每天只能够下载两个云端补丁,付费版无限制。
言归正传,继续讲解去除爱思助手极速版启动广告,打开Flex 3,点击左上角+号,选择爱思助手,如下图
选择后,在新窗口,点击Add units…,进入下一个界面,效果如下图
点击AsTools,在弹出的界面点击Process,等待片刻,AsTools右侧出现小箭头,效果如下图
搜索之前我们锁定的函数FFFastImageView ,然后点击进入下一个界面,如下图所示,我们可以很明显的看到一个-(void) reloadImage 函数,选择它,效果如下图
由于我已经知道本函数无法更改返回值,所以这里对于返回值修改就不做介绍了,直接返回主界面,启用补丁,效果如下图
打开爱思助手极速版,查看具体效果
爱思助手的启动广告已经去除了,至此,一个简单的去启动广告就完成了,是不是很简单,有没有想自己动手操作一番的冲动,O(∩_∩)O哈哈~
教程总结
Flex 3 功能十分强大,对于修改系统或者APP十分方便,可以实现很多功能,例如去除广告,强制开启APP付费功能等等,你也可以自行编写补丁,尽情享受Flex 3 带来的乐趣。
本教程仅供学习研究,切勿用于非法用途!