UniHacker 使用指南:3 步指定目标文件,跨平台破解 Unity 与 Unity Hub
【免费下载链接】UniHacker为Windows、MacOS、Linux和Docker修补所有版本的Unity3D和UnityHub项目地址: https://gitcode.com/GitHub_Trending/un/UniHacker
UniHacker 是一款跨平台的Unity 破解工具,通过移除国际版 Unity 编辑器与 Unity Hub 中的许可证校验,使未登录状态下也能直接打开工程。项目基于 Avalonia 框架构建,运行于 Windows、macOS 和 Linux,仓库说明中也提供了 Docker 构建的支持。它根据目标程序的版本与 CPU 架构分派对应的修补策略,修改前会自动创建备份文件,整个过程可以还原。
📋 项目速览
| 项目 | 内容 |
|---|---|
| 项目名称 | UniHacker |
| 核心功能 | 修补国际版 Unity 与 Unity Hub 的许可证校验,支持还原 |
| 支持平台 | Windows / macOS / Linux,另有 Docker 构建 |
| 技术栈 | .NET 6.0、AvaloniaUI(MVVM) |
| 许可证 | GPL v3 |
| 源码入口 | Program.cs,核心逻辑位于 Patcher/ |
界面是一个不可缩小的 520×270 小窗口,只包含文件选择、版本号、状态与两个操作按钮四个区域,文案支持中英文切换(见 Assets/ 下的 resx 资源文件)。
明确了基本信息后,下面按"准备 → 操作 → 验证"的顺序把程序跑起来。
🚀 安装与运行
准备阶段
- 需要 .NET 6.0 SDK,global.json 将版本锁定为 6.0.406;若直接获取仓库 release 页中的预构建包,可跳过本地编译。
- 目标程序必须是 Unity 国际版或 Unity Hub 国际版,国内特供版不在支持范围。
- 修补前目标程序必须已完全退出,运行中的进程会被工具检测并中断操作。
操作步骤
git clone https://gitcode.com/GitHub_Trending/un/UniHacker cd UniHacker dotnet build -c Release构建完成后运行图形界面,点击"选择"按钮指定目标文件,各平台的路径如下:
- Windows:版本目录下的
Editor\Unity.exe,例如2021.3.16f1\Editor\Unity.exe - macOS:直接选择
Unity.app,程序会自动定位到其Contents/MacOS/Unity - Linux:版本
Editor目录下的Unity可执行文件;Unity Hub 则选择unityhub-bin
确认界面上显示的版本号与预期一致后,点击破解按钮。
验证结果
状态栏由"未破解"变为"已破解",目标文件同目录出现.bak备份,即表示修补完成。直接启动 Unity 打开工程,不再弹出许可证登录界面即可确认生效。注意:只修补Unity.exe就足以打开工程,Unity Hub 是配合使用的辅助步骤,单独修补 Hub 并不能让工程运行。
程序跑通之后,以下几个实际使用场景会更有参考意义。
🎯 能帮你解决什么
场景一:多版本 Unity 对比学习
同时安装 2019.x、2021.x、2022.1 三个版本,在 UniHacker 中分别指定各版本的主程序文件并依次修补,即可在本地来回切换体验。工程配置里指向不同版本的主程序路径,就能对比 API 差异与界面变化,不受许可证数量限制。
场景二:恢复 Unity Hub 的版本列表与下载入口
先修补 Unity Hub,使其版本列表可正常访问,再通过 Hub 安装编辑器;安装完成后,再对装好的Unity.exe(或Unity.app)执行一次修补。两步顺序可以调换,但缺一不可——只处理 Hub 这一侧时,工程仍然无法打开。
场景三:受限网络环境下的本地教学
教学机房或无法稳定访问 unity.com 的环境里,补丁后的编辑器可离线打开与编译工程,不依赖账号登录。若仍需通过 Hub 登录国际服账号,按仓库 README 的流程将 Hub 语言改为 English、清理本地缓存并配置代理,使登录跳转落在api.unity.com(.com 域名)而非国内地址。
好奇它的修补动作到底做在了哪些文件上,可以看下面这段实现路径说明。
⚙️ 工作原理
界面层是 Avalonia 加 MVVM 的常规结构,视图逻辑集中在 Views/MainWindow.axaml 与 ViewModels/MainWindowViewModel.cs。真正干活的是 Patcher/ 目录:PatchManager按文件名把目标分派给UnityPatcher、UnityHubPatcher或默认处理器。以编辑器为例,UnityPatcher.cs 先读取文件版本号与 CPU 架构,用内置的 Boyer-Moore 字节匹配器在二进制中定位许可证校验的代码片段,匹配成功后将原文件备份为.bak再写回修改后的字节;macOS arm64 目标额外调用codesign自签名并移除隔离属性,最后由LicensingInfo生成本地许可证文件。Unity Hub 一侧则不同,UnityHubPatcher.cs 用 Patcher/asar/ 内置的 asar 解压模块解开resources/app.asar,再按主版本号(2.x / 3.x / 3.4.2+)修补对应的 JS 文件。版本兼容边界:Windows 与 macOS 支持 4.x 至 2022.1,Linux 支持 2017.x 至 2022.1,2022.2 及以后版本因许可证逻辑重构暂无修补方案。
了解了机制,实际运行中再遇到下面三类情况就不会无从下手。
❓ 常见问题与排查
状态显示"国内特供版"或"不支持"
现象:选择目标文件后,状态栏提示为国内特供版,或版本信息显示"不支持"。可能原因:下载的安装包来自国内渠道,拿到的是 Unity 中国版;或者版本在 2022.2 及以上,工具尚无对应补丁。解决步骤:从 unity3d.com 或 unity.com 重新下载国际版,下载全程保持代理,避免中途重定向到国内地址;确认主版本号不高于 2022.1;版本确认在支持范围内仍显示不支持时,向仓库 issue 提交版本号与架构信息。
修补时提示目标进程被占用
现象:点击破解按钮后弹出提示,操作没有执行。可能原因:Unity 或 Unity Hub 仍在运行,工具在修补前会检测同名进程并中止。解决步骤:彻底退出目标程序——Windows 检查任务管理器中无残留进程,macOS 或 Linux 确认进程列表中没有对应条目——然后重新点击破解。
修补后 Unity Hub 登录仍跳转 unity.cn
现象:按流程登录后跳转的 URL 是 .cn 域名,或登录页打不开。可能原因:Hub 本地缓存记录了国内服务器地址,或语言未切换为 English。解决步骤:把 Hub 语言改为 English;删除本地缓存目录(Windows 为%AppData%/UnityHub,macOS 为~/Library/Application Support/UnityHub,Linux 为~/.config/UnityHub);配置代理后重新登录,确认跳转地址为api.unity.com。需要说明的是,这部分属于 README 推荐的网络配置流程,修补操作本身不改变 Hub 的登录行为。
运行层面的问题处理完后,最后明确一下这个工具的使用边界。
⚖️ 合规与边界
仓库 README 的免责声明写明:软件的任何使用仅用于非营利性的教育和测试目的。修改商业软件的校验逻辑本身不属于合法使用方式,在商业项目、团队协作或上架发布中使用补丁版本会带来法律风险,这类场景应购买 Unity 官方许可证。版本边界上,2022.2 及以上版本与国内特供版均不支持;工具在 Windows 下检测到带 hasp 加密狗特征或文件过小的特殊发行版时也会拒绝修补,以仓库实际判定为准。
UniHacker 的定位是为学习、教学与本地测试场景提供一条低门槛的验证路径,它的价值止步于此。支持的版本范围、修补状态与后续更新,以仓库 README 和 issue 区的实际记录为准;想进一步理解实现,可以从 Patcher/ 目录与 UniHacker.csproj 的构建配置入手。
【免费下载链接】UniHacker为Windows、MacOS、Linux和Docker修补所有版本的Unity3D和UnityHub项目地址: https://gitcode.com/GitHub_Trending/un/UniHacker
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考