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.
- Lifts JSXBIN back to JavaScript code.
- Jsxblind deobfuscation (experimental).
- Python bindings.
- Dynamic library.
- Fast as hell.
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.
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!
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/
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.
- 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 are welcome. Open an issue if you have a problem. Check contribution guidelines here.