An open API service indexing awesome lists of open source software.

https://github.com/pordeno/deobfuscate

Obfuscated JSโ€…โ€…๐Ÿ –โ€…โ€…More readable
https://github.com/pordeno/deobfuscate

deno deobfuscate library module obfuscation readable

Last synced: 3 months ago
JSON representation

Obfuscated JSโ€…โ€…๐Ÿ –โ€…โ€…More readable

Awesome Lists containing this project

README

          

# Deobfuscate

*Make obfuscated JavaScript code more readable.*




## Status

Currently the deobfuscation doesn't prioritize one step
over another, however this will change in the future.




## Steps

*Implemented deobfuscation steps.*


- **Combined Expressions**

```js
expression && expression
```

```js
if(expression)
expression
```


- **Double Knot**

```js
!! expression
```

```js
Boolean(expression)
```


- **Interjoined Assignments**

```js
(a = {}).b = 1
```

```js
a = {} ;
b = 1 ;
```


- **Joined Variables**

```js
let a = 1 ,
b = 2 ;
```

```js
let a = 1 ;
let b = 2 ;
```


- **Literal Garbage**

```js
0;
```


- **Non-constant**

```js
var a = 1;
```

```js
const a = 1;
```


- **Noop**

```js
;
```


- **Number Logic**

```js
!0 !1
```

```js
true false
```


- **Property Twins**

```js
const object = {
property : property
}
```

```js
const object = {
property
}
```


- **Readable Variables**

```js
const a;
```

```js
const __thing_234
```


- **Secondhand Call**

```js
(method)(a,b,c)
```

```js
method(a,b,c)
```


- **Sequenced Expressions**

```js
( expression , expression )
```

```js
expression;
expression;
```


- **Sequence Literals**

```js
(0,a,0,b,0)
```

```js
(a,b,0)
```


- **Stringed Indexing**

```js
object['key']
```

```js
object.key
```


- **Twin Declaration**

```js
const w = window;
```


- **Unreachable Conditions**

```js
if(false)
;
```


- **Useless Constants**

```js
const a;
```


- **Void Literal**

```js
void 0
```

```js
undefined
```