├── style.css ├── README.md ├── encoder_old.html ├── encoder.html └── encoder_v2.html /style.css: -------------------------------------------------------------------------------- 1 | body { 2 | color: #14171a; 3 | background: #e6ecf0 4 | } 5 | 6 | #_plain { 7 | width: 100%; 8 | height: 100% 9 | } 10 | 11 | #_code { 12 | width: 100%; 13 | height: 100% 14 | } 15 | 16 | #_convert { 17 | position: absolute; 18 | top: 15px; 19 | right: 15px; 20 | opacity: .6; 21 | cursor: pointer 22 | } 23 | 24 | textarea { 25 | padding: 10px 26 | } 27 | 28 | button { 29 | height: 30px 30 | } 31 | 32 | #_eval { 33 | position: absolute; 34 | top: 50px; 35 | right: 15px; 36 | opacity: .6; 37 | cursor: pointer 38 | } 39 | 40 | #_length { 41 | position: absolute; 42 | top: 85px; 43 | right: 15px; 44 | opacity: .6; 45 | cursor: pointer; 46 | pointer-events: none; 47 | } 48 | 49 | table { 50 | width: 100%; 51 | height: calc(100vh - 300px) 52 | } 53 | 54 | table td { 55 | position: relative; 56 | padding: 10px 57 | } 58 | 59 | .title h1 { 60 | font-size: 60px 61 | } 62 | 63 | .title h1, 64 | .title p { 65 | text-align: center 66 | } 67 | 68 | .title p { 69 | font-style: italic; 70 | font-size: 20px 71 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # JS-Alpha v3.0 2 | Funny project to create an encoder/obfuscator that converts any javascript code into a code that only consists of `/[a-z().]/` characters 3 | 4 | The generated code should work on all platforms. It uses only standardized functions. 5 | 6 | Demo: https://terjanq.github.io/JS-Alpha/encoder.html 7 | 8 | ``` 9 | with(escape())with(eval.bind)eval(unescape(match().concat(strike().big().link().length).concat(escape(escape.name.length).concat(escape(...call.name))).concat(escape(escape(link())).length).concat(link().blink().link().length).concat(link().link().strike().length).concat(name.link().length).concat(big().big().length).concat(link().length).concat(link().length).concat(strike().big().length).concat(fixed().big().length).join(unescape(...escape(this))))) 10 | ``` 11 | 12 | **Notes** 13 | - *The main version `encoder.html` cannot be used in some cases where `with` statement cannot be inserted (e.g. inside `if` closure). In that case the `encoder_old.html` should work but produces much bigger code.* 14 | - *No UTF8 support* 15 | 16 | 17 | ### Credits 18 | The encoder was created as a collaboration of: 19 | - Me (@terjanq) 20 | - Pepe Vila (@cgvwzq) 21 | - Gareth Heyes (@garethheyes) 22 | -------------------------------------------------------------------------------- /encoder_old.html: -------------------------------------------------------------------------------- 1 | 4 |
5 |

JS-Alpha

6 |

Convert any JavaScript code into one containing only /[a-z.()]/ characters.

7 |
8 | 9 | 10 | 11 | 16 | 19 | 20 |
12 | 13 | 14 | 15 | 17 | 18 |
21 | 22 | 23 | 117 | 118 | -------------------------------------------------------------------------------- /encoder.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |

JS-Alpha

4 |

Convert any JavaScript code into one containing only /[a-z.()]/ characters.

5 |
6 | 7 | 8 | 9 | 15 | 18 | 19 |
10 | 11 | 12 | 13 | 14 | 16 | 17 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /encoder_v2.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |

JS-Alpha v2.0

4 |

Convert any JavaScript code into one containing only /[a-z()]/ characters.

5 |
6 | 7 | 8 | 9 | 15 | 18 | 19 |
10 | 11 | 12 | 13 | 14 | 16 | 17 |
20 | 21 | 22 | 272 | --------------------------------------------------------------------------------