最近体验了iOS11 Beta版,感觉还不错,就是离开了越狱感觉缺少了很多乐趣,今天我们就用玉令天下的FishChat注入WeChat来练练手。
添加功能
- 屏蔽群消息
- 屏蔽好友消息
- 消息防撤回
- 微信运动自定义步数
关闭朋友圈去除小红点夜间模式
准备工作
- macOS系统
- Xcode 9 beta
- iOSOpenDev
- WeChat.ipa
安装Xcode 9
首先进入苹果开发者网站下载「Xcode 9」。

然后进入设置,在Accounts
选项中,加入自己的开发者账号。
安装iOSOpenDev
首先安装dpkg,这里推荐用brew软件管理器。
打开「终端」,输入以下命令安装brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装brew可能需要一段时间 (最好能够搭个梯子,你懂的) ,显示Installation successful!
字样就代表安装成功了。

然后再输入以下代码安装dpkg:
brew install dpkg
安装完成后,在官网下载「iOSOpenDev」,然后点击iOSOpenDev-1.6-2.pkg
安装。
Ps:安装过程中如果出错,就进行以下步骤。
- 下载「附件」,打开
Specifications
文件夹。 - 将
iPhoneOS
开头的四个文件放入Xcode.app/Content/Developer/Platforms/IphoneOS.platform/Developer/Library/Xcode/Specifications/
文件夹下。「如果没有,请自己创建一个」 - 将
iPhone Simulator
开头的另外四个文件放入Xcode.app/Content/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Specifications/
文件夹下。「如果没有,请同样创建一个」 - 然后在
Xcode.app/Content/Developer/Platforms/iPhoneSimulator.platform/Developer/
文件夹下创建/usr/bin/
文件夹。 - 完成后再重新安装
iOSOpenDev
即可。
生成dylib文件
首先去「https://github.com/Uni9k/FishChat」下载我修改过的FishChat。「因为个性化需求,所以在玉令天下的FishChat基础上做了些许修改,可以查看源码中查看只是注释掉了,如果需要可以自己加回来。」

然后使用Xcode打开这个项目,依次点击FishChat
→General
,然后在Team
中选择自己的开发者账号。
然后将iPhone连接到USB上,选择已连接的iPhone设备,然后点击三角播放按钮进行编译。

编译完成后,便会生成一个dylib文件,右键这里选择Show in Finder
,将它拷贝出来。
生成mobileprovision文件
然后我们还需要一个mobileprovision文件,首先新建一个项目,名称随便写,设置好证书。

然后选择设备,点击三角播放按钮进行编译。
在Dock上右键Finder,选择「前往文件夹...」,输入以下地址:
~/Library/MobileDevice/Provisioning Profiles
拷贝出刚刚生成的mobileprovision文件。
注入、签名、打包
安装mobiledevice
用于将打包好的应用安装到设备上,打开终端输入:
brew install mobiledevice
我们需要把要注入的dylib拷贝进App,然后向App中可执行文件的Load Commands
段中加入一条加载dylib的指令,然后进行签名。因为过程比较繁杂,为了方便这里就用脚本直接代替了,在刚刚下载的FishChat中的Shell文件夹中已经包含了这个脚本。
# !/bin/bash SOURCEIPA="$1" MOBILEPROV="$2" DYLIB="$3" cd ${SOURCEIPA%/*} security find-identity -v -p codesigning > cers.txt while IFS='' read -r line || [[ -n "$line" ]]; do if [[ "$line" =~ "iPhone Developer" ]]; then DEVELOPER=${line:47:${#line}-48} fi done < cers.txt unzip -qo "$SOURCEIPA" -d extracted APPLICATION=$(ls extracted/Payload/) echo "Copying dylib and mobileprovision" cp "$DYLIB" "extracted/Payload/$APPLICATION/${DYLIB##*/}" cp "$MOBILEPROV" "extracted/Payload/$APPLICATION/embedded.mobileprovision" echo "Insert dylib into Mach-O file" yololib "extracted/Payload/$APPLICATION/${APPLICATION%.*}" "${DYLIB##*/}" echo "Resigning with certificate: $DEVELOPER" find -d extracted \( -name "*.app" -o -name "*.appex" -o -name "*.framework" -o -name "*.dylib" \) > directories.txt security cms -D -i "extracted/Payload/$APPLICATION/embedded.mobileprovision" > t_entitlements_full.plist /usr/libexec/PlistBuddy -x -c 'Print:Entitlements' t_entitlements_full.plist > t_entitlements.plist while IFS='' read -r line || [[ -n "$line" ]]; do /usr/bin/codesign --continue -f -s "$DEVELOPER" --entitlements "t_entitlements.plist" "$line" done < directories.txt echo "Creating the Signed IPA" cd extracted zip -qry ../extracted.ipa * cd .. rm -rf "extracted" rm directories.txt rm cers.txt rm t_entitlements.plist rm t_entitlements_full.plist echo "Installing APP to your iOS Device" mobiledevice install_app extracted.ipa
因为App Store中的安装包都是加密了,这里方便起见,我们直接下载一个脱壳的WeChat.ipa安装包就行了,打开PP助手,在越狱应用
中下载到本地。
然后打开终端,将sh脚本文件,ipa安装包,mobileprovision文件,dylib文件依次拖入,回车。

显示OK
字样代表安装成功了。

Enjoy it!
评论 (0)