iOS 越狱的Tweak开发-笔记

来源:互联网 发布:oracle查找重复数据 编辑:程序博客网 时间:2024/04/30 07:36

前言

iOS越狱开发中,各种破解补丁的统称为Tweak,通常意义上我们说的越狱开发,都是指开发一个Tweak. 基本上,tweak都依赖于一个名叫cydia Substrate (以前名字也叫mobile Substrate)的动态库,Mobile Substrate是Cydia的作者Jay Freeman (@saurik)的作品,也叫Cydia Substrate,它的主要功能是hook某个App,修改代码比如替换其中方法的实现,Cydia上的tweak都是基于Mobile Substrate实现的.

iOS的tweak开发可以有两种发布方式

  1. 只能在越狱设备上安装的打包成deb格式的安装包
  2. 直接使用开发者自己的证书/企业证书直接将补丁打包成ipa,这样不需要越狱也是可以安装的,只是这种非越狱的限制比较大,通常只是用来给某个app打个补丁或者类似的功能啥的。

tweak是?

tweak的实质就是ios平台的动态库。IOS平台上有两种形势的动态库,dylib与framework。Framework这种开发者用的比较多,而dylib这种就相对比较少一点,比如libsqlite.dylib,libz.dylib等。而tweak用的正是dylib这种形势的动态库。

iPhone:~ root# cd /Library/MobileSubstrate/DynamicLibraries

我们可以在设备的/Library/MobileSubstrate/DynamicLibraries目录下查看手机上存在着的所有tweak。这个目录下除dylib外还存在着plist与bundle两种格式的文件,plist文件是用来标识该tweak的作用范围,而bundle是tweak所用到的资源文件。

开发tweak最常用的环境those的安装

theos的开发者是大神DHowett,不过大从2015年开始,原作者不再更新,交给社区维护了,新的地址

参考资料:

class-dump这里写链接内容

iOS代码混淆—-自动这里写链接内容