手机界面设计网站/苏州百度推广公司

手机界面设计网站,苏州百度推广公司,龙岗网站建设公司,中国最新军事新闻视频JBDev - Theos下一代越狱开发工具 自越狱诞生以来,Theos一直是越狱开发的主流工具,大多数开发者使用Theos编译代码,再用lldb手动调试。JBDev简化了这个过程,项目地址https://github.com/lich4/JBDev 简介 JBDev用于Xcode越狱开…

JBDev - Theos下一代越狱开发工具

自越狱诞生以来,Theos一直是越狱开发的主流工具,大多数开发者使用Theos编译代码,再用lldb手动调试。JBDev简化了这个过程,项目地址https://github.com/lich4/JBDev

简介

JBDev用于Xcode越狱开发及巨魔开发,提供和普通App一样的开发体验,使用Xcode进行编译——安装——调试,已测试环境:

  • Xcode12-15
  • iOS12-16
  • arm64/arm64e
  • Checkra1n/Unc0ver/Taurine/Palera1n/Dopamine
  • 有根/无根/隐根

主要功能

  • 支持越狱(有根/无根/隐根)App开发&源码级调试
  • 支持巨魔App开发&源码级调试
  • 支持Xcode调试任意进程

注意事项

  • JBDev只能用于越狱设备上调试
  • 使用JBDev越狱开发时,打包功能依赖于Theos
  • 使用JBDev巨魔开发时,确保已安装TrollStore

常见项目类型调试方式一览

项目类型Xcode调试调试类型
越狱AppJBDev启动调试/附加调试/等待调试
越狱Tweak/ToolJBDev附加调试/等待调试
巨魔AppJBDev启动调试/附加调试/等待调试
非越狱AppMonkeyDev启动调试/附加调试/等待调试

注:

  • 启动调试,使用Xcode启动App并使其等待调试器附加
  • 附加调试,进程已启动情况下附加调试,lldb使用方式debugserver --attach=[pid|name],Xcode同理
  • 等待调试,等待进程启动并自动附加调试,lldb使用方式debugserver -waitfor=[name],Xcode同理

JBDev核心

JBDev核心文件

  • jbdev.plist,控制JBDev在iOS端行为配置文件,开发阶段需随App一起打包,字段如下
    • type: 指定JBDev以何种方式打包安装,可指定app/jailbreak/trollstore
  • jbdev.build.sh,控制JBDev打包的脚本

JBDev核心设置(环境变量)

  • THEOS,用于JBDev定位Theos以便打包
  • JBDEV_PACKAGE,应用于App类型Target,用于控制最终打包&安装&调试

JBDev开发越狱项目

详细实例见JBDevJBTest

建立项目

以下配置不依赖于iOSOpenDev/MonkeyDev

使用Xcode建立等同于theos/application的项目

  • File - New - Target - iOS - App
  • 此为主Target,用于JBDev交互打包/安装/调试

使用Xcode建立等同于theos/tweak的项目

  • File - New - Target - macOS - Library
  • Build Settings - Base SDK设置为iOS,同时部署Device设置为iOS设备

使用Xcode建立等同于theos/tool的项目

  • File - New - Target - macOS - CommandLineTool
  • Build Settings - Base SDK设置为iOS,同时部署Device设置为iOS设备

配置文件

  • 所有需要ldid签名的Target在自身目录下添加plist文件
  • jbdev.build.sh放在.xcodeproj同级目录
  • jbdev.plist放在.xcodeproj同级目录,设置typejailbreak

配置Build Settings

  • 所有Target调整Installation Directory
  • Project新增CODE_SIGNING_ALLOWED,设置为NO
  • Project新增THEOS,设置为theos路径
  • 主Target新增JBDEV_PACKAGE,设置为YES(此变量控制是否打包)

配置Build Phase

  • 所有Target添加Run Script最后执行,设置为bash jbdev.build.sh
  • 主Target将其他项目设置为依赖项

无根/隐根配置

Theos支持为有根/无根/隐根提供layout扩展

  • layout_root目录,存放有根与无根/隐根文件diff
  • layout_rootless目录,存放无根与有根/隐根文件diff
  • layout_roothide目录,存放隐根与有根/无根文件diff

常用diff文件如下

  • layout*/DEBIAN/control
    • 有根Architectureiphoneos-arm
    • 无根Architectureiphoneos-arm64
    • 隐根Architectureiphoneos-arm64e
  • layout*/DEBIAN/{preinst,postinst,extrainst_,prerm,postrm}
  • layout*/Library/LaunchDaemons/*.plist

注意事项

  • layout/DEBIAN/controlArchitectureXcode Build SettingsArchitecture没有关系,有根包的实际arch可以为armv7/arm64/arm64e,无根包/隐根包的实际arch可以为arm64/arm64e
  • 必须在layout/DEBIANpostinstextrainst_中执行uicache否则因系统App未注册而安装失败
有根/无根/隐根编译切换

此方式每次可编译有根/无根/隐根中的一种,操作方式如下

通用

  • Tweak设置Runpath Search Paths Header Search Paths Framework Search Paths
  • Tweak链接libsubstrate.tbd

有根

  • 所有Target的Build SettingsTHEOS_PACKAGE_SCHEME删除

无根

  • 所有Target的Build SettingsTHEOS_PACKAGE_SCHEME设置为rootless
  • Preprocessor Macros中设置THEOS_PACKAGE_SCHEME_ROOTLESS

隐根

  • 所有Target的Build SettingsTHEOS_PACKAGE_SCHEME设置为roothide
  • Preprocessor Macros中设置THEOS_PACKAGE_SCHEME_ROOTHIDE
  • Tweak链接libroothide.tbd

单独启动调试Tweak

详细实例见JBDevTweakTest。由于JBDev可以调试任意App,因此可以源码级调试注入App的Tweak。原理如下:

  • 建立一个和目标App的BundleID相同的空App(FakeApp)
  • Xcode执行打包安装调试,JBDev跳过安装
  • 目标App启动,开始调试Tweak

使用Xcode建立FakeApp

  • File - New - Target - iOS - App

配置文件

  • jbdev.build.sh放在.xcodeproj同级目录
  • jbdev.plist放在.xcodeproj同级目录,设置typejailbreak

配置Build Settings

  • 所有Target新增CODE_SIGNING_ALLOWED,设置为NO
  • FakeApp新增JBDEV_PACKAGE,设置为YES(此变量控制是否打包)
  • FakeApp新增JBDEV_NO_COPY,防止安装FakeApp本身

配置Build Phase

  • 所有Target添加Run Script最后执行,设置为bash jbdev.build.sh
  • FakeApp将Tweak设置为依赖项

注意

  • SpringBoard不属于App类型,不可调试
  • 由于Xcode不支持非源码下断点,因此不支持调试logos语法的Tweak,如果谁有黑科技可以实现强制下断点请在issue里提交

JBDev开发巨魔项目

详细实例见JBDevTSTest。前置条件:iOS系统需要能越狱且能使用巨魔

使用Xcode建立普通iOS-App的项目

  • File - New - Target - iOS - App

配置文件

  • 在自身Target目录下添加需要签名的plist文件
  • jbdev.build.sh放在.xcodeproj同级目录
  • jbdev.plist放在.xcodeproj同级目录,设置typetrollstore

配置Build Settings

  • Target新增CODE_SIGNING_ALLOWED,设置为NO
  • Target新增JBDEV_PACKAGE,设置为YES(此变量控制是否打包)

配置Build Phase

  • 所有Target添加Run Script最后执行,设置为bash jbdev.build.sh

注意事项

  • 巨魔App开发,由于纯巨魔环境与越狱环境有较大差异,因此后续需要在纯巨魔环境进一步测试

JBDev编译

cd JBDev
make clean; make package
make clean; make package THEOS_PACKAGE_SCHEME=rootless
make clean; make package THEOS_PACKAGE_SCHEME=roothide

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/73653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PTA 1097-矩阵行平移

给定一个&#x1d45b;&#x1d45b;nn的整数矩阵。对任一给定的正整数&#x1d458;<&#x1d45b;k<n&#xff0c;我们将矩阵的奇数行的元素整体向右依次平移1、……、&#x1d458;、1、……、&#x1d458;、……1、……、k、1、……、k、……个位置&#xff0c;平移…

C++蓝桥杯实训篇(一)

片头 嗨~小伙伴们&#xff0c;大家好&#xff01;现在我们来到实训篇啦~本篇章涉及算法知识&#xff0c;比基础篇稍微难一点&#xff0c;我会尽量把习题讲的通俗易懂。准备好了吗&#xff1f;咱们开始咯&#xff01; 第1题 递归实现指数型枚举 我们先画个图~ 从图中&#xff…

CentOS(最小化)安装之后,快速搭建Docker环境

本文以VMware虚拟机中安装最小化centos完成后开始。 1. 检查网络 打开网卡/启用网卡 执行命令ip a查看当前的网络连接是否正常&#xff1a; 如果得到的结果和我一样&#xff0c;有ens网卡但是没有ip地址&#xff0c;说明网卡未打开 手动启用&#xff1a; nmcli device sta…

软考《信息系统运行管理员》- 5.3 信息系统数据资源备份

文章目录 数据资源备份类型按数据备份模式分按备份过程中是否可接收用户响应和数据更新分按数据备份策略分按备份的实现方式分按数据备份的存储方式分 常用备份相关技术磁盘阵列技术双机热备 某公司数据备份管理制度实例 数据资源备份类型 数据备份系统由硬件和软件两部分组成…

H3CNE综合小实验之电视机

H3CNE综合小实验之电视机 一、实验拓扑图 二、实验要求 按照图示配置IP地址&#xff1b;按照图示区域划分配置对应的动态路由协议&#xff1b;在R7上配置dhcp服务器&#xff0c;能够让pc可以获取IP地址&#xff1b;将所有环回⼝宣告进ospf中&#xff0c;将环回⼝7宣告进rip中…

Axios企业级封装实战:从拦截器到安全策略!!!

&#x1f680; Axios企业级封装实战&#xff1a;从拦截器到安全策略 &#x1f527; 核心代码解析 // 创建Axios实例 const service axios.create({baseURL: api, // &#x1f310; 全局API前缀timeout: 0, // ⏳ 永不超时&#xff08;慎用&#xff01;&#xff09;withCrede…

DCAT模型:双交叉注意力革新医学影像诊断,AUC 99.75%

一、研究背景&#xff1a;医学影像诊断的挑战 在医学影像领域&#xff08;如X光、OCT&#xff09;&#xff0c;精准分类疾病直接影响患者治疗决策。传统深度学习模型存在两大痛点&#xff1a; 1.过度自信&#xff1a;即使图像模糊或存在噪声&#xff0c;模型仍可能给出高…

2.2.2 Spark单机版环境

本文介绍了如何搭建和使用Spark单机版环境。首先&#xff0c;确保安装配置好JDK&#xff0c;然后从群共享下载Spark安装包并上传至云主机的/opt目录。接着&#xff0c;解压到/usr/local目录并配置环境变量&#xff0c;通过spark-submit --version验证安装成功。在使用Spark单机…

SAP消息号类型(E/I/W)的定制

比如这样的M8088的标准的消息号&#xff0c;希望变更消息类型&#xff0c;查询之后&#xff0c;网上提供的消息&#xff0c;都是SE91,OMRM&#xff0c;OBA5之类的消息。事实上&#xff0c;SE91是不能变更消息类型的。 而在OMRM界面&#xff0c;只看到有限的几个消息号。 原来&a…

wazuh安全管理工具

Wazuh 通过监控操作系统和应用程序层面的终端设备&#xff0c;增强您基础设施的安全可见性。其核心功能涵盖日志分析、文件完整性监控、入侵检测以及合规性监控。 一、介绍 1. 核心功能 1.1 主机入侵检测&#xff08;HIDS&#xff09; 文件完整性监控&#xff08;FIM&#…

MATLAB 控制系统设计与仿真 - 29

用极点配置设计伺服系统 方法1-前馈修正 对于一个可控的系统&#xff0c;我们知道可以用极点配置来得到系统的动态响应指标&#xff0c;但是系统有时会存在较大的静态误差。 例如&#xff1a; 系统的状态矩阵如下&#xff0c;试求取其阶跃响应。 MATLAB 代码如下&#xff1…

编译原理——自底向上语法优先分析

文章目录 自底向上优先分析概述一、自底向上优先分析概述二、简单优先分析法&#xff08;一&#xff09;优先关系定义&#xff08;二&#xff09;简单优先文法的定义&#xff08;三&#xff09;简单优先分析法的操作步骤 三、算法优先分析法&#xff08;一&#xff09;直观算符…

Opencv计算机视觉编程攻略-第四节 图直方图统计像素

Opencv计算机视觉编程攻略-第四节 图直方图统计像素 1.计算图像直方图2.基于查找表修改图像3.直方图均衡化4.直方图反向投影进行内容查找5.用均值平移法查找目标6.比较直方图搜索相似图像7.用积分图统计图像 1.计算图像直方图 图像统计直方图的概念 图像统计直方图是一种用于描…

5、vim编辑和shell编程【超详细】

一、vim 1、了解 Vim (Vi IMproved) 是一款功能强大的文本编辑器。 正常模式&#xff1a;vim 文件&#xff0c;刚打开的样子vim模式&#xff1a;输入文本的地方命令模式&#xff1a;输入 :wq等等的位置&#xff0c;可以对文本进行一些操作&#xff0c;比如&#xff1a;保存文…

《Robust Synthetic-to-Real Transfer for Stereo Matching》

论文地址&#xff1a;https://arxiv.org/pdf/2403.07705 源码地址&#xff1a;https://github.com/jiaw-z/DKT-Stereo 概述 通过在合成数据上预训练的模型在未见领域上表现出强大的鲁棒性。然而&#xff0c;在现实世界场景中对这些模型进行微调时&#xff0c;其领域泛化能力可…

蓝桥杯第10届 后缀表达式

题目描述 给定 N 个加号、M 个减号以及 NM1 个整数 A1,A2,⋅⋅⋅,ANM1​&#xff0c;小明想知道在所有由这N 个加号、M 个减号以及 NM1 个整数凑出的合法的 后缀表达式中&#xff0c;结果最大的是哪一个&#xff1f; 请你输出这个最大的结果。 例如使用 1 2 3 -&#xff0c…

C++前缀和

个人主页&#xff1a;[PingdiGuo_guo] 收录专栏&#xff1a;[C干货专栏] 大家好&#xff0c;今天我们来了解一下C的一个重要概念&#xff1a;前缀和 目录 1.什么是前缀和 2.前缀和的用法 1.前缀和的定义 2.预处理前缀和数组 3.查询区间和 4.数组中某个区间的和是否为特定…

uni app跨端开发遇到的问题

技术栈 uni app&#xff0c;vue3&#xff0c;uview puls&#xff0c;map… nvue 因为项目中有地图&#xff0c;要使用到map标签&#xff0c;所以考虑用原生nvue开发&#xff0c;它是有痛点的&#xff0c;首先浏览器不支持&#xff0c;我是要开发ios和Android&#xff0c;所以…

element-ui messageBox 组件源码分享

messageBox 弹框组件源码分享&#xff0c;主要从以下两个方面&#xff1a; 1、messageBox 组件页面结构。 2、messageBox 组件属性。 一、组件页面结构。 二、组件属性。 2.1 title 标题&#xff0c;类型为 string&#xff0c;无默认值。 2.2 message 消息正文内容&#xf…

支付页面安全与E-Skimming防护----浅谈PCI DSS v4.0.1要求6.4.3与11.6.1的实施

关键词&#xff1a;支付页面安全、E-Skimming、PCI DSS v4.0.1、第三方脚本、风险管理、持卡人数据、数据安全、第三方服务提供商、TPSP、内容安全、网页监控、恶意脚本攻击 本文为atsec和作者技术共享类文章&#xff0c;旨在共同探讨信息安全的相关话题。转载请注明&#xff…