littlebot
Published on 2025-04-03 / 1 Visits
0

【源码】基于C语言的Substrate兼容系统

项目简介

本项目是一个运行时代码修改系统,通过用自定义实现替换任意函数和Objective - C方法达成代码修改目的。它是Cydia Substrate的自由软件替代品,当前对iOS提供全面支持,对OS X提供有限支持,未来有更广泛移植计划。

项目的主要特性和功能

  1. 动态代码修改:运行时替换任意函数和Objective - C方法,改变程序行为。
  2. 跨平台支持:支持iOS和有限的OS X,未来加强跨平台能力。
  3. 先进的反汇编器:部分自动生成的反汇编器更复杂,能处理更多PC相对指令。
  4. 错误识别:识别函数是否过短无法打补丁,遇到罕见跳转回打补丁区域情况返回适当错误码。
  5. API返回错误码:方便开发人员处理可能出现的错误。
  6. 额外功能:提供插入等额外功能。

安装使用步骤

编译

编译iOS版本

bash ./configure --xcode-sdk=iphoneos --xcode-archs=arm64 && make -j8 &&./script/gen-deb.sh 可关闭darwin-bootstrap/ib-log.h中的IB_VERBOSE,避免大量文件写入/tmp和系统日志。

编译Mac版本

bash ./configure && make -j8 其他情况可使用./configure --help获取信息。

使用

iOS使用方法

扩展应放置在/Library/Substitute/DynamicLibraries中,布局与Substrate相同。若要快速测试现有Substrate扩展是否与Substitute兼容,可运行以下命令: bash install_name_tool -change \ /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate \ /usr/lib/libsubstitute.0.dylib \ extension.dylib 然后将其移动到新目录。

注意事项

本项目目前处于Alpha阶段,依赖特定系统架构和API,可能需要特定权限运行,请确保在正确环境下编译和使用。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】