Envelop-JailBroken Hook

参考原文

重要的事情就说一遍:手机必须得越狱。

基础知识: iOS 上的 OpenSSH 的默认用户有 root 和 mobile,默认密码都为 alpine。
ssh root@DeveiceIP
可以修改root密码:passwd root
可以修改mobile密码:passwd mobile

1 【电脑环境-工具包】Theos 是一个越狱开发工具包,它可以生成 iOS 越狱APP以及tweak等程序的框架,并提供makefile来编译、打包和安装。默认放在电脑的根目录下属隐藏文件,最好不要手动clone download下来直接用git clone命令。

从 Github 下载 Theos
export THEOS=/opt/theos(临时创建变量替换路径THEOS)
# 如果之前已经安装过 theos,请先删除,然后下载最新版
rm -rf $THEOS
sudo git clone --recursive https://github.com/theos/theos.git $THEOS

2 【电脑环境-越狱的框架文件】CydiaSubstrate 是 Cydia 的作者的另一个作品,主要是对 App 进行 hook,替换 App 中代码的实现,越狱机默认就安装了CydiaSubstrate,如果没有可以在Cydia搜索CydiaSubstrate。Tweak 是指那些能够增强其它进程功能的动态库dylib.。而Cydia 上的 Tweak 都是基于 CydiaSubstrate 而工作的。Mac 上访问 iOS 设备的文件目录,可直接用 iFunBox,也可以使用ssh连接到越狱机后 scp 命令来进行拷贝。需要拷贝的文件位于越狱机的 “/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate”,将其拷贝到 OSX 上,并重命名为 libsubstrate.dylib 放到“/opt/theos/libsubstrate.dylib” 中,(新版的Theos已经在vendor中的include里包含了这个substrate框架无需再拷)。另外还依赖于mobileSubstrate库,但这个在越狱时就已经默认安装了,如果对应的是非越狱机就要将这个库与目标动态库一起打包。

3 【签名工具】ldid(Link Identify Editor)是用于对 iOS 可执行文具进行签名的工具,可以在越狱 iOS 中替换 Xcode 自带的签名工具。

从 http://joedj.net/ldid 下载,将其移动到 /opt/theos/bin 目录下,然后设置可执行权限。
cd <下载ldid的目录>
sudo mv ldid /opt/theos/bin
sudo chmod 777 /opt/theos/bin/ldid

4 【打包工具】deb 是越狱开发安装包的标准格式,而 dpkg-deb 是操作 deb 文件的工具,有了这个工具,Theos 才能将工程正确地打包成 deb 包。从dm.pl下载dm.pl,将其重命名为 dpkg-deb 后,拷贝一个无格式的文件并用txt保存dm.pl的内容后命名但不要有格式后缀,放到 “/opt/theos/bin/“ 目录下后再给其授予可执行权限。(Theos 已经是一个 tweak 的开发环境了,但是由于这里只是因为需要编译 tweak 而用):

sudo chmod 777 /opt/theos/bin/dpkg-deb

6 【动态库修改】在Cydia中直接搜索某个作者的tweak后,安装就可以了。如果想在电脑上用源码安装,需要源码并用make编译后才能拿到动态库,找到目录下的Tweak.xm,即是外挂等代码修改的地方。例如在这个中去找:RedEnvelop 。做 tweak 的原理是在寻找你的目标方法并替换等操作,写的代码其实不会很多。如果只是单纯想安装的话,这个文件就忽略了吧。但这里主要修改Makefile来与设备相连执行动态库的注入过程,打开后修改

THEOS_DEVICE_IP = 当前越狱手机的IP地址
THEOS_DEVICE_PORT = 22.(可有可无)

7 【注入打包安装】因为该tweak是对wechat的,cd到该tweak的目录下执行makefile文件。则先一定要在手机上打开WeChat并执行等待程序自动运行后会自动退出,再次开启则发现WeChat有了envelope的入口了:

make package install

你可能感兴趣的:(Envelop-JailBroken Hook)