Skip to content
Menu
CFC Studio
  • 实验室主页
  • CFC 招新简章
  • 友情链接
  • RSS订阅
CFC Studio

iOS 逆向简单应用 – 去广告

Posted on 2016年3月25日2020年5月26日 by 知秋

学了两周的iOS逆向了,学了东西总想用一用,于是下载了一个小游戏-2048来试试刀.
很多人(包括我自己)在没有接触逆向工程的时候可能会觉得那东西非常难,要接触一大堆汇编代码什么的。
实际上简单逆向工程的运用是不复杂的,在这个去广告的过程中甚至没有用到汇编知识。

1.Reveal 分析 App 的 UI 结构

Reveal 是一款用来调试iOS UI的软件,可以给开发者提供运行时App的UI的结构。
在越狱设备上配置好相应环境后,就可以调试任意App了。

很容易的能从中发现三个广告UI的类分别是 Interstitiel 、 HZBannerAd 和 GADAdView。

2.class-dump导出头文件

class-dump 是一个可以用来导出Objective-C可执行文件的头文件的开源项目。
App Store里下载的文件都是经过加密的,所以需要解密之后才能进行dump。dumpdecrypted是个不错的选择。
就这么个小游戏导出了844个头文件,根据之前UI分析的结果进行搜索,最终确定几个关键的函数:

//GADAdView
- (void)loadHTMLString:(id)arg1 baseURL:(id)arg2;
//HZBanner.h
+ (void)placeBannerInView:(id)arg1 position:(unsigned long long)arg2 options:(id)arg3 success:(CDUnknownBlockType)arg4 failure:(CDUnknownBlockType)arg5;
+ (void)requestBannerWithOptions:(id)arg1 success:(CDUnknownBlockType)arg2 failure:(CDUnknownBlockType)arg3;
//FBAdContentContainer.h
- (_Bool)loadAdData:(id)arg1 minViewability:(int)arg2;
//FBAdViewInternal
- (void)loadAd;
- (void)loadAdFromMarkup:(id)arg1 activationCommand:(id)arg2 orientation:(long long)arg3;
//Interstitiel.h
- (void)show:(id)arg1;
- (void)requestURL:(id)arg1;

3.编写Tweak更改程序运行逻辑

用Substrate勾住以上的函数之后,将函数体直接改为了return,这样这些函数本身的代码就无法得到执行,广告也就不会出现了。

效果:

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

分类

  • CFC 周刊 (4)
  • CFC 技术 (29)
  • CFC 日常 (3)
  • 未分类 (15)
  • 活动通知 (3)

标签

ACM Android anime animeloop animeloop-cli APP Apple aria2 Array Blog CFC数据结构与算法训练指南 CoreData CQUT Don't Starve Hexo iBooks JavaScript macOS Matlab moeoverflow OpenCV Programming README RxJS SQLite SQLite3 Steam Swift Theme Web Xcode 主题模板 动漫 博客 反编译 妹子 循环 教程 数据库 游戏 算法 装逼 视频 重庆理工大学 饥荒

登录
©2023 CFC Studio | Powered by WordPress & Superb Themes