逆向世界杯直播App 央视影音-iOS客户端
写在前面的话 罗列下本次逆向要使用的几个工具
- MonkeyDev 或者IPAPatch
- HookZz
事情起源
最近我的朋友圈充满了世界杯!几乎每个伪球迷都在刷直播世界杯!还有热心的朋友发出了世界杯直播的App(央视影音 iOS)链接!点进去看了一下,但是看直播之前需要先看长达60秒的广告。作为iOS逆向爱好者,决定为广大球迷做点儿力所能及的事情----那就是去掉广告
带60广告的证据图
下面简单说下逆向过程和思路
思路
- 因为只是给央视影音App去广告!所以思路很简单(把广告相关的对象置为空即可)
逆向过程
第一步 动态分析
- 使用HookZZ的objc_msgSend模块 打印函数调用
- 只关注Ad开头的类
- 下面是相关代码
void objc_msgSend_pre_call(RegState *rs, ThreadStackPublic *ts, CallStackPublic *cs, const HookEntryInfo *info) {char *selector = (char *)rs->ZREG(1);id tmpObject = (id)rs->ZREG(0);Class tmpClass = object_getClass(tmpObject);if (!tmpClass)return;const char *className = class_getName(tmpClass);if (!strstr(className, "Ad") && !strstr(className, "Home")) {return;}memset(decollators, '-', 512);if (ts->size * 3 >= 512)return;decollators[ts->size * 3] = '\0';printf("[OCMethodMonitor|%ld] %s [%s %s]\n", ts->thread_id, decollators, className, selector);
}
复制代码
- 简单展示下这个HookZz的objc_msgSend模块打印出来的内容
- CNAdPlayerView
[OCMethodMonitor|7341845312] --- [CNAdPlayerView beatHandleForTime:]
[OCMethodMonitor|7341845312] ------ [CNAdPlayerView adTime]
[OCMethodMonitor|7341845312] ------ [CNAdPlayerView setSurplusSec:]
[OCMethodMonitor|7341845312] --------- [CNAdPlayerView adPlayerUIKit]
[OCMethodMonitor|7341845312] ------ [CNAdPlayerView queuePlayer]
[OCMethodMonitor|7341845312] ------ [CNAdPlayerView indexForPlayerItem:]
[OCMethodMonitor|7341845312] --------- [CNAdPlayerView playItems]
[OCMethodMonitor|7341845312] --------- [CNAdPlayerView playItems]
[OCMethodMonitor|7341845312] ------ [CNAdPlayerView playerEventType:value:]
[OCMethodMonitor|7341845312] --------- [CNAdPlayerView delegate]
[OCMethodMonitor|7341845312] --------- [CNAdPlayerView delegate]
[OCMethodMonitor|7341845312] --------- [CNAdPlayerView delegate]
[OCMethodMonitor|7341845312] ------ [CNAdPlayerView playDelayTime]
[OCMethodMonitor|7341845312] --------- [CNAdPlayerView adPlaying]
[OCMethodMonitor|7341845312] --------- [CNAdPlayerView adTimeout]
复制代码
- AdsameBannerView
[OCMethodMonitor|7341845312] ------------ [AdsameBannerView alloc]
[OCMethodMonitor|7341845312] ------------ [AdsameBannerView initWithFrame:]
[OCMethodMonitor|7341845312] --------------- [AdsameBannerView setClipsToBounds:]
[OCMethodMonitor|7341845312] --------------- [AdsameBannerView setSlotStr:]
[OCMethodMonitor|7341845312] --------------- [AdsameCubeMaxSDK sharedSDK]
[OCMethodMonitor|7341845312] --------------- [AdsameCubeMaxSDK def_volume]
[OCMethodMonitor|7341845312] --------------- [AdsameCubeMaxSDK sharedSDK]
[OCMethodMonitor|7341845312] --------------- [AdsameCubeMaxSDK m_isMute]
[OCMethodMonitor|7341845312] --------------- [AdsameBannerView setIsOrderedBannerPaused:]
[OCMethodMonitor|7341845312] ------------ [AdsameBannerView setIsUsingCache:]
[OCMethodMonitor|7341845312] ------------ [AdsameBannerView setCId:]
[OCMethodMonitor|7341845312] ------------ [AdsameBannerView setSlotStr:]
[OCMethodMonitor|7341845312] ------------ [AdsameBannerView setIsUserExposure:]
[OCMethodMonitor|7341845312] ------------ [AdsameBannerView setParentSDK:]
[OCMethodMonitor|7341845312] ------------ [AdsameBannerView setDelegateBanner:]
[OCMethodMonitor|7341845312] ------------ [AdsameBannerView setIsRetina:]复制代码
- 还有其它一些带Ad的类就不一一列举了
第二步 编写hook代码
- 按照之前的思路把Ad相关的类的初始化代码返回nil
// See http://iphonedevwiki.net/index.php/Logos#import <UIKit/UIKit.h>//AdsameBannerView%hook AdsameBannerView
- (AdsameBannerView*)initWithFrame:(id)arg1{return nil;
}
%end%hook CNAdPlayerView-(CNAdPlayerView*)initWithFrame:(id)arg1{return nil;
}
%end%hook CNADPlayerUIKit
-(CNADPlayerUIKit *)initWithFrame:(id)arg1{return nil;
}
%end%hook AdMasterMobileTracking
+(id)sharedInstance{return nil;
}
-(AdMasterMobileTracking*)init
{%log;return nil;
}
%end复制代码
第三步 打包重签
- MonkeyDev 或者 IPAPatch 用的第一个,第二个也是可以的
最后再附上去掉广告的IPA链接()
yuzhouheike.0a6j.cn/YSYY.ipa
git源码 https://github.com/yuzhouheike/HookZz-Learn
最后的最后
- 感谢您在百忙之中看我的文章
最后送你一个支付宝红包
- 打开支付宝首页搜索“8074157”,即可领红包
逆向世界杯直播App 央视影音-iOS客户端相关推荐
- [简单逆向]某直播APP 收费直播链接获取-AES解密
故事的由来 图片看到有人在推广所谓的"不花钱"APP(但是实际上并不是免费) 下载了试了试,如果都一个样的APP 不过这个APP稍微简单点..几秒就定位到了 [健康生活,远离黄赌毒 ...
- 婚恋交友约会app源码一对一一对多直播APP源码+android客户端+java服务端源码
一对一直播"它是移动直播时代的产物,随着5G移动互联网时代的到来,和智能手机普及化,以前被压抑的全民直播需求,尚需一个引爆点引爆,一对多的直播模式已不能满足大众的需求,他们渴望更多的互动性与 ...
- 直播APP源码iOS 调用系统铃声震动
首先必须引入 AVFoundation #import <AVFoundation/AVFoundation.h> //震动反馈 if (@available(iOS 10.0, *)) ...
- 直播软件开发IOS直播客户端SDK,视频直播APP源码【开源】
当前视频直播非常火爆,手机端的视频直播也非常火爆,PGC.UGC的视频直播门槛都降低了很多. 本文介绍一个:IOS 客户端直播的SDK,代码完全开源. 直播时代:让IOS普通开发者一天内做出一个RTM ...
- 央视影音 服务器暂时无法连接服务器,央视影音APP播放不了怎样办 打开不知道决办法...
软件安装:手机应用宝 随着科技的发展,手机在我们的生活中扮演了很重要的角色,手机在便利我们生活的同时,也会对我们造成很重要的影响.手机已经成为了我们的必需品,不仅是通讯工具,而且很大程度上都是娱乐功能 ...
- 华为鸿蒙版央视影音,再见安卓!鸿蒙版京东App上架华为商城:正式版最快6月见...
新酷产品第一时间免费试玩,还有众多优质达人分享独到生活经验,快来新浪众测,体验各领域最前沿.最有趣.最好玩的产品吧~!下载客户端还能获得专享福利哦! 5月14日消息,今日,根据网友反馈,鸿蒙版京东Ap ...
- 逆向某某单车-iOS客户端
写在前面的话 事情起源 朋友圈看到一则消息.大概意思就是某某土豪,为了表白萌妹"赵千萌".所以使当地的哈罗单车iOS客户端上面用户附近的车辆图标显示为他自己的图片.图片上面写着 赵 ...
- 完整的iOS直播app
今年移动直播行业的兴起,诞生了一大批网红,甚至明星也开始直播了,因此不得不跟上时代的步伐,由于第一次接触的原因,因此花了很多时间了解直播,整理了直播的原理,希望能帮助到更多的人更快的了解直播. 一.个 ...
- iOS直播app原理
一.个人见解(直播难与易) 直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通 ...
最新文章
- Java连接Oracle数据库常用方法
- 二位数组的子数组最大值
- 发布一个定制的webpart:R***eader
- 指定结构体字节对齐方式
- 清华大学保研笔试题目及解答
- 幼儿园带括号算式口诀_这么全的小学数学速算技巧、口诀不多见,教给孩子挺不错!...
- 电脑小常识:电脑键盘失灵怎么办?
- ​易生信-宏基因组2020 积微学术论坛:基于大数据整合准确预测土壤的枯萎病发生...
- c语言常用算法分析 微盘,C语言常用算法归纳.pdf
- mybatis mysql schema_学习Mybatis与mysql数据库的示例笔记
- 图解Raft:应该是最容易理解的分布式一致性算法
- python单例模式数据库连接池_《java设计模式》一文带你了解单例模式
- Mysql客户端的安装
- ORACLE ORA-01000: 超出打开游标的最大数(解决及原因)
- 深入了解FileNet
- ACM竞赛题目6:身高排序
- 为什么有的锂电保护板需要激活之锂电池保护板怎么激活
- ​有哪些比较好的录制游戏视频软件​,游戏录屏软件哪个好用
- 什么是微信公众平台、微信开放平台?它们之间又有什么区别?
- NetBeans IDE使用方法