Procházet zdrojové kódy

Merge pull request #30 from hazzik/optimize-zero

Optimize zero
Martin Kleppe před 11 roky
rodič
revize
258db7d44b
3 změnil soubory, kde provedl 57 přidání a 56 odebrání
  1. 6 6
      jsfuck.js
  2. 50 49
      output.txt
  3. 1 1
      test/jsfuck_test.js

+ 6 - 6
jsfuck.js

@@ -51,12 +51,12 @@
     'y':   '(NaN+[Infinity])[10]',
     'z':   '(+(35))["toString"](36)',
 
-    'A':   '(+false+Array)[10]',
-    'B':   '(+false+Boolean)[10]',
+    'A':   '(+[]+Array)[10]',
+    'B':   '(+[]+Boolean)[10]',
     'C':   'Function("return escape")()(("")["italics"]())[2]',
     'D':   'Function("return escape")()([]["filter"])["slice"]("-1")',
     'E':   '(RegExp+"")[12]',
-    'F':   '(+false+Function)[10]',
+    'F':   '(+[]+Function)[10]',
     'G':   '(false+Function("return Date")()())[30]',
     'H':   USE_CHAR_CODE,
     'I':   '(Infinity+"")[0]',
@@ -68,8 +68,8 @@
     'O':   '(NaN+Function("return{}")())[11]',
     'P':   USE_CHAR_CODE,
     'Q':   USE_CHAR_CODE,
-    'R':   '(+false+RegExp)[10]',
-    'S':   '(+false+String)[10]',
+    'R':   '(+[]+RegExp)[10]',
+    'S':   '(+[]+String)[10]',
     'T':   '(NaN+Function("return Date")()())[30]',
     'U':   '(NaN+Function("return{}")()["toString"]["call"]())[11]',
     'V':   USE_CHAR_CODE,
@@ -93,7 +93,7 @@
     ',':   '[[]]["concat"]([[]])+""',
     '-':   '(+(.+[0000000001])+"")[2]',
     '.':   '(+(+!+[]+[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[!+[]+!+[]]+[+[]])+[])[+!+[]]',
-    '/':   '(false+[+false])["italics"]()[10]',
+    '/':   '(false+[0])["italics"]()[10]',
     ':':   '(RegExp()+"")[3]',
     ';':   USE_CHAR_CODE,
     '<':   '("")["italics"]()[0]',

+ 50 - 49
output.txt

@@ -1,19 +1,19 @@
 ` ` 147
-`!` 6407
+`!` 6403
 `"` 691
-`#` 6416
-`$` 6421
-`%` 3244
-`&` 6431
-`'` 6436
+`#` 6412
+`$` 6417
+`%` 3242
+`&` 6427
+`'` 6432
 `(` 146
 `)` 147
-`*` 6412
+`*` 6408
 `+` 70
 `,` 498
 `-` 153
 `.` 72
-`/` 305
+`/` 304
 `0` 8
 `1` 10
 `2` 14
@@ -24,71 +24,72 @@
 `7` 39
 `8` 44
 `9` 49
-`:` 2286
-`;` 8048
+`:` 2284
+`;` 8044
 `<` 292
 `=` 687
 `>` 298
-`?` 2281
-`@` 6415
-`A` 726
-`B` 729
-`C` 3402
-`D` 3635
-`E` 2287
-`F` 847
-`G` 4812
-`H` 6451
+`?` 2279
+`@` 6411
+`A` 725
+`B` 728
+`C` 3400
+`D` 3633
+`E` 2285
+`F` 846
+`G` 4810
+`H` 6447
 `I` 70
-`J` 7134
-`K` 8053
-`L` 6551
-`M` 4813
+`J` 7130
+`K` 8049
+`L` 6547
+`M` 4811
 `N` 16
 `O` 1654
-`P` 6420
-`Q` 6422
-`R` 2283
-`S` 731
-`T` 4815
-`U` 6441
-`V` 6446
-`W` 6451
-`X` 6456
-`Y` 6461
-`Z` 6427
+`P` 6416
+`Q` 6418
+`R` 2280
+`S` 730
+`T` 4813
+`U` 3569
+`V` 6442
+`W` 6447
+`X` 6452
+`Y` 6457
+`Z` 6423
 `[` 1640
-`\` 6556
+`\` 6552
 `]` 2043
-`^` 6437
-`_` 6425
-``` 6425
+`^` 6433
+`_` 6421
+``` 6421
 `a` 15
 `b` 1646
 `c` 144
 `d` 22
 `e` 25
 `f` 13
-`g` 741
-`h` 1763
+`g` 740
+`h` 1761
 `i` 27
 `j` 1648
-`k` 1752
+`k` 1750
 `l` 19
 `m` 729
 `n` 18
 `o` 143
-`p` 1774
-`q` 1778
+`p` 1772
+`q` 1776
 `r` 16
 `s` 24
 `t` 14
 `u` 16
-`v` 1768
-`w` 1777
-`x` 1782
+`v` 1766
+`w` 1775
+`x` 1780
 `y` 84
-`z` 1807
+`z` 1805
 `{` 151
-`|` 6566
+`|` 6562
 `}` 536
+`~` 6443

+ 1 - 1
test/jsfuck_test.js

@@ -8,7 +8,7 @@ var JSFuck = require('../jsfuck.js').JSFuck,
 
 		test.strictEqual(value, unencoded, 'encoding "' + value + '" failed');
 	};
-var MIN = 32, MAX = 126;
+var MIN = 32, MAX = 127;
 var fs = require('fs');
 
 exports['integration'] = {