微信是移动互联网时代即时通讯领域的佼佼者,在国内更是当之无愧的业界老大。它已经融入到我们大多数人的生活中了,想必不用再多费口舌去介绍它。微信的启动画面如图9-1所示,大气之中流露出一股淡淡的忧伤。
2014年10月3日,微信更新了6.0版,新增了小视频功能。这个功能很好玩,各种各样的小视频很快就占领了朋友圈,如图9-2所示。
虽然我们已经可以通过长按小视频窗口,在弹出的菜单里点击“Favorite”,把感兴趣的内容标记下来(如图9-3所示),但笔者还不太满意——如果能把小视频保存在本地,不管联不联网,有没有微信,都能想看就看,那就好了!另外,小视频是从微信的服务器下载的,如果能拿到下载的URL,就可以在PC中下载,或者把它发布到其他平台,跟非微信好友分享那就更好了。既然如此,本章的目标就是在小视频播放窗口的长按菜单里添加“保存到本地”和“复制URL”两个选项,然后完善对应的功能。
微信6.0版已经超过80MB,逆向工程的工作量不小,难度也比绝大多数App要大。按照惯例,在使用工具开始逆向工程之前,先分析一下抽象的目标,把它具体化,然后制定这次逆向工程的思路,再贯彻思想实地执行。下面的操作是在iPhone 5、iOS 8.1、微信6.0中完成的。在本书出版后,微信很可能也升级到了更高的版本,下面的操作会有一些细节上的变化,但总体思路是不变的,笔者会及时把最新的分析过程更新在http://bbs.iosre.com 上,请大家关注。
图9-1 微信启动画面
图9-2 微信小视频
图9-3 小视频菜单