iOS 逆向工具 - Theos

一、安装和配置
Theos是一个越狱开发工具包,Logos语法。

1. 指定安装路径
export THEOS=/opt/theos

2. 从github下载
sudo git clone --recursive git://github.com/DHowett/theos.git $THEOS

3. 配置ldid
. 用来签名iOS可执行文件的工具,用以在越狱iOS中取代Xcode自带的codesign;
. 下载地址:http://joedj.net/ldid
. 放到/opt/theos/bin/
. 赋予可执行权限:sudo chmod 777 /opt/theos/bin/ldid

4. 配置 CydiaSubstrate
最简单的方法,将越狱后的手机,连上Mac ,然后使用打开iFunBox,将 “/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate“ 拷贝到OSX 中,
并且将其重命名为libsubstrate.dylib 后放到"/opt/theos/lib/" 中。

5. 配置dpkg-deb
. Deb 是越狱开发安装包的标准格式,dpkg-deb 是用于操作deb文件的工具;
. 下载dm.pl, github download dm.pl (https://raw.githubusercontent.com/DHowett/dm.pl/master/)
. dm.pl 重新命名为 “dpkg-deb”, 将dpkg-deb 放到"/opt/theos/bin" 目录下
. sudo chmod 777 /opt/theos/bin/dpkg-deb

二、Theos使用

1. 创建工程
   执行:/opt/theos/bin/nic.pl , 按提示生成tweak工程;

2. 配置工程
   a. Makefile
    .指定处理器架构:ARCHS = armv7 arm64
    .指定SDK版本:TARGET = iphone:8.1:8.0 (iphone:Base SDK:Deployment Target)
    . 导入framework:iOSREProject_FRAMEWORKS = UIKit CoreAudio
    . private framework:iOSREProject_PRIVATE_FRAMEWORKS = AppSupport ChatKit
      注:如果tweak支持iOS7 iOS8,但private fw只存在7中,就不能这样写,这种情况通过弱链接或dlopen 系列函数动态调用。
    . 链接Mach-O对象:iOSREProject_LDFLAGS = -lx (包括.dylib,.a,.o)

   b. Tweak.xm
    . Logos 常用预处理指令:%hook, %log, %orig, %group, %init, %ctor, %new, %c;

   c. control
    记录了deb包管理系统所需的基本信息;

   d. plist
    描述了tweak的作用返回;
    Filter 下是array,分3类:Bundles,Classes,Executables;
    注:当Filter下有不同类的array时,需要添加一个Mode:Any。

3. 编译+打包+安装
   a. 编译:执行 make
   b. 打包:执行 make package
   c. 安装:
    . iFunBox 安装;
    . Ssh命令:在Makefile最上一行加本机IP(如:THEOS_DEVICE_IP = iOSIP);
          然后调用 make package install 完成编译打包安装;
 
   注:打包时遇到了lzma错误,具体解决方法见:iOS 逆向常见问题。

三、Demo
见 iosregreetings,实现了锁屏页面弹窗和修改时间下面的文字信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值