# Jsxer JSXBIN 反编译器

> 面向 JSXBIN 的 C++ 反编译器。JSXBIN 是 Adobe 旧版 ExtendScript 的二进制格式，ExtendScript 则是用于为 Photoshop、InDesign、After Effects 等应用编写脚本的 ECMAScript 3 方言。它读取 JSXBIN 1.0、2.0 或 2.1 字面量，解析为语法树，再输出 JavaScript 源码，并在文件头注明格式版本。实验性的 --unblind 选项可为经 JsxBlind 混淆的符号重新命名；同一反编译器还以共享库形式提供，并附基于 ctypes 的 Python 绑定。

- 类型：工具
- 目标：应用
- 类别：JavaScript 与 Electron 工具
- 关联：基础工具
- 来源复核于：2026-10-20
- 收录于：2026-11-02
- 原始资源：<https://github.com/AngeloD2022/jsxer>
- 一手来源：<https://github.com/AngeloD2022/jsxer/blob/0340bd3321be529cf775215cfac860cf2cf8b477/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/jsxer/>
- 记录 JSON：<https://awesomerea.org/resources/jsxer/record.json>
- 英文版：[English](https://awesomerea.org/resources/jsxer/index.md)

## 使用条件与局限

- 审阅时最新版本为 v1.7.4，发布于 2025-03-31，提供 macOS arm64、macOS x86 和 Windows 压缩包。所审阅的 master 提交日期为 2025-04-22，比该版本只多一个提交，内容仅是让 README 中的提示更醒目：提示称项目正在独立的 rust-rewrite 分支上用 Rust 重写，该分支最新提交日期为 2025-03-11。
- 输入文件只能包含 JSXBIN 字面量，通常以 @JSXBIN@ 开头；README 提醒须先删去其前后的其他内容。命令行工具默认在输入文件旁写出 .jsx 文件，也可用 -o 指定其他路径；未通过 JSXBIN 签名检查的输入只会产生错误信息，不会得到反编译代码。
- 从源码构建需要 CMake 3.26+ 和 C++17 编译器；配置时会从 GitHub 获取 fmt 9.1.0、plog 1.1.9 和 CLI11 2.3.2。README 只说明了 macOS 上的构建，而 CMakeLists.txt 也包含 Windows 与 Linux 分支，并构建静态库和共享库；bindings/python/decompiler.py 从构建目录载入该共享库。
- ctest 会构建四个小程序，分别反编译内嵌的数组、对象、成员表达式和 for 语句样例并打印结果；它们只返回反编译器的状态码，不与原始源码比较。CI 在拉取请求时于 macOS 和 Windows 上运行这些测试。TODO.md 列出了尚未解决的问题，包括函数参数顺序、逗号表达式声明、数字输出，以及部分 XML 节点生成的代码不正确。
- 采用 AGPL-3.0 许可。README 称 Jsxer 用于源码恢复和安全研究，并请使用者不要借此盗用脚本作者的成果；README 还致谢 Andrin Meier 对该格式的研究及其 jsxbin-to-jsx-converter 项目，并称该项目的原仓库因 Adobe 的 DMCA 通知而被删除。反编译所得脚本的权利仍归其作者。

## 一手来源

1. <https://github.com/AngeloD2022/jsxer/blob/0340bd3321be529cf775215cfac860cf2cf8b477/README.md>
2. <https://github.com/AngeloD2022/jsxer/blob/0340bd3321be529cf775215cfac860cf2cf8b477/CMakeLists.txt>
3. <https://github.com/AngeloD2022/jsxer/blob/0340bd3321be529cf775215cfac860cf2cf8b477/src/cli/main.cpp>
4. <https://github.com/AngeloD2022/jsxer/blob/0340bd3321be529cf775215cfac860cf2cf8b477/src/jsxer/jsxer.cpp>
5. <https://github.com/AngeloD2022/jsxer/blob/0340bd3321be529cf775215cfac860cf2cf8b477/include/jsxer.h>
6. <https://github.com/AngeloD2022/jsxer/blob/0340bd3321be529cf775215cfac860cf2cf8b477/bindings/python/decompiler.py>
7. <https://github.com/AngeloD2022/jsxer/blob/0340bd3321be529cf775215cfac860cf2cf8b477/TODO.md>
8. <https://github.com/AngeloD2022/jsxer/blob/0340bd3321be529cf775215cfac860cf2cf8b477/tests/src/array-expr.cpp>
9. <https://github.com/AngeloD2022/jsxer/blob/0340bd3321be529cf775215cfac860cf2cf8b477/.github/workflows/run-tests.yaml>
10. <https://github.com/AngeloD2022/jsxer/blob/0340bd3321be529cf775215cfac860cf2cf8b477/LICENSE>
11. <https://github.com/AngeloD2022/jsxer/releases/tag/v1.7.4>

## 同分区更多条目：应用

- [jni_helper JNI 函数签名提取工具](https://awesomerea.org/zh/resources/jni-helper/index.md) · 工具
- [ReArk 鸿蒙与移动应用逆向分析工作台](https://awesomerea.org/zh/resources/reark/index.md) · 工具
- [ARSCLib Android 二进制资源读写库](https://awesomerea.org/zh/resources/arsclib/index.md) · 工具
- [Pithus（bazaar）Android 应用分析平台](https://awesomerea.org/zh/resources/pithus-bazaar/index.md) · 工具
- [House Android 运行时分析工具](https://awesomerea.org/zh/resources/house/index.md) · 工具
- [ABCDE OpenHarmony 逆向工具包](https://awesomerea.org/zh/resources/abcde/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
