Fork me on GitHub

iOS逆向微信朋友圈之获取小视频地址

简介

本文是针对于阅读过相关逆向朋友圈小视频的人,如果没有看过的话,阅读本文应该会一脸懵逼,所以建议大家可以搜一篇研究一下。

在逆向的过程中,大家拿微信练手占绝大一部分,一般实现的功能有将朋友圈小视频保存到本地(现在的微信原生版已经有了这个功能)或者转发朋友圈等功能。一步一步的怎么逆向我也不啰嗦了,一搜的话肯定也一大堆资料。那本文到底说的是什么呢?

网上千篇一律其实本质都教你怎么一步一步的拿到WCDataItem,进而拿到小视频的地址。这里说的就是以另外一种非常简单的方法去获取。

获取小视频视图名字

我这里首先是通过Xcode的Debug View Hierarchy得到到小视频视图名字WCTLContentItemTemplateVideo,(有的教程是WCContentItemViewTemplateNewSigh,我这里的微信版本是6.5.21比较新,所以旧的版本有可能是这个名字)

定位小视频长按事件

WCTLContentItemTemplateVideo通过class-dump处理的.h文件中可以找到几个长按方法,一个一个断点测试可以知道- (void)onLongTouch就是长按事件。

打断点验证:

1
br s -a 0x000000000259c000+0x000000010261092c

0x000000000259c000通过image list -o -f WeChat获取
0x000000010261092c通过Hopper获取到
1511327895597.jpg


做到这里与网上的基本类似。只是试图不一样而已。接下来就是重点了。

找到WCDataItem

既然WCTLContentItemTemplateVideo这个视图就是显示小视频的,所以肯定会有数据源的。查看这个视图看了一下没有什么有价值的类。不过再去观看的时候会发现它是继承于WCContentItemBaseView,到这个类观察一下。
1511328262098.jpg
看到这个大家则会豁然开朗了。

1
po [[[[[$x0 oDataItem]contentObj]mediaList]lastObject]dataUrl

1511328559662.jpg

通过如上命令可以验证出这个就是我们要找的小视频的地址

接来怎么做相信大家肯定知道了吧。哈哈哈

0%