# jsc-decompile-mozjs-34 SpiderMonkey 字节码反编译器

> 用 PHP 编写的 SpiderMonkey 34 JavaScript 字节码解码与反编译工具，README 称它可能可以处理 cocos2d-x 编译生成的 .jsc 文件。它解析以 XDR 序列化的脚本及其中的原子（atom）、常量、对象、正则表达式和 try/作用域注记，依据 SpiderMonkey 34 的操作码表解码指令，并为每个函数上下文重建近似的 JavaScript 代码；另一个脚本则改为输出解码后的操作序列。作者称该项目尚未完成，可作为理解 JavaScript 虚拟机工作方式的示例。

- 类型：工具
- 目标：应用 · 游戏
- 类别：JavaScript 与 Electron 工具
- 关联：基础工具
- 来源复核于：2026-10-27
- 收录于：2026-11-03
- 原始资源：<https://github.com/irelance/jsc-decompile-mozjs-34>
- 一手来源：<https://github.com/irelance/jsc-decompile-mozjs-34/blob/44ffa1b0bb5ffc42231fcfcb60c5e6a3bc366062/readme.md>
- 目录页面：<https://awesomerea.org/zh/resources/jsc-decompile-mozjs-34/>
- 记录 JSON：<https://awesomerea.org/resources/jsc-decompile-mozjs-34/record.json>
- 英文版：[English](https://awesomerea.org/resources/jsc-decompile-mozjs-34/index.md)

## 使用条件与局限

- 没有发布版本；最后一次提交在 2021-07-27，修复了全局变量和对象初始化相关的操作码，README 称项目可能不再更新且尚未完成。它面向 SpiderMonkey 34 的字节码：README 指出不同 SpiderMonkey 版本的操作码各不相同，列出了字节码版本 33 至 47 的魔数，并说明工具不检查魔数，因此相近版本的文件可能部分可解码。
- 需要 PHP 7.0 或更高版本（README 称在 7.4 上仍可运行），并先执行 composer install，该步骤只生成自动加载文件。php run.php 输出每个脚本上下文重建出的代码；对无法反编译的文件，php scan.php 会输出原子、解码后的操作、常量和正则表达式。输入的 .jsc 文件由使用者提供；仓库不含样例文件或测试，源码中也没有解密或解压步骤，因此只能读取未经处理的 XDR 字节码。
- README 报告在反编译深层嵌套的上下文时存在严重缺陷，并称输出无法直接运行，编译器丢弃的局部变量名会以自动生成的名称代替，因此结果应与 scan.php 输出的操作序列对照核实。仓库没有许可证文件，composer.json 将该包声明为 proprietary，因此仓库未授予任何复用条款；恢复出的脚本仍受应用权利人的权利约束。

## 一手来源

1. <https://github.com/irelance/jsc-decompile-mozjs-34/blob/44ffa1b0bb5ffc42231fcfcb60c5e6a3bc366062/readme.md>
2. <https://github.com/irelance/jsc-decompile-mozjs-34/blob/44ffa1b0bb5ffc42231fcfcb60c5e6a3bc366062/composer.json>
3. <https://github.com/irelance/jsc-decompile-mozjs-34/blob/44ffa1b0bb5ffc42231fcfcb60c5e6a3bc366062/run.php>
4. <https://github.com/irelance/jsc-decompile-mozjs-34/blob/44ffa1b0bb5ffc42231fcfcb60c5e6a3bc366062/scan.php>
5. <https://github.com/irelance/jsc-decompile-mozjs-34/blob/44ffa1b0bb5ffc42231fcfcb60c5e6a3bc366062/src/Decompile.php>
6. <https://github.com/irelance/jsc-decompile-mozjs-34/blob/44ffa1b0bb5ffc42231fcfcb60c5e6a3bc366062/src/Constant.php>
7. <https://github.com/irelance/jsc-decompile-mozjs-34/tree/44ffa1b0bb5ffc42231fcfcb60c5e6a3bc366062/src/Xdr>

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

- [Andromeda Android 应用交互式逆向工具](https://awesomerea.org/zh/resources/andromeda/index.md) · 工具
- [Dex-Editor-Android 设备端 DEX 编辑器](https://awesomerea.org/zh/resources/dex-editor-android/index.md) · 工具
- [smali/baksmali Dalvik dex 汇编与反汇编器](https://awesomerea.org/zh/resources/smali-baksmali/index.md) · 工具
- [dalvikus Android 逆向与 smali 编辑工具](https://awesomerea.org/zh/resources/dalvikus/index.md) · 工具
- [paranoid-deobfuscator 字符串反混淆工具](https://awesomerea.org/zh/resources/paranoid-deobfuscator/index.md) · 工具
- [Katalina Dalvik 字节码模拟器](https://awesomerea.org/zh/resources/katalina/index.md) · 工具

## 关于此条目

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