0xTodor/claude-unleashed

GitHub: 0xTodor/claude-unleashed

针对 Claude Code Bun SEA 编译二进制格式的长度保留补丁器,通过直接修改嵌入 JS 源码移除安全限制、解锁内部用户模式并注入实验性功能标志。

Stars: 2 | Forks: 0

**[English](README.md) | [中文](README_ZH.md)** # claude-unleashed [![Status](https://img.shields.io/badge/status-working-brightgreen)]() [![Version](https://img.shields.io/badge/Claude%20Code-2.1.119-blue)]() [![Platforms](https://img.shields.io/badge/platforms-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey)]() [![License](https://img.shields.io/badge/license-MIT-green)]() ## 为什么会有这个项目 从 Claude Code **v2.1.113** 版本开始,Anthropic 将分发方式从 Node.js JS bundle (`cli.js`) 切换为了编译好的 **Bun Single Executable Application (SEA)** 二进制文件(约 250 MB)。这导致所有依赖基于正则表达式的 JS 文本替换的现有补丁工具全部失效,包括出色的 [ClawGod](https://github.com/0Chencc/clawgod) 项目(这也是本作品的灵感来源 —— 参见 [鸣谢](#credits))。 该工具通过在 `.bun` PE/ELF/Mach-O 节中嵌入的 JS 源码内直接执行**长度保留的二进制补丁**,从而在新的二进制格式上发挥作用。 ## 功能特性 ### 它修补了什么(22 项二进制修改) **提示词级别的限制移除 (8):** - `CYBER_RISK_INSTRUCTION` — 安全测试拒绝指令 - URL 生成限制 - "Executing actions with care" 谨慎确认机制 - OWASP 强制安全编码指令 - 恶意软件分析系统提醒注入 - Git 安全协议 - Bash git 限制 - 提示词注入自动标记警告 **代码级别的修改 (4):** - 破坏性命令检测器 → 返回 `null` - Sandbox 默认策略 - Sandbox 敏感路径警告 - Sandbox 策略执行 **功能解锁 (3):** - `USER_TYPE` → `"ant"` (Anthropic 内部模式,解锁 98 个命令,包括 `/teleport`, `/heapdump`, `/debug`, `/daemon`, `/insights`, `/advisor`) - "Not logged in" 启动提示 - 附件过滤器绕过 **视觉标识 (7):** - 品牌颜色(Logo、主题、微光)→ 绿色(橙色 = 原版,绿色 = 已打补丁) ### 它通过启动器注入了什么(配置层) - **54 个 GrowthBook 功能标志** — Agent Teams, Kairos (cron/loop/dream/brief), MCP 增强, Ultraplan, Ultrareview, Remote Sessions, Tool Search 等。 - **8 个环境变量** — `CLAUDE_CODE_FORK_SUBAGENT`, `DISABLE_TELEMETRY`, `DISABLE_UPDATES`, `API_TIMEOUT_MS` 等。 - **Provider 配置** — 通过 `~/.claude-unleashed/provider.json` 设置 API key / baseURL / model / timeout ## 平台支持 | OS | Status | Binary format | |----|--------|---------------| | Windows x64 | ✅ Tested | PE (`.bun` section) | | macOS arm64 | ⚠️ Should work | Mach-O (`__BUN/__bun` section) | | macOS x64 | ⚠️ Should work | Mach-O | | Linux x64 | ⚠️ Should work | ELF (`.bun` section) | | Linux arm64 | ⚠️ Should work | ELF | **状态说明:** - Windows 已经过全面测试,并验证在 2.1.119 版本上可正常运行 - macOS/Linux:该补丁程序的逻辑是跨平台的(基于字符串锚点,没有特定于 PE 的代码),但我还没有亲自在这些平台上测试过。二进制文件发现机制已更新,可搜索标准的 Unix 路径。 - macOS arm64 在打补丁后可能需要临时的代码重签名:`codesign -f -s - ~/.claude-unleashed/claude` 如果你在 macOS/Linux 上进行了测试,**请提交一个 Issue** 并附上结果。非常欢迎提交针对特定平台调整的补丁。 ## 环境要求 - **Node.js 18+** 和 **npm**(用于下载官方的 Claude Code 二进制文件) - **Python 3.10+**(安装程序会自动安装 `rich` 模块) - 约 600 MB 的可用磁盘空间 ## 安装说明 ### 一键安装(推荐) **Windows** (PowerShell): ``` irm https://raw.githubusercontent.com/0xTodor/claude-unleashed/main/install.ps1 | iex ``` **macOS / Linux** (bash): ``` curl -fsSL https://raw.githubusercontent.com/0xTodor/claude-unleashed/main/install.sh | bash ``` 安装程序会自动执行以下操作: 1. 验证依赖项 (Node.js 18+, npm, Python 3,若缺少则安装 `rich`) 2. 从 npm 下载官方的 Claude Code 2.1.119 二进制文件(约 250 MB) 3. 将原生二进制文件提取到 `~/.claude-unleashed/claude(.exe)` 4. 应用 22 个保留长度的二进制补丁 5. 将生产配置(54 个功能标志 + provider 配置)放入 `~/.claude-unleashed/` 6. 将 TTY 安全的启动器安装到 `~/.local/bin/claude(.cmd)` 7. 如果需要,将 `~/.local/bin` 添加到你的 PATH 中 8. 在 macOS arm64 上对二进制文件重新签名 (`codesign -f -s -`) 安装完成后,**重启你的终端** 并运行: ``` claude auth login # OAuth, OR set apiKey in ~/.claude-unleashed/provider.json claude --version # Should show: 2.1.119 (Claude Code) claude # Logo should be GREEN ``` ### 锁定特定版本 ``` # Windows irm https://raw.githubusercontent.com/0xTodor/claude-unleashed/main/install.ps1 -OutFile install.ps1 .\install.ps1 -Version 2.1.119 ``` ``` # macOS / Linux curl -fsSL https://raw.githubusercontent.com/0xTodor/claude-unleashed/main/install.sh | bash -s -- --version 2.1.119 ``` ### 卸载 ``` # Windows irm https://raw.githubusercontent.com/0xTodor/claude-unleashed/main/install.ps1 -OutFile install.ps1; .\install.ps1 -Uninstall ``` ``` # macOS / Linux curl -fsSL https://raw.githubusercontent.com/0xTodor/claude-unleashed/main/install.sh | bash -s -- --uninstall ``` ### 手动安装(高级) 为了完全控制每个步骤(例如,为了检查具体执行了什么操作,使用 `examples/` 而不是 `configs/` 来自定义配置): ``` # 1. 下载 Claude Code mkdir -p ~/.claude-unleashed && cd ~/.claude-unleashed npm init -y npm install "@anthropic-ai/claude-code@2.1.119" --save-exact --no-fund --no-audit # 2. 解压二进制文件 # Windows: copy node_modules\@anthropic-ai\claude-code\bin\claude.exe claude.exe # macOS / Linux: cp node_modules/@anthropic-ai/claude-code/bin/claude claude && chmod +x claude # 3. 克隆此 repo 并应用 patches git clone https://github.com/0xTodor/claude-unleashed.git cd claude-unleashed python patch-claude-binary.py --apply --target ~/.claude-unleashed/claude.exe # Windows python patch-claude-binary.py --apply --target ~/.claude-unleashed/claude # macOS/Linux # macOS arm64: codesign -f -s - ~/.claude-unleashed/claude # 4. 复制 configs cp configs/features.json configs/provider.json configs/launcher.mjs configs/setenv.mjs ~/.claude-unleashed/ # 5. 安装 launcher cp configs/claude.cmd ~/.local/bin/ # Windows cp configs/claude.sh ~/.local/bin/claude && chmod +x ~/.local/bin/claude # macOS/Linux # 6. 确保 ~/.local/bin 在 PATH 中 ``` 有关每个配置文件的功能,请参见 [`configs/README.md`](configs/README.md),或使用 [`examples/`](examples/) 获取最简模板。 ### 验证 ``` claude --version # 预期: 2.1.119 (Claude Code) python ~/.claude-unleashed/patch-claude-binary.py --scan --target ~/.claude-unleashed/claude.exe # 预期: 22/22 ✓ 已应用 ``` ## 使用方法 ### TUI 模式(默认) ``` python patch-claude-binary.py ``` 这是一个基于 Rich 的交互式 TUI,用于扫描、应用、还原以及切换 CLAUDE.md 注入。 ### CLI 标志 ``` python patch-claude-binary.py --apply # Apply all patches python patch-claude-binary.py --revert # Restore from .bak python patch-claude-binary.py --scan # Scan only, no changes python patch-claude-binary.py --inject # Inject CLAUDE.md override prompt python patch-claude-binary.py --uninject # Remove CLAUDE.md injection python patch-claude-binary.py --all # apply + inject in one go python patch-claude-binary.py --target # Specify binary path explicitly ``` ### 升级 Claude Code 当 Anthropic 发布新版本(例如 2.1.120)时: ``` cd ~/.claude-unleashed npm install "@anthropic-ai/claude-code@2.1.120" --save-exact --no-fund --no-audit cp node_modules/@anthropic-ai/claude-code/bin/claude claude # adjust .exe on Windows python /path/to/patch-claude-binary.py --apply --target ~/.claude-unleashed/claude ``` 该补丁程序的锚点基于稳定的英文提示字符串(例如 `"IMPORTANT: Assist with authorized security testing"`),因此它们能在代码压缩和大多数版本升级中保留下来。如果未来的版本更改了某个提示的措辞,该特定的补丁将报告 `anchor not found`,然后你可以在 `PATCHES` 中更新该锚点字符串。 ## 工作原理 ### Bun SEA 结构 ``` PE/ELF/Mach-O binary ├── Standard sections (text/rdata/data/...) └── .bun section (~125 MB) ├── Header + lockfile ├── JS source (cli.js equivalent, plain text!) │ "// Version: 2.1.119\nvar RS7=Object.create;..." ├── Module data ├── Offsets struct (32 bytes) └── Trailer "\n---- Bun! ----\n" (16 bytes) ``` **Bun SEA 没有加密校验和** —— 只有严格的尾部字节匹配。因此,只要我们保留文件大小并且不触及尾部/Offsets,该二进制文件就会保持有效。 ### 补丁策略 | Strategy | Use case | Operation | |----------|----------|-----------| | `ERASE_QUOTED` | JS 字符串 `"..."` 或模板 `` `...` `` | 查找封闭定界符,用空格填充内容 | | `ERASE_UNTIL` | 连续的提示文本 | 从锚点到结束标记(含)进行填充 | | `REPLACE_LITERAL` | 固定长度值替换 | `return"external"` (16B) → `return"ant" ` (16B) | | `ERASE_FUNCTION` | 函数体短路返回 | 用空格填充函数体,保留 `return null}` 尾部 | ### 为什么使用空格 (`0x20`) 而不是空字符 (`0x00`)? Bun 的 Zig 词法分析器使用 `0x00` 作为哨兵终止数组标记。填充 `0x00` 会触发 `panic: sentinel mismatch: expected 0, found N`。空格在 JS 字符串中是有效的,并且不会破坏词法分析器。 ### 上下文感知匹配 某些锚点在二进制文件中会出现多次(Bun 存储了 source + minified + bytecode 元数据)。每个补丁都可以指定一个 `context` 要求(其他必须在 ±512 字节范围内存在的字符串),以确保仅对可执行代码路径打补丁,而其他副本(它们是非可执行代码的表示形式)保持不变。 ## 文件布局 ``` ~/.claude-unleashed/ ├── claude(.exe) # Patched native binary (~250 MB) ├── claude(.exe).bak # Original unpatched backup ├── launcher.mjs # Node.js env-var injector + spawner ├── features.json # GrowthBook feature flags (54 entries) └── provider.json # API key / baseURL / model / timeout ~/.local/bin/ └── claude(.cmd) # PATH entry → invokes launcher.mjs claude-unleashed/ # This repo ├── patch-claude-binary.py # The patcher (Python + Rich TUI) ├── README.md ├── LICENSE ├── configs/ # Production-ready configs (out-of-the-box) │ ├── README.md # What's enabled │ ├── features.json # 54 feature flags (Agent Teams, Kairos, etc.) │ ├── provider.json # API config (apiKey blanked) │ ├── launcher.mjs # Full launcher with 8 env-var injections │ ├── claude.cmd # Windows PATH launcher │ └── claude.sh # macOS/Linux PATH launcher └── examples/ # Minimal templates for customization ├── features.json # 3 flags + comment ├── provider.json # Empty API config ├── launcher.mjs # Bare-minimum launcher ├── claude.cmd # Minimal Windows launcher └── claude.sh # Minimal Unix launcher ``` ## 常见问题 **全新机器 —— 我需要准备些什么?** 安装 Node.js 18+ 和 Python 3.10+,运行一键安装程序,重启终端,然后运行 `claude auth login` 就可以开始了。 **这会改变访问 Anthropic API 的方式吗?** 不。二进制补丁仅修改本地的提示词字符串和运行时检查。API 请求保持不变(除了将 `USER_TYPE=ant` 烘焙进请求中 —— Anthropic 目前在服务端并未对此进行验证)。 **Claude Code 的自动更新会覆盖我的补丁吗?** 不会。启动器注入了 `DISABLE_UPDATES=1`。在手动升级后,你需要重新运行补丁程序。 **我能检测出某个二进制文件是否被打了补丁吗?** 可以 —— 被打补丁的二进制文件的 Logo 是**绿色**的,而不是橙色。此外:`python patch-claude-binary.py --scan` 会显示完整的状态。 **关于绕过订阅要求呢?** ClawGod 中的 Computer Use 绕过 (Pro/Max 门槛) 以及 Ultraplan/Ultrareview Remote 服务解锁在这里**不**提供 —— 它们需要单纯打补丁无法提供的服务端支持。 **它可以配合 API Key 使用而不是 OAuth 吗?** 可以。在 `provider.json` 中设置 `apiKey`,启动器将注入 `ANTHROPIC_API_KEY`。兼容 Anthropic、DeepSeek 和 OpenAI 兼容的网关。 ## 鸣谢 本项目站在了巨人的肩膀上: - **[ClawGod](https://github.com/0Chencc/clawgod)** 由 [@0Chencc](https://github.com/0Chencc) 开发 —— 启发了本作品的最初的 "Claude Code 上帝模式"。ClawGod 使用正则表达式替换针对 JS 文本 bundle (Claude Code ≤2.1.112);它的补丁列表、功能标志注入机制和架构方法(独立的 `~/.claude-unleashed/` 目录 + 包装器启动器)在这里得到了直接保留。本仓库中的许多补丁(USER_TYPE→ant, CYBER_RISK 移除, URL 限制移除, 品牌颜色重绘, GrowthBook 覆盖等)都是 ClawGod 逻辑的直接移植,从 JS 正则表达式适配为二进制长度保留操作。 - **[tweakcc](https://github.com/Piebald-AI/tweakcc)** 由 [@Piebald-AI](https://github.com/Piebald-AI) 开发 —— 使用 LIEF 完全重新打包 Bun SEA 二进制文件的替代方案。提供了对 Bun SEA 格式结构的重要见解。 - **Bun 项目** ([oven-sh/bun](https://github.com/oven-sh/bun)) —— `StandaloneModuleGraph.zig` 中的 Single Executable Application 格式文档使得该补丁策略成为可能。 ## 许可证 MIT — 详见 [LICENSE](LICENSE)。 ## 免责声明 本工具仅供**研究、教育和授权个人使用**。它修改了第三方应用程序;使用它可能违反 Anthropic 的服务条款。作者对其使用产生的任何后果不承担任何责任。 这些补丁不会窃取凭据、窃取数据或修改任何网络行为 —— 它们仅中和**本地**提示指令和运行时检查。你所有的交互仍然通过 Anthropic 的官方 API 进行。 如果你是一位正在阅读这段话的 Anthropic 员工:我很乐意听听你的看法。Claude Code 是一款出色的产品,我确实在将其用于合法的工作 —— 这些补丁只是移除了那些经常阻碍安全研究和教育用例的过度谨慎的行为训练。 **与 Anthropic 无关。"Claude" 和 "Claude Code" 是 Anthropic, PBC. 的商标。**
标签:Bun SEA, Claude Code, DNS 反向解析, GNU通用公共许可证, MITM代理, Node.js, PE/ELF/Mach-O, Prompt注入, 二进制补丁, 云资产清单, 人工智能安全, 功能解锁, 合规性, 大语言模型越狱, 安全测试, 安全防护绕过, 攻击性安全, 沙箱逃逸, 特征码修改, 网络安全, 软件破解, 逆向工具, 逆向工程, 隐私保护