From cfd429e6f28204831a645604eed46e35f95d70aa Mon Sep 17 00:00:00 2001 From: Alexander Zaytsev Date: Tue, 13 Oct 2015 20:05:14 +1300 Subject: [PATCH] ES6 is current now, so use "fill" instead of "filter" to get Function constructor --- jsfuck.js | 24 +++++----- output.txt | 136 ++++++++++++++++++++++++++--------------------------- 2 files changed, 80 insertions(+), 80 deletions(-) diff --git a/jsfuck.js b/jsfuck.js index e919cb87..374837fa 100644 --- a/jsfuck.js +++ b/jsfuck.js @@ -19,14 +19,14 @@ 'Number': '(+[])', 'String': '([]+[])', 'Boolean': '(![])', - 'Function': '[]["filter"]', + 'Function': '[]["fill"]', 'RegExp': 'Function("return/"+false+"/")()' }; var MAPPING = { 'a': '(false+"")[1]', 'b': '(Function("return{}")()+"")[2]', - 'c': '([]["filter"]+"")[3]', + 'c': '([]["fill"]+"")[3]', 'd': '(undefined+"")[2]', 'e': '(true+"")[3]', 'f': '(false+"")[0]', @@ -38,7 +38,7 @@ 'l': '(false+"")[2]', 'm': '(Number+"")[11]', 'n': '(undefined+"")[1]', - 'o': '(true+[]["filter"])[10]', + 'o': '(true+[]["fill"])[10]', 'p': '(+(211))["toString"](31)[1]', 'q': '(+(212))["toString"](31)[1]', 'r': '(true+"")[1]', @@ -54,7 +54,7 @@ 'A': '(+[]+Array)[10]', 'B': '(+[]+Boolean)[10]', 'C': 'Function("return escape")()(("")["italics"]())[2]', - 'D': 'Function("return escape")()([]["filter"])["slice"]("-1")', + 'D': 'Function("return escape")()([]["fill"])["slice"]("-1")', 'E': '(RegExp+"")[12]', 'F': '(+[]+Function)[10]', 'G': '(false+Function("return Date")()())[30]', @@ -78,16 +78,16 @@ 'Y': USE_CHAR_CODE, 'Z': USE_CHAR_CODE, - ' ': '(NaN+[]["filter"])[11]', + ' ': '(NaN+[]["fill"])[11]', '!': USE_CHAR_CODE, '"': '("")["fontcolor"]()[12]', '#': USE_CHAR_CODE, '$': USE_CHAR_CODE, - '%': 'Function("return escape")()([]["filter"])[20]', + '%': 'Function("return escape")()([]["fill"])[21]', '&': '("")["link"](0+")[10]', '\'': USE_CHAR_CODE, - '(': '(false+[]["filter"])[20]', - ')': '(true+[]["filter"])[20]', + '(': '(undefined+[]["fill"])[22]', + ')': '([0]+false+[]["fill"])[20]', '*': USE_CHAR_CODE, '+': '(+(+!+[]+(!+[]+[])[!+[]+!+[]+!+[]]+[+!+[]]+[+[]]+[+[]])+[])[2]', ',': '([]["slice"]["call"](false+"")+"")[1]', @@ -107,9 +107,9 @@ '^': USE_CHAR_CODE, '_': USE_CHAR_CODE, '`': USE_CHAR_CODE, - '{': '(NaN+[]["filter"])[21]', + '{': '(true+[]["fill"])[20]', '|': USE_CHAR_CODE, - '}': '([]["filter"]+"")["slice"]("-1")', + '}': '([]["fill"]+"")["slice"]("-1")', '~': USE_CHAR_CODE }; @@ -279,12 +279,12 @@ if (wrapWithEval){ if (runInParentScope){ - output = "[][" + encode("filter") + "]" + + output = "[][" + encode("fill") + "]" + "[" + encode("constructor") + "]" + "(" + encode("return eval") + ")()" + "(" + output + ")"; } else { - output = "[][" + encode("filter") + "]" + + output = "[][" + encode("fill") + "]" + "[" + encode("constructor") + "]" + "(" + output + ")()"; } diff --git a/output.txt b/output.txt index d08a58e0..386332cb 100644 --- a/output.txt +++ b/output.txt @@ -1,19 +1,19 @@ -` ` 147 -`!` 6403 -`"` 691 -`#` 6412 -`$` 6417 -`%` 3242 -`&` 2538 -`'` 6432 -`(` 146 -`)` 147 -`*` 6408 +` ` 109 +`!` 5151 +`"` 539 +`#` 5160 +`$` 5165 +`%` 2598 +`&` 2044 +`'` 5180 +`(` 117 +`)` 114 +`*` 5156 `+` 70 -`,` 469 +`,` 393 `-` 153 `.` 72 -`/` 304 +`/` 266 `0` 8 `1` 10 `2` 14 @@ -24,72 +24,72 @@ `7` 39 `8` 44 `9` 49 -`:` 2282 -`;` 2548 -`<` 292 -`=` 687 -`>` 298 -`?` 2277 -`@` 6411 -`A` 725 -`B` 728 -`C` 3400 -`D` 3633 -`E` 2283 -`F` 846 -`G` 4810 -`H` 6447 +`:` 1864 +`;` 2054 +`<` 254 +`=` 535 +`>` 260 +`?` 1859 +`@` 5159 +`A` 573 +`B` 576 +`C` 2754 +`D` 2949 +`E` 1865 +`F` 656 +`G` 3898 +`H` 5195 `I` 70 -`J` 6418 -`K` 8049 -`L` 6547 -`M` 4811 +`J` 5166 +`K` 6489 +`L` 5257 +`M` 3899 `N` 16 -`O` 1654 -`P` 6416 -`Q` 6418 -`R` 2278 -`S` 730 -`T` 4813 -`U` 3569 -`V` 6442 -`W` 6447 -`X` 6452 -`Y` 6457 -`Z` 6423 -`[` 1640 -`\` 6552 -`]` 2043 -`^` 6433 -`_` 6421 -``` 6421 +`O` 1346 +`P` 5164 +`Q` 5166 +`R` 1860 +`S` 578 +`T` 3901 +`U` 2881 +`V` 5190 +`W` 5195 +`X` 5200 +`Y` 5205 +`Z` 5171 +`[` 1332 +`\` 5262 +`]` 1697 +`^` 5181 +`_` 5169 +``` 5169 `a` 15 -`b` 1646 -`c` 144 +`b` 1338 +`c` 106 `d` 22 `e` 25 `f` 13 -`g` 740 -`h` 1761 +`g` 588 +`h` 1419 `i` 27 -`j` 1648 -`k` 1750 +`j` 1340 +`k` 1408 `l` 19 -`m` 729 +`m` 577 `n` 18 -`o` 143 -`p` 1772 -`q` 1776 +`o` 105 +`p` 1430 +`q` 1434 `r` 16 `s` 24 `t` 14 `u` 16 -`v` 1766 -`w` 1775 -`x` 1780 +`v` 1424 +`w` 1433 +`x` 1438 `y` 84 -`z` 1805 -`{` 151 -`|` 6562 -`}` 536 -`~` 6443 +`z` 1463 +`{` 109 +`|` 5272 +`}` 460 +`~` 5191