iOS逆向工具之 Theos 工程介绍

2,165 阅读1分钟

本篇文章,我们会详细介绍 tweak 工程,包含 Logos 语法.

1. Theos 应用 创建

image.png

当我们在终端执行命令 nic.pl 的时候, 可以看到 Theos 为我们提供了很多木板.

  1. 我们选择 [16]. iPhone/Tweak

  2. 输入项目名: tweakdemo

  3. 输入报名: com.tweakdemo.demo

  4. 添加作者: Keya

  5. 添加 tweak的应用标识符 com.apple.springboard (这里以springboard为例)

  6. 默认回车

2. 创建号的 tweak 工程, 我们看一下生成的目录文件如下:

image.png

3. 文件介绍

3.1 Makefile

makefile 文件: 指定工程用到的文件, 框架, 库等信息, 将整个过程自动化

默认的内容有如下:


TARGET := iphone:clang:latest:7.0

INSTALL_TARGET_PROCESSES = SpringBoard

include $(THEOS)/makefiles/common.mk

TWEAK_NAME = tweakdemo

tweakdemo_FILES = Tweak.x

tweakdemo_CFLAGS = -fobjc-arc

include $(THEOS_MAKE_PATH)/tweak.mk

  1. TARGET := iphone:clang:latest:7.0 指定SDK的版本

  2. INSTALL_TARGET_PROCESSES = SpringBoard 目标安装的项目

  3. include $(THEOS)/makefiles/common.mk 固定写法,不要更改

  4. TWEAK_NAME = tweakdemo tweak 的名称

  5. tweakdemo_FILES = Tweak.x tweak 源文件,多个文件以空格分隔

  6. include $(THEOS_MAKE_PATH)/tweak.mk 通过 include 命令指定不同的 .mk 文件

但是这些不够用咋办:

  1. 怎么使用 framework

追加: tweakdemo_FRAMEWORKS = UIKit

  1. 指定处理器架构

追加: ARCHS = armv7 arm64

  1. 如何链接Mach-O对象

追加: LDFLAGS = -lx (-lx 代表链接libx.a或libx.dylib,即给x加上lib的前缀,以及.a或.dylib的后缀,可以根据自己的项目进行调整)

  1. 其他的话, 待补充
3.2 Tweak.x

**.x 书名源文件支持语法 LogosC 语法 **

3.3 tweakdemo.plist

这个就是 plist 文件, 里面写入目标文件的 Bundle ID

3.4 control

指定的 deb 包的一些信息...


End