iOS逆向之分析微信导航栏实现

最近需要实现微信的毛玻璃导航栏效果,尝试了各种方式后还是有点差别,这在追求完美的设计师眼里是绝不能忍的,于是只好“看看”原作是怎么实现的。在逆向分析了微信的实现后,发现微信的实现十分特殊,文末会告诉大家答案:)

环境准备

  • 一台越狱设备
  • OpenSSH 插件
  • Cycript 插件

盘古支持 9.3.3 以下版本的越狱,越狱过程十分快速方便。越狱完成后还要在 Cydia 里搜索安装 OpenSSH 和 Cycript 插件。OpenSSH 用以电脑远程登录 iPhone,Cycript 用来运行时钩住应用程序。Cycript 允许开发者动态查看和修改正在运行的应用程序,更多介绍请查看官网

环境准备完毕后,我们就可以开始逆向了。我手里的是 iOS 9.2.1 版本的越狱设备,以下都是用这个设备进行演示。

越狱有风险,建议使用备用机进行越狱,并且越狱前先备份资料

实际操作

首先打开电脑的命令行工具,执行 ssh 远程登录到 iPhone 手机上,默认连接密码是 alpine,建议连上后修改默认密码,修改命令是 passwd,连上后的界面如下图所示,

下面我们可以用 ps 命令查看微信进程,执行