Advanced JavaScript Deobfuscation via Partial Evaluation
Switch branches/tags
Nothing to show
Clone or download
wisec partial fix for #18
Adds straightforward cases (a?(b?e:f):c)..
Latest commit 0295813 Dec 2, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
html port issue, using location.host now Dec 2, 2018
server fix for #22 Dec 2, 2018
src partial fix for #18 Dec 2, 2018
standalone try catch surround in case esmangle does not work Jan 30, 2018
tests Fix for #15 Jun 12, 2018
.gitignore fix for #22 Dec 2, 2018
LICENSE Create LICENSE Jan 22, 2018
README.md Fixed build server doc Dec 2, 2018
jstillery_cli.js First Commit Jan 22, 2018
package.json fix for #22 Dec 2, 2018

README.md

JStillery

Advanced JS Deobfuscation via Partial Evaluation.

See http://blog.mindedsecurity.com/2015/10/advanced-js-deobfuscation-via-ast-and.html

REPL

https://mindedsecurity.github.io/jstillery/

Install

npm install

Usage

Cli

Deobfuscate file:

 ./jstillery_cli.js filename

Deobfuscate from stdin

echo 'a= String.fromCharCode(41);b=a'|  ./jstillery_cli.js

Server

Build server code:

npm run build_server 

If you wish change server/config_server.json Then launch the server:

npm run start_server

Visit http://0:3001/

RESTServer

Launch server then:

$ curl 'http://localhost:3001/deobfuscate' -d '{"source":"a=1"}' -H 'Content-type: application/json' 
{"source":"a = 1;"}

Web UI

Add obfuscated code to the upper text area and press CTRL-ENTER. image

LICENSE

GPL 3.0

Contribute

Feel free to contribute in any way!