Przeglądaj źródła

ES6 is current now, so use "fill" instead of "filter" to get Function constructor

Alexander Zaytsev 9 lat temu
rodzic
commit
cfd429e6f2
2 zmienionych plików z 80 dodań i 80 usunięć
  1. 12 12
      jsfuck.js
  2. 68 68
      output.txt

+ 12 - 12
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 + ")()";
       }

+ 68 - 68
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