Enuvid/claude-code-unpacker
GitHub: Enuvid/claude-code-unpacker
一款用于定位并解包本地已安装的 Claude Code 二进制文件、提取其内部 JS bundle 和原生 addon 的开发工具。
Stars: 0 | Forks: 0
# claude-code-unpacker
[](https://github.com/Enuvid/claude-code-unpacker/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/claude-code-unpacker)
查找你机器上安装的 Claude Code 二进制文件,并写入打包在其中的文件:JavaScript bundle、原生 addon 以及它附带的浏览器资产。
```
$ npx claude-code-unpacker --list
found: /home/you/.local/share/claude/versions/2.1.220
2.1.220 262.3 MB (/home/you/.local/share/claude/versions/2.1.220)
ELF · x86-64 · payload 179.9 MB at 0x5251008 · 8 modules · 52-byte entries
path size kind bytecode
--------------------------- -------- ----------------------------- --------
src/entrypoints/cli.js 20.6 MB JS (bun cjs, bytecode-backed) 153.1 MB
image-processor.js 2.12 KB JS (bun cjs, bytecode-backed) -
audio-capture.js 2.12 KB JS (bun cjs, bytecode-backed) -
image-processor.node 1.40 MB ELF x86-64 -
chart.umd.min.js 203.6 KB JavaScript -
hljsBundle.generated.min.js 962.4 KB JavaScript -
mermaid.min.js 3.16 MB JavaScript -
audio-capture.node 480.6 KB ELF x86-64 -
total extracted: 26.8 MB
```
去掉 `--list` 即可将文件写入 `./out`:
```
npx claude-code-unpacker # newest installed version
npx claude-code-unpacker --all # every installed version
npx claude-code-unpacker /path/to/bin # a specific binary
```
不会执行、反编译或反混淆任何内容。文件完全按照打包器存储的形式输出,且均来自你机器上已有的二进制文件。本包不包含任何第三方代码和提取的工件,也不会下载任何内容。
## 选项
| 参数 | 含义 |
| :------------------ | :--------------------------------------------------------------- |
| `-o`, `--out ` | 输出目录,默认为 `./out`。 |
| `-l`, `--list` | 打印 module 表,不写入任何内容。 |
| `--all` | 解包所有已安装的版本,每个版本放入其各自的子目录中。 |
| `--bytecode` | 同时转储 JSC bytecode 缓存,每个版本大约 150 MB。 |
| `--json` | 在 stdout 上以 JSON 格式打印 manifest。 |
| `-v`, `--version` | 此工具的版本。 |
| `-h`, `--help` | 用法。 |
## 查找路径
优先查找最新版本,解析符号链接并报告每个二进制文件一次:
- `~/.local/share/claude/versions`
- `~/Library/Application Support/claude/versions`
- `~/.claude/downloads` 和 `~/.claude/versions`
- `~/.local/bin/claude`, `/usr/local/bin/claude`, `/opt/homebrew/bin/claude`
- `~/AppData/Local/Programs/claude/claude.exe`
macOS 构建包含 14 个 module,而 Linux 和 Windows 上为 8 个,多出来的那些是特定于平台的 addon。
## 与 bun-unpacker 的关系
解包本身位于 [bun-unpacker](https://github.com/Enuvid/bun-unpacker) 中,它适用于任何 `bun build --compile` 的输出,并且对 Claude Code 一无所知。本包添加了特定的部分:二进制文件的安装位置,以及解包每个版本而不是单个版本。如果你已经有了路径或想要打开不同的二进制文件,请直接使用 `bun-unpacker`。
## 库
```
import { findInstalledBinaries } from 'claude-code-unpacker';
for (const path of findInstalledBinaries()) {
console.log(path);
}
```
## 范围与许可
此工具使用 MIT 许可,不包含任何第三方代码。
但它提取的内容则是另一回事。Claude Code 是专有软件(© Anthropic PBC,保留所有权利),因此提取出的任何内容均受该许可证约束,不允许重新发布。出于研究或调试目的,解包你已有的副本正是本工具的用途。这是一个独立项目,不隶属于 Anthropic,也未受其认可。
## 开发
需要 Node 22 或更高版本。
```
npm install
npm run build # tsc, output in dist/
npm test # compiles src and test, then runs node:test
npm run lint # eslint with type-checked rules
npm run format:check # prettier
```
测试针对代表主目录的临时目录运行,因此无需安装 Claude Code 即可测试发现功能。
## 许可证
MIT
标签:Claude Code, CMS安全, JavaScript, MITM代理, SOC Prime, 二进制解析, 云资产清单, 开发工具, 数据可视化, 暗色界面, 自动化攻击, 解包工具, 逆向工程