关于ios:ios-逆向之基于theos打包

10次阅读

共计 1375 个字符,预计需要花费 4 分钟才能阅读完成。

iOS 逆向大部分工具都是基于 THEOS 跨平台打包工具, 比如说此例子,咱们来先来说说 Theos 打包的 makefile 打包,先介绍一下包里的构造

#theos 指令装置手机 ip
THEOS_DEVICE_IP = localhost -o StrictHostKeyChecking=no
#theos 指令装置手机端口
THEOS_DEVICE_PORT = 2222

#ARCHS = arm64 arm64e
#指定架构
ARCHS = arm64


#TARGET = iphone:clang:14.5:9.0
#iphone 示意是打手机类型,14.5 示意是 iphoneosSDk 版本为 14.5 9.0 示意最低兼容版本
TARGET = iphone:14.5:9.0

#指定 hook 的过程为 lockdownd
INSTALL_TARGET_PROCESSES = lockdownd

#这个应该是固定要导入的依赖关系
include $(THEOS)/makefiles/common.mk

#领导编译 tweek 名称
TWEAK_NAME = XcodeRootDebug

#领导 tweak 编译那些文件, 格局为 tweak 名字_FILES 等等
XcodeRootDebug_FILES = Tweak.x
XcodeRootDebug_CFLAGS = -fobjc-arc
#XcodeRootDebug_FRAMEWORKS = UIKit CoreFoundation Foundation

#须要导入 tweak 编译依赖的 mk 文件
include $(THEOS_MAKE_PATH)/tweak.mk

#领导编译 bundle 名称
BUNDLE_NAME = XcodeRootDebugPrefs

#指定编译的 Files,名称格局为 bundle 名字_FILES 等等
XcodeRootDebugPrefs_FILES = XRDRootListController.m
#指定依赖的库
XcodeRootDebugPrefs_FRAMEWORKS = UIKit CoreFoundation Foundation
#指定依赖的公有库
XcodeRootDebugPrefs_PRIVATE_FRAMEWORKS = Preferences
#指定 bundle 的在手机上的装置目录
XcodeRootDebugPrefs_INSTALL_PATH = /Library/PreferenceBundles
XcodeRootDebugPrefs_CFLAGS = -fobjc-arc
#导入 bundle 编译依赖的 mk
include $(THEOS_MAKE_PATH)/bundle.mk

这里有两个坑,theos 须要本人下载 SDKS 库,而不是用零碎的 SDK 库, 通过下载链接下载复制到 Theos 装置目录 sdks 文件夹下, 我电脑是 /opt/theos/sdks, 这里和 TARGET = iphone:14.5:9.0 中的 14.5 绝对应,如果 /opt/theos/sdks 门路下,没有对应的 sdk 版本,则会编译报错

make 打包命令 make package
参照:
https://my.oschina.net/zhangk…
https://github.com/theos/sdks
https://github.com/theos/theo…
https://wizardforcel.gitbooks…

正文完
 0