Skip to content

Advanced JavaScript Deobfuscation via Partial Evaluation

License

Notifications You must be signed in to change notification settings

weituotian/JStillery

 
 

Repository files navigation

https://blog.csdn.net/Crazy__Hope/article/details/103717469 记录一下js混淆工具地址

https://jscrambler.com/products/code-integrity/javascript-obfuscation https://obfuscator.io/

再记录几个免费的反混淆工具地址

https://beautifier.io/ http://www.jsnice.org/ https://lelinhtinh.github.io/de4js/

todo

exports.Create = X; // X重命名为exports

参数重命名为arg1,arg2 [1] var r = e.method; // r重命名为method [1]

var z=function(){console.log('asd')} [1] new Promise(function (t, r) // 替换为resolve [1] var r = new Array(length); [1]

(n = t.prototype)[method]. js就近变量

let content = var c=1; var s = (0,a=2,S.default)(true);;

test

offsetPoint.x > 0 && 0 === offsetPoint.y ? a = 0 : 0 === offsetPoint.x && offsetPoint.y < 0 ? a = 270 : offsetPoint.x < 0 && 0 === offsetPoint.y ? a = 180 : offsetPoint.x < 0 && offsetPoint.y < 0 ? a = 180 + r : offsetPoint.x < 0 && offsetPoint.y > 0 ? a = 180 - r : offsetPoint.x > 0 && offsetPoint.y > 0 ? a = r : offsetPoint.x > 0 && offsetPoint.y < 0 && (a = 360 - r)

offsetPoint.x > 0 && offsetPoint.y < 0 && (a = 360 - r);

var c=a>b?1:e>f?2:3

a>b?c=1:e>f?g=2:h>i?j=4:k=5
var v1=a>b?c=1:e>f?g=2:h>i?j=4:k=5

var a = 1;
var b = 2;
if (a++, b++, a < b) {
    console.log('a<b')
}

function test(){
  return a=1,b=2,c
}

a++, b++, a>1 && c++;
return a>b?1:2

function test(a){
  return a>1?'a':'b'
}
function test(a){
  return a>1?c>d?'e':'f':'b'
}

!(0 >= b[c] || b[c] > originTotalPageCount || (this.pageArray[b[c]] && this.fillContent(b[c]), this.pageArray[b[c]]))

JStillery

https://github.com/mindedsecurity/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!

About

Advanced JavaScript Deobfuscation via Partial Evaluation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 95.2%
  • CSS 3.4%
  • HTML 1.4%