提到 iOS 微信逆向工程,大家会想到各种自动抢红包的版本。笔者对抢红包不感冒,直到看到一个叫 FishChat 的项目,才有念头鼓捣一下微信客户端,魔改一下,体验一下神奇的逆向工程。
FishChat 是一款适合开发者使用的,经过 逆向工程 让 iOS 上的微信更加好用的第三方开源「微信」。它能够实现如修改运动步数、去除小红点、防撤回等功能。作者杨萧玉大神在博客中详尽的介绍了实现原理和使用用法,传送门:博客。
在这里和大家分享一下具体步骤以及可以避免的一些坑。
一. 对微信改造实现效果:
- 关闭『发现』页面的『朋友圈』、『购物』和『游戏』入口
- 修改微信运动步数
- 去除各种小红点提示
- 设置夜间模式
- 阻止撤回消息
- 屏蔽群&好友消息
二. 需要准备的工具及设备:
Mac,未越狱的iphone,开发者账号(或证书),Xcode
三. 具体实现步骤:
1、下载开源项目 https://github.com/yulingtianxia/FishChat ;
2、连接自己的iPhone,使用Xcode打开FishChat,即点开FishChat.xcodeproj
文件。
选择自己的开发者账号,选择已连接的设备,进行编译。

如果提示CaptainHook.h未找到,点击CaptainHook下载, 将.h文件拖入FishChat工程后编译。

在 Products 文件夹内找到编译好的FishChat.dylib
文件,并拖出到桌面;
3、连接 iPhone 到 Mac,新建一个Xcode工程,选择自己的开发者账号,进行编译。就会自动生成一个所对应的 mobileprovision 文件。
同样在 Products 文件夹内找到编译完成的.app
文件,show in finder
–显示包内容
,找到 mobileprovision 文件并拖到桌面;


4、在PP助手中下载已砸壳的微信,同样拖到桌面,这里提供6.5.5版本的微信,下载地址:https://pan.baidu.com/s/1dEZ66lj 密码: ndr4;
5、FishChat 文件夹中自带有一个yololib可执行文件,使用时报错了,这里提供一个编译好的:https://pan.baidu.com/s/1bpyDfLd 密码: yqms ,拖到桌面。
6、打开FishChat文件中的Shell脚本,作如下更改,并保存:

填入对应文件的路径

更改可执行文件 yololib 地址
7、mobiledevice 安装,打开终端 brew install mobiledevice
;
8、执行脚本,打开终端cd Desktop && ./autoswimfi.sh
四. 执行脚本常见错误:
1、yololib not found
,yololib未安装成功;
2、mobiledevice not found
,mobiledevice未安装成功;
3、AMDeviceSecureTransferPath
, 参数路径错误;
4、AMDeviceSecureInstallApplication
, 一般都是mobileprovision文件的问题,可能为与手机不匹配或与证书不匹配;
最终效果

GWillS
2018-04-18从知乎过来的,UP写的文章好棒,可是只有MAC版?
yalv
2018-04-18@GWillS 你好,魔改微信需要用到 Xcode ,所以需要在 macOS 环境下操作哎。
GWillS
2018-04-18@yalv UP竟然是活的!!!
yalv
2018-04-18@GWillS 额额额。。。
何人我我
2018-05-16好神奇,emmmmm,我是指up主居然是活的