首页
/ H5GG 完全使用手册:从安装到进阶的实战指南

H5GG 完全使用手册:从安装到进阶的实战指南

2026-04-29 10:54:39作者:薛曦旖Francesca

1. 快速上手指南

1.1 设备适配方案对比

设备类型 安装方式 优势 适用场景
非越狱设备 IPA注入dylib 无需越狱,兼容性强 普通用户日常使用
越狱设备 deb包自动加载 全功能支持,系统级集成 高级开发与调试
越狱设备 独立应用模式 隔离运行,安全性高 多环境测试
越狱设备 全局悬浮窗模式 跨应用操作,便捷性强 多任务处理
TrollStore兼容设备 TrollStore安装 免证书签名,持久化运行 长期稳定使用

💡 提示:首次使用建议根据设备类型选择对应方案,越狱用户优先推荐deb包安装以获得完整功能。

1.2 基础环境配置

1️⃣ 准备工作

  • 非越狱设备:需安装iOS App Signer和iTunes
  • 越狱设备:已安装Cydia或Sileo包管理器
  • 所有设备:确保系统版本≥iOS 11.0

2️⃣ 获取安装包

git clone https://gitcode.com/gh_mirrors/h5/H5GG
cd H5GG

3️⃣ 安装执行

  • 非越狱设备:使用optool注入dylib到目标IPA
optool install -c load -p "@executable_path/H5GG.dylib" -t YourApp.ipa
  • 越狱设备:直接安装deb包
dpkg -i packages/com.test.h5gg_0.0.1_iphoneos-arm.deb

常见问题速解

  • Q: 注入dylib后应用无法启动?

  • A: 检查签名证书有效性,确保使用正确的entitlements文件

  • Q: 越狱设备安装deb后无图标?

  • A: 尝试重启SpringBoard:killall SpringBoard

2. 核心功能解析

2.1 内存搜索与修改

H5GG提供强大的内存操作功能,支持精确搜索、模糊搜索和内存锁定等核心功能。

H5GG内存搜索界面 图1:H5GG内存搜索与进程选择界面

基础操作流程

1️⃣ 选择目标进程(如ShooterGame) 2️⃣ 设置内存范围(MemStart和MemEnd) 3️⃣ 输入搜索值并选择数据类型 4️⃣ 点击"Search"开始首次搜索 5️⃣ 根据变化值进行多次筛选 6️⃣ 双击结果进行修改或锁定

代码示例:内存搜索

// 精确搜索数值100
const results = H5GG.searchMemory({
  value: 100,
  type: "int",
  signed: true
});

// 模糊搜索大于当前值的结果
const increased = H5GG.searchMemory({
  type: "float",
  compare: "greaterThan",
  previousResults: results
});

⚠️ 安全操作红线

  • 禁止修改系统进程内存(如SpringBoard)
  • 避免频繁搜索系统关键区域(可能导致应用崩溃)
  • 修改前建议备份内存快照:H5GG.saveMemorySnapshot("backup.bin")

常见问题速解

  • Q: 搜索结果过多无法筛选?

  • A: 使用"NearbySearch"功能缩小范围,设置合理的NearbyRange值(如0x100)

  • Q: 锁定值后游戏闪退?

  • A: 尝试降低锁定频率或使用"FloatTolerance"参数(建议0.1-0.5)

2.2 脚本与插件系统

H5GG支持JavaScript脚本和dylib插件扩展,实现自动化操作和功能增强。

H5GG脚本编辑界面 图2:H5GG内置HTML/JS编辑器与预览界面

脚本开发基础

1️⃣ 创建脚本文件(.js或.html) 2️⃣ 使用H5GG提供的API编写功能 3️⃣ 通过界面"Scripts"按钮加载执行

常用脚本示例

// 自动搜索并锁定生命值
function autoLockHealth() {
  // 首次搜索初始生命值
  let results = H5GG.searchMemory({value: 100, type: "int"});
  
  // 循环监控变化
  setInterval(() => {
    results = H5GG.searchMemory({
      compare: "notEqual",
      previousResults: results
    });
    
    // 锁定剩余结果
    if (results.length <= 5) {
      results.forEach(addr => H5GG.lockMemory(addr, 100));
    }
  }, 1000);
}

// 执行自动锁定
autoLockHealth();

插件开发要点

  • dylib插件放置路径:/Library/MobileSubstrate/DynamicLibraries/
  • 支持Objective-C方法钩子和C函数钩子
  • 插件配置文件格式:plist(示例见pluginDemo/customAlert.plist)

常见问题速解

  • Q: 脚本执行无反应?

  • A: 检查控制台输出(Console选项卡),确保没有语法错误

  • Q: 自定义插件不加载?

  • A: 验证插件权限和签名,确保plist文件配置正确

3. 高级应用技巧

3.1 指针链搜索与静态分析

指针链(Pointer Chain)是定位动态内存地址的高级技术,通过多级指针定位目标值。

自动搜索指针链步骤

1️⃣ 找到临时内存地址(通过普通搜索) 2️⃣ 使用"AutoSearchPointerChains"功能

const chains = H5GG.autoSearchPointerChains({
  targetAddress: 0x10284EF88,
  maxDepth: 5,
  module: "ShooterGame"
});

// 输出找到的指针链
console.log("Found pointer chains:");
chains.forEach(chain => {
  console.log(chain.map(offset => `0x${offset.toString(16)}`).join(" -> "));
});

3️⃣ 验证并保存指针链 4️⃣ 在脚本中使用指针链读取值

// 使用指针链读取值
const health = H5GG.readPointerChain([0x10050000, 0x20, 0x18]);

指针链搜索结果 图3:H5GG指针链搜索结果界面

常见问题速解

  • Q: 指针链搜索耗时过长?

  • A: 增加maxDepth值或指定具体模块范围

  • Q: 重启后指针链失效?

  • A: 尝试基于基地址计算偏移量:baseAddress + offset

3.2 UI自定义与主题开发

H5GG支持通过HTML/CSS自定义界面,无需电脑即可创建个性化主题。

自定义UI步骤

1️⃣ 创建HTML文件(参考examples-HTML5/H5Menu(DarkStyle).html) 2️⃣ 设计界面样式(支持Tailwind CSS和Font Awesome) 3️⃣ 通过JavaScript与原生功能交互

<!DOCTYPE html>
<html>
<head>
  <title>Custom H5GG Theme</title>
  <style>
    .custom-button {
      background: #4CAF50;
      color: white;
      padding: 10px 20px;
      border-radius: 5px;
      border: none;
    }
  </style>
</head>
<body>
  <button class="custom-button" onclick="H5GG.showMessage('Hello Custom UI')">
    Click Me
  </button>
</body>
</html>

4️⃣ 通过"MakeTweak"功能打包为主题插件

扩展阅读

  • H5GG内置UI组件库:examples-HTML5/目录下提供多种界面组件示例
  • 主题开发API文档:h5gg-js-doc.js和h5gg-js-doc-en.js

常见问题速解

  • Q: 自定义UI无法全屏显示?

  • A: 检查viewport设置:<meta name="viewport" content="width=device-width, initial-scale=1.0">

  • Q: 按钮点击无响应?

  • A: 确保使用H5GG提供的交互API,避免直接使用window.alert等浏览器函数

3.3 跨进程通信与多设备协作

H5GG支持跨进程内存读写和基本的设备间通信,适用于复杂调试场景。

跨进程操作示例

// 获取目标进程ID
const pid = H5GG.getProcessId("ShooterGame");

// 跨进程读取内存
const value = H5GG.readMemory(pid, 0x10284EF88, "int");

// 跨进程写入内存
H5GG.writeMemory(pid, 0x10284EF88, 999, "int");

多设备协作技巧

  • 使用"CrossProc"功能同步内存数据
  • 通过脚本导出/导入内存快照
  • 利用h5frida功能实现远程调试

常见问题速解

  • Q: 跨进程操作失败?

  • A: 检查目标进程权限,越狱设备需确保拥有足够权限

  • Q: 无法连接其他设备?

  • A: 验证网络连接,确保设备在同一局域网且H5GG服务已启动

登录后查看全文
热门项目推荐
相关项目推荐