Theos 安装与配置

尝试 iOS 逆向开发,由于 iOSOpenDev 已停止维护且坑太多,于是使用 theos ,网上充斥各种老旧教程,还是自己按照官方文档配置并填坑靠谱。

0x01 安装依赖

首先你要安装有 Homebrew

执行命令:brew install ldid dpkg


0x02 安装 theos

安装非常简单,安装路径随个人喜好,只需要几行命令:

git clone https://github.com/theos/theos.git ~/.theos
cd ~/.theos
git submodule init
git submodule update

0x03 配置环境

添加以下配置到bashprofile 或者zshrc ,这就要看你用的哪个了。

 # theos
 export THEOS=~/.theos
 export PATH=~/.theos/bin/:$PATH

修改~/.theos/makefiles/package/deb.mk

_THEOS_PLATFORM_DPKG_DEB_COMPRESSION ?= lzma    # 修改前
_THEOS_PLATFORM_DPKG_DEB_COMPRESSION ?= Zgzip   # 修改后

$(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r $(_THEOS_PLATFORM_DPKG_DEB) -Z$(_THEOS_PLATFORM_DPKG_DEB_COMPRESSION) -b "$(THEOS_STAGING_DIR)" "$(_THEOS_DEB_PACKAGE_FILENAME)"$(ECHO_END)    # 修改前
$(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r $(_THEOS_PLATFORM_DPKG_DEB) -b$(_THEOS_PLATFORM_DPKG_DEB_COMPRESSION) "$(THEOS_STAGING_DIR)" "$(_THEOS_DEB_PACKAGE_FILENAME)"$(ECHO_END)   # 修改后

至于修改的原因是因为 lzma 已经弃用,改用 gzip ,但这个不是最佳的 workaround ,参考: #211

该问题已被修复。


0x04 测试

执行命令:nic.pl

NIC 2.0 - New Instance Creator
------------------------------
  [1.] iphone/activator_event
  [2.] iphone/application_modern
  [3.] iphone/cydget
  [4.] iphone/flipswitch_switch
  [5.] iphone/framework
  [6.] iphone/ios7_notification_center_widget
  [7.] iphone/library
  [8.] iphone/notification_center_widget
  [9.] iphone/preference_bundle_modern
  [10.] iphone/tool
  [11.] iphone/tweak
  [12.] iphone/xpc_service
Choose a Template (required):

出现以上结果,安装成功!