iOS逆向之动态分析(腾讯视频广告移除)非会员

前言:

iOS逆向分析之动态分析,我开始思考怎样把原理讲的深入浅出,怎样把故事讲的有趣生动,于是本来写好的动态分析又操了重来,那么今天我准备带着问题来讲动态分析,先抛出我们这次逆向的目标,腾讯视频广告移除,以此为例讲解动态分析。

首先我们进入视频播放页,点击最近的热片《战长沙》,进入详情页如下图,VIP可关闭广告,那么这个详情页肯定会有与与VIP广告相关的业务,我们只要找到对应的然后丢给反编译就应该可以看到VIP相关的业务函数。那么怎么知道这一页对应的呢,有2种办法,一种全局hook 在这里断点看vc,还有直接看视图堆栈。

图1

图2

先不猜了,去里看下这个类到底有哪些相关的方法,这里要用到iOS逆向分析之静态分析(二)介绍的内容,这里不做重复,丢进去就惊呆了,尼玛这方法真吉尔多,我这里只贴一屏与广告相关的,但是仔细分析后并没什么卵用。

图3

通过上面静态分析的内容并不能提供明显的思路让我去广告,我准备回到UI堆栈那里,我在这里发现了,看名字就知道播广告的,邪恶的笑下,鹅肠同学名字起得真是清晰明了,这次试一下直接hide这个控制器看广告会不会消失。

图4

我写了如下代码以后,很暴力直接隐藏了广告视图,发现广告会消失一会儿,然后又显示,经过静态分析发现这个类里边有,那我更暴力一点,在这个方法里只要你播广告我就影藏这个view, r运行,看电视剧,妥妥的没广告了,最终代码如下。

图5

故事讲到这里算是讲完了,有兴趣的同学可以加入我们的交流学习群:,整体而言,这次分析的过程比较顺利,我们可以看到在逆向过程中是动态,静态分析结合相互提供线索一步步逼近真相,我们现在复盘,通过复盘来来解密我们使用的工具,以及这些工具背后的原理。

? ? ? ?我们这次动态分析使用的是,和这个类似的有的,这俩库原理类似核心思想都是将我们自己写的代码编成动态库注入目标App,然后重签,作为一个有情怀的开发者,仅仅会使用工具肯定不是我们的目标对不对,我们要做的是探究这个过程是如何实现的,这里我抛出几个问题动态库是如何注入的?App重签名的过程是怎样的?今天我们大概简单聊聊有个印象,这些内容每一个点都很重要,都是逆向的基础知识,虽然枯燥但是,但可以让你更好的理解这些原理。

如果要理解动态库注入那还需要更深入的理解Mach-o的文件结构,我在上篇文章中简单讲了下,这里再详细的讲下,一个典型的Mach-O文件格式如图所示

图6

通过上图,可以看出Mach-O主要由以下三部分组成:

Mach-O头部(mach )。描述了Mach-O的cpu架构、文件类型以及加载命令等信息。

加载命令(load )。描述了文件中数据的具体组织结构,不同的数据类型使用不同的加载命令表示。

Data。Data中的每个段()的数据都保存在这里,段的概念与ELF文件中段的概念类似。每个段都有一个或多个,它们存放了具体的数据与代码。

二进制当中所有引用到的动态库都放在Load 段当中,雅思培训一般多少钱那么我们只要,通过给这个段增加记录,就可以注入我们自己写的动态库了,对不对。那么问题来了,在这里插入我们自己的动态库有什么用?我们自己写的代码没有执行的入口,一样什么都不能干,我们还需要一个”main”函数来执行我们自己的代码,不要忘了,这个”main”函数在oc里面称为构造函数,只要在函数前声明 “(()) ” 即可,这样你的代码就可以被目标APP执行了。

关于重签名,有兴趣的同学可以学习下整个签名过程,包括代码如何签名,证书如何校验等,重签名大概过程如下,

1、解压ipa安装包 cp test.ipa .zip

2、替换证书配置文件(文件名必须为)

cp . /test.app

3、重签名(为重签名证书文件名,可以加证书ID后缀)

=" : ()"

-f -s $? -- .plist /test.app

4、打包 zip -r test.ipa

至此逆向系列的入门教程已经全部更完,现在应该拿到一个App应该已经可以自己玩了,篇幅有限,有很多内容不能展开讲,也没讲到,比如有攻就有防,了解防才可以更好的绕过,如何为自己的App加固,再比如一些细节符号表是怎样恢复的,砸壳的原理到底是怎样的,这些有趣的话题我们只能后边再聊,更多骚操作,尽在,关注公众号,第一时间get新姿势。

附静态分析工具集:

:砸壳

class-dump-z: 用于简单分析出工程中的头文件和函数名

IDA:强大的反编译工具

:类似IDA

附动态分析工具集:

,:

界面分析

? ? ? ? ,Tweak 编写hook代码,或自定义功能

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

云衔科技是一家专注于企业数字化广告营销解决方案的服务商。公司凭借深厚的行业经验和专业技术能力,致力于为企业客户提供全方位、更高效的数字化广告营销与运营服务。

发表回复