UniHacker 跨平台 Unity 激活工具:三个阶段完成 Unity 免费授权
【免费下载链接】UniHacker为Windows、MacOS、Linux和Docker修补所有版本的Unity3D和UnityHub项目地址: https://gitcode.com/GitHub_Trending/un/UniHacker
用 Unity 2021.1 打开旧项目时,启动激活流程要求完成登录与订阅确认,想立刻开工的开发者会卡在这一步。UniHacker 是一款跨平台 Unity 激活工具:选定编辑器主程序后自动识别版本与架构并修补授权逻辑,Windows、macOS、Linux 上流程一致,全程通常 10-30 秒。它在改动主程序之前先把原文件备份为.bak,随时可回退;UnityHub 2.x、3.x 也可一并处理。
适配矩阵:先核对平台与版本
动手之前,先确认你的环境落在支持范围内。下表汇总了全部版本边界,包括参考文档里分散的 Hub 支持与特供版限制:
| 运行平台 | Unity 编辑器 | UnityHub | 国内特供版 |
|---|---|---|---|
| Windows | ✅ 4.x、5.x、2017.x – 2022.1;⚠️ 2022.2 与 2023.x 不支持 | ✅ 2.x、3.x(含 3.4.2+) | ⚠️ 不支持 |
| macOS | ✅ 4.x、5.x、2017.x – 2022.1;⚠️ 2022.2 与 2023.x 不支持 | ✅ 2.x、3.x(含 3.4.2+) | ⚠️ 不支持 |
| Linux | ✅ 2018.x – 2022.1(更早的 4.x / 5.x / 2017.x 不覆盖);⚠️ 2022.2 与 2023.x 不支持 | ✅ 2.x、3.x(含 3.4.2+) | ⚠️ 不支持 |
⚠️ 两条硬边界,直接说明:
- Unity 2022.2 起重构了许可证逻辑,UniHacker 不支持 2022.2 与 2023.x,这是当前的实现限制,不是过渡状态。
- 国内特供版(.cn 域)不支持。工具在分析所选文件时若判定为国内特供版会给出提示,不会继续打补丁;装错版本请全程挂代理重新下载国际版。
上手路径:从环境准备到执行验证
环境准备
- 运行时:项目基于 .NET 6 构建,安装 .NET 6 运行时,或直接从项目 release 获取预编译程序
- 权限:需要管理员权限运行,程序启动时检测到非管理员会直接退出
- 版本:Unity 与 UnityHub 都必须是国际版,建议全程走代理下载,否则可能被重定向到国内特供版
- 源码方式:也可以克隆仓库自行构建
git clone https://gitcode.com/GitHub_Trending/un/UniHacker目标定位:各平台主程序路径速查
工具需要的是编辑器主程序,不是工程目录。各平台建议路径:
| 平台 | Unity 编辑器主程序 | UnityHub 主程序 |
|---|---|---|
| Windows | C:\Program Files\Unity\Hub\Editor\<版本号>\Unity.exe(Hub 安装);独立安装为C:\Program Files\Unity\Editor\Unity.exe | C:\Program Files\Unity Hub\Unity Hub.exe |
| macOS | /Applications/Unity/Hub/Editor/<版本号>/Unity.app | /Applications/Unity Hub.app |
| Linux | /opt/Unity/Hub/Editor/<版本号>/Unity(Hub 安装)或/opt/unity3d/Unity(独立安装) | /opt/unityhub/unityhub(随安装方式而定) |
破解顺序:先处理 Unity 主程序,再处理 Hub。只破解 Hub 无法打开工程,真正让编辑器可用的是对编辑器主程序的补丁。 同一台机器装有多个编辑器版本时,逐个定位、逐个破解,目录之间互不影响。
执行与验证:补丁、备份与许可证生成
- 启动 UniHacker,点击“选择”定位主程序,界面会显示文件版本、机器架构与当前状态(支持 / 已破解 / 不支持)
- 点击“破解”按钮,进度条推进到 100%。期间工具依次:将原文件备份为
.bak、改写主程序字节、把Unity.Licensing.Client重命名为.bak停用、按版本生成签名的.ulf许可证文件;macOS 上还会对 ARM64 二进制做 codesign 并移除隔离属性 - 完成后双击编辑器即可打开工程,编译、打包、发布均可用,无需登录
- 想还原时点击“还原”,各
.bak文件按逆向恢复
设计剖析:Patcher 子模块与界面层职责
核心逻辑全部位于 Patcher/,各子目录职责单一:
- Patcher/ — 调度层:
PatchManager按文件名决定实例化哪个 Patcher(Unity 主程序 →UnityPatcher,名称含 “unityhub” →UnityHubPatcher,其余 →DefaultPatcher),界面不感知内部差异 - Patcher/Architecture/:解析三大平台的机器架构(x86 / x64 / ARM64),字节补丁按“版本 × 架构”精确匹配
- Patcher/Unity/:编辑器授权核心 — 用 Boyer–Moore 匹配器在主程序中定位目标字节并写入补丁、停用授权客户端,
LicensingInfo按版本生成 RSA 签名的.ulf - Patcher/Hub/:面向 2.x / 3.x / 3.4.2+ 三档 Hub 的补丁器,改写解包目录中 JS 文件的方法体
- Patcher/asar/:Electron asar 归档格式的 C# 实现,负责
app.asar的解包与写回 - Patcher/Misc/:基类
Patcher(读取版本与架构、判定状态)、BoyerMooreSearcher字节匹配、平台工具与中英文本地化 - Views/ 与 ViewModels/:520×270 的 Avalonia 主窗口及数据绑定 — 路径展示、版本与状态显示、破解/还原按钮、进度条
- Assets/:中英文资源文件
排障手册:现象、根因与处置
UnityHub 登录异常的处置
- 现象:Hub 中 Sign In 跳转到
unity.cn,或登录反复失败 - 根因:Hub 语言为中文且本地缓存指向国内区域,或网络路线未走代理
- 处置:① 将 Hub 语言改为 English;② 删除本地缓存(Windows:
%AppData%\UnityHub);③ 把 UnityHub 加入代理规则;④ 确认登录跳转地址为api.unity.com,.com正确、.cn说明前两步未生效;⑤ 用邮箱注册海外账号登录,无需手机号
杀软误报拦截的处置
- 现象:UniHacker 或 Unity 主程序被杀毒软件隔离,或写入被拦截
- 根因:工具会改写编辑器二进制并写入许可证文件,触发启发式规则
- 处置:暂停实时防护,将工具与编辑器目录加入信任列表,以管理员身份运行工具
仍提示需要许可证的诊断
- 现象:破解完成后打开 Unity 仍要求激活
- 根因:三者之一 — 使用了国内特供版、版本在 2022.2 及以上、只破解了 Hub 而未处理编辑器主程序
- 处置:确认安装来源为国际版;对照适配矩阵核对版本;先破解
Unity.exe(或主程序)再处理 Hub;检查编辑器目录下.bak文件是否存在
高阶用法:Docker 部署与多版本共存
Docker 环境
项目带有专门的DOCKER_ENV编译分支:该分支下跳过界面,许可证文件写入容器内固定路径/root/.local/share/unity3d,便于接入 CI 流水线。配套的容器化镜像见 unihacker-docker 项目;也可基于官方 Unity 镜像自行构建:
docker build -t unity-dev-env .多版本共存
补丁是按安装目录执行的操作:每个版本目录的主程序各自持有.bak备份,互不覆盖,还原也各自独立;.ulf许可证按主版本区分文件,4.x 与 5.x 使用独立文件,2018 及以上共用Unity_lic.ulf。因此可以同时安装多个编辑器版本并分别激活。
边界与合规
项目 README 写明:本工具的任何使用仅用于非营利性的教育和测试目的。
- 适用场景:学习与研究引擎及 API、原型验证、个人非商业项目、教学培训
- 商业项目:面向应用商店发布或用于盈利的项目,请购买官方许可证,获得法律合规保障、官方技术支持与持续更新
- 再重申两条不支持边界:Unity 2022.2 及以上(许可证逻辑重构)、国内特供版,均为当前硬边界;业务依赖这些版本时请按官方许可证规划
如果你的版本落在上表支持范围内,UniHacker 三个阶段即可让编辑器打开,把省下的时间留给开发本身。
【免费下载链接】UniHacker为Windows、MacOS、Linux和Docker修补所有版本的Unity3D和UnityHub项目地址: https://gitcode.com/GitHub_Trending/un/UniHacker
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考