部署与使用

iOS 14 – 18 · arm64 / arm64e · Dopamine · palera1n · unc0ver · Taurine

环境要求安装激活 面板操作偏移表弹道算法反检测常见问题

一、环境要求

项目要求
系统iOS 14.0 – 18.x,已越狱
越狱工具Dopamine(rootless)、palera1n、unc0ver、Taurine、XinaA15
包管理器Sileo 或 Zebra(推荐),Cydia 亦可
架构arm64 / arm64e
包体约 83 KB,无额外依赖(ElleKit / MobileSubstrate 任一)
操作入口音量加呼出面板,音量减收起;悬浮球为备用入口
rootless 越狱必须安装 rootless 版包;装错版本会出现「悬浮球不出现」,卸载后换版本即可。

二、安装

方式一:Sileo 安装

  1. 在设备浏览器打开 https://gg.yfmk68.com,点「下载增强包」。
  2. 下载完成后选择「用 Sileo 打开」,安装并重启 SpringBoard。

方式二:命令行安装

wget https://gg.yfmk68.com/dl/YHCheat_1.0.2.deb -O /tmp/yh.deb
dpkg -i /tmp/yh.deb
killall -9 SpringBoard
若 dpkg 提示架构不匹配,说明拿到的是另一个版本,改用 YHCheat_1.0.2-rootless.deb

三、激活

  1. 进入游戏,按音量加呼出面板(音量减收起);也可点屏幕右侧的悬浮球「云」。
  2. 面板左侧选「授权」→ 输入卡密激活 → 粘贴卡密。
  3. 激活成功后服务端下发功能位,客户端用内嵌的 ECDSA 公钥验签票据。
票据说明
格式v1.<b64u(payload)>.<b64u(DER 签名)>
算法ECDSA P-256 / SHA-256(iOS Security.framework 原生验签)
落盘/var/mobile/Library/YHCheat/license.dat
离线断网后在剩余有效期内继续可用
心跳每 60 秒一次;服务器可随时终止授权

四、面板操作

操作说明
音量加呼出菜单(已展开时保持不动,不会误收起)
音量减收起菜单,完全让出屏幕
左侧菜单栏透视 / 自瞄 / 技能 / 参数 / 授权 五个分区,点一下切换
拖动按住面板空白处可整体拖动;悬浮球同样可拖
面板只在打开时接收触摸,其余区域的点击全部穿透给游戏。

五、偏移表

游戏版本更新后类名与字段偏移会变,本工程不在代码里写死偏移,而是读取运行时配置:

/var/mobile/Library/YHCheat/offsets.json

首次运行会自动写入一份样例,直接编辑即可,改完重启游戏生效。字段名被混淆时,用 entity.offsets 直接写数值。

最省事的更新方式:在面板里调用结构导出,它会遍历当前运行时的全部程序集,生成

/var/mobile/Library/YHCheat/dump_<时间戳>.json

内含类名、字段名、字段偏移与全部方法名,挑出实体类填进 offsets.json 即可。

六、弹道算法

直线拦截 · 百里守约 2 技能

|P0 + V·t − S| = v·t,即一元二次方程取最小正根;无正根时退化为定点迭代。

(|V|² − v²)·t² + 2(V·D)·t + |D|² = 0        D = P0 − S

瞄准点再叠加「施法前摇 + RTT/2」期间目标的位移。

抛物线反解 · 投掷类技能

tanθ = (v² − √(v⁴ − g(gx² + 2yv²))) / (gx)

曲线路径 · 干将莫邪

双剑沿贝塞尔路径飞行,伤害区在两剑交汇处,按飞行时间采样求交:

for t in [0.04, flyTime] step 0.02:
    目标预测位置 = P0_target + V_target · (t + 前摇)
    路径点       = Bézier(起点, 控制点, 交汇点, t / flyTime)
    if |路径点 − 预测位置| < 命中半径: 命中

未命中时输出最小距离方向作为修正,避免整发技能打空。

七、反检测

检测面处理
文件系统探测access / stat / lstat / statfs / fopen / opendir 对越狱特征路径返回 ENOENT
调试器状态sysctl(KERN_PROC) 抹除 P_TRACED 标志
注入痕迹_dyld_image_count / _dyld_get_image_name 隐藏本 dylib 与 Substrate 系列
环境变量getenv(DYLD_INSERT_LIBRARIES) 返回 NULL
自绝调试ptrace(PT_DENY_ATTACH) 放行
调试端口connect 对 27042 / 27043 / 4444 等端口直接 ECONNREFUSED

反检测在 dylib 载入的第一时间安装,早于游戏 SDK 的首次检测。

八、常见问题

现象处理
音量键没反应确认游戏进程内已注入(日志有 volume key ready);音量已在极值时会自动回中,重按一次即可
悬浮球不出现确认包的 rootless/rootful 与系统匹配;dpkg -l | grep yhcheat 查安装状态;系统日志过滤 [YHCheat]
面板出现但无透视attach 失败,先用结构导出定位实体类与字段,更新 offsets.json
取不到相机确认 camera.class 为 UnityEngine.Camera;Unity 2021+ 需从 UnityEngine.CoreModule.dll 找
自瞄有反应但打不中predictRttMs(真机实测 RTT)与 predictLead(1.0 为理论值,远距离可到 1.1–1.2)
技能方向不对该英雄的 model 选错:直线 linear、抛物线 ballistic、双剑类 curve
激活提示「已绑定其它设备」在后台把该设备解绑,或提交工单处理

九、编译(自行构建)

export THEOS=/opt/theos
cd tweak
make package ROOTLESS=1     # rootless
make package                # rootful
make package DEBUG=1        # 带日志

完整工程结构与源码说明见仓库内 tweak/README.md