Semi-modular ECMAScript deobfuscator
// before
if (something) doSomething()
// after
if (something) {
doSomething()
}// before
console.log(![])
console.log(!![])
// after
console.log(false)
console.log(true)TODO
// before
function test() {
return console.log('b'), 'a'
}
// after
function test() {
console.log('b')
return 'a'
}// before
if (null == a) {}
// after
if (a == null) {}// before
a && console.log('b')
// after
if (a) {
console.log('b')
}TODO
TODO
// before
function test() {
{
console.log('a')
}
}
// after
function test() {
console.log('a')
}// before
function test() {
var a = 1, b = 2
}
// after
function test() {
var a = 1
var b = 2
}// before
console['log']('a')
// after
console.log('a')// before
function a() {
return 1
}
console.log(a())
// after
console.log(1)// before
function test() {
if (1 == 1) {
console.log('a')
}
}
// after
function test() {
console.log('a')
}// before
console.log('a' + 'b')
// after
console.log('ab')TODO
// before
var a = void 0
// after
var a = undefined