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

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…

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理