Enuvid/claude-code-unpacker

GitHub: Enuvid/claude-code-unpacker

一款用于定位并解包本地已安装的 Claude Code 二进制文件、提取其内部 JS bundle 和原生 addon 的开发工具。

Stars: 0 | Forks: 0

# claude-code-unpacker [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/Enuvid/claude-code-unpacker/actions/workflows/ci.yml) [![npm](https://img.shields.io/npm/v/claude-code-unpacker)](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, 二进制解析, 云资产清单, 开发工具, 数据可视化, 暗色界面, 自动化攻击, 解包工具, 逆向工程