MCPcopy Create free account
hub / github.com/AngeloD2022/jsxer

github.com/AngeloD2022/jsxer @v1.7.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.7.4 ↗ · + Follow
361 symbols 592 edges 118 files 7 documented · 2% updated 14mo agov1.7.4 · 2025-03-31★ 31727 open issues

Browse by type

Functions 299 Types & classes 62
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Jsxer

A faster decompiler for Adobe's (Legacy) ExtendScript binary format (*.jsxbin).

[!WARNING] This project is currently being rewritten in Rust. Development is occurring on the rust-rewrite branch.

Features

  • [x] Lifts JSXBIN back to JavaScript code.
  • [x] Jsxblind deobfuscation (experimental).
  • [x] Python bindings.
  • [x] Dynamic library.
  • [x] Fast as hell.

What is ExtendScript?

ExtendScript is a scripting language and an associated toolkit developed by Adobe Systems, intended for use with Creative Suite and Technical Communication Suite products. It is a dialect of the ECMAScript 3 standard and therefore similar to JavaScript and ActionScript. The toolkit comes bundled with Creative Suite and Technical Communication Suite editions and can access tools within applications like Photoshop, FrameMaker, InDesign or After Effects for batch-processing projects.

Please, do not use this project unethically.

yo, pirates, hear me out...

Look, I get that it's tempting– money doesn't grow on trees.

Many script authors are independent developers, and by stealing their work you make what they do unsustainable and their lives harder. Without income, they are not able to create and maintain what many people may depend on.

Jsxer (in addition to simply being a fun and educational project to develop) was made for source code recovery and security research purposes. It is free and open-source software– and as such, I won't try to control what you can and can't do with it.

Just remember that script authors are real humans! So if you like their work, show some love and fork over the dough. :)

Appreciate ya!

Build (MacOS)

Video Tutorial

Open the Terminal app to run the following commands. If you are unfamiliar with Terminal, you can find it in /Applications/Utilities/Terminal.app.

Install CMake:

brew install cmake

Configure and build the project:

cmake .
cmake --build . --config release 

After a successful build, navigate to the folder with the executable:

cd ./bin/release/

Usage

Note Make sure that the input file only contains the JSXBIN literal itself.[1] (Usually starting with @JSXBIN@)

jsxer <jsxbin path>

The --unblind flag enables the experimental deobfuscation.

Credits

  • Thanks to Andrin Meier (@andrinpricemeier, formerly @autoboosh) for his research on the format, and his project jsxbin-to-jsx-converter.
  • Thanks to @codecopy for keeping a fork of @autoboosh's project, where the original vanished as a consequence of a DMCA takedown from Adobe.

Contributions

Contributions are welcome. Open an issue if you have a problem. Check contribution guidelines here.


Star History

Star History Chart

Core symbols most depended-on inside this repo

Shape

Method 239
Function 60
Class 54
Enum 8

Languages

C++99%
Python1%

Modules by API surface

src/jsxer/reader.cpp33 symbols
src/jsxer/util.cpp31 symbols
src/jsxer/decoders.cpp25 symbols
src/jsxer/decoders.h6 symbols
src/jsxer/reader.h5 symbols
src/jsxer/nodes/BinaryExpression.h5 symbols
src/jsxer/nodes/TryStatement.h4 symbols
src/jsxer/nodes/XMLUnaryRefExpression.h3 symbols
src/jsxer/nodes/XMLQualifiedNameExpression.h3 symbols
src/jsxer/nodes/XMLPredicateExpression.h3 symbols
src/jsxer/nodes/XMLDescendantsExpression.h3 symbols
src/jsxer/nodes/XMLConstantExpression.h3 symbols

For agents

$ claude mcp add jsxer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page