Slide 1

Slide 1 text

Ubilabs, Hamburg aem1k.com @aemkei Martin Kleppe make difficult to understand "obfuscare" = "to darken" from Latin Obfuscation +-------------+ | +---------+ | | | +-----+ | | | | | +-+ | | | | | + | + | | | | +---+---+ | | +---+ | +---+ | +-------+

Slide 2

Slide 2 text

Ubilabs, Hamburg aem1k.com @aemkei Martin Kleppe make difficult to understand "obfuscare" = "to darken" from Latin Obfuscation +-------------+ | +---------+ | | | +-----+ | | | | | +-+ | | | | | + | + | | | | +---+---+ | | +---+ | +---+ | +-------+

Slide 3

Slide 3 text

+-------------+ | +---------+ | | | +-----+ | | | | | +-+ | | | | | + | + | | | | +---+---+ | | +---+ | +---+ | +-------+ Obfuscation

Slide 4

Slide 4 text

"… is the deliberate act of creating source code that is difficult for humans to understand."

Slide 5

Slide 5 text

function E(a,b,d){this.props=a;this.context=b;this.refs=D;this.updater=d||C }E.prototype.isReactComponent={};E.prototype.setState=function(a,b){"object "!==typeof a&&"function"!==typeof a&&null!=a?B("85"):void 0;this.updater.en queueSetState(this,a,b,"setState")};E.prototype.forceUpdate=function(a){thi s.updater.enqueueForceUpdate(this,a,"forceUpdate")};function F(){}F.prototy pe=E.prototype;function G(a,b,d){this.props=a;this.context=b;this.refs=D;th is.updater=d||C}var H=G.prototype=new F;H.constructor=G;k(H,E.prototype);H. isPureReactComponent=!0;var I={current:null},J={current:null},K=Object.prot otype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};function M(a,b ,d){var c=void 0,e={},g=null,h=null;if(null!=b)for(c in void 0!==b.ref&&(h= b.ref),void 0!==b.key&&(g=""+b.key),b)K.call(b,c)&&!L.hasOwnProperty(c)&&(e [c]=b[c]);var f=arguments.length-2;if(1===f)e.children=d;else if(1

Slide 6

Slide 6 text

S="\40\n";M="map";i=991;for(z = [ ] ; i ; )z[--i]=i%30? 8 : S [ 1 ] ; F=d=> [30,1,-30 , - 1 ] [ M ] ( ( f,g,h )=>S[0]

Slide 7

Slide 7 text

,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, ,8, , , ,8, , , ,8, , , ,8, , , ,8, , , ,8, , , , , , , ,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8,8,8,8,8, ,8, ,8, ,8, , , ,8, , , ,8, , , ,8, , , ,8, , , , , ,8, , , ,8, ,8, ,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, ,8, ,8,8,8, ,8, ,8, , , ,8, , , ,8, , , ,8, , , ,8, , , , , ,8, , , ,8, ,8, ,8,8,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8,8,8,8,8,8,8, ,8, ,8, , , ,8, , , ,8, , , ,8, , , ,8, , , , , ,8, ,8, , , ,8, ,8,8,8, ,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, ,8, ,8, ,8,8,8, ,8, , , ,8, , , ,8, , , ,8, , , ,8, , , , , ,8, ,8, , , ,8, ,8, ,8,8,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8,8,8,8,8, ,8,8,8, ,8, ,8, , , ,8, ,8, , , ,8, , , ,8, , , ,8, , , , , ,8, , , ,8, ,8,8,8, ,8, ,8,8,8,8,8,8,8,8,8,8,8,8,8, ,8, ,8,8,8, ,8,8,8, ,8, , , ,8, ,8, , , ,8, , , ,8, , , ,8, ,8, , , ,8, , , ,8, ,8, ,8,8,8, ,8,8,8, ,8, ,8, ,8, ,8, ,8, ,8,8,8, ,8,8,8, ,8, ,8, , , ,8, , , ,8, , , ,8, , , ,8, , , ,8, , , ,8, , , ,8, ,8,8,8, ,8,8,8, ,8,8,8,8,8,8,8,8,8,8,8,8,8, ,8,8,8, ,8,8,8, ,8, , , ,8, , , ,8, , , ,8, , , , , , , , , , , ,8, , , ,8, ,8, ,8,8,8, ,8,8,8, ,8, ,8, ,8,8,8,8,8,8,8,8,8, ,8,8,8, ,8, ,8, , , ,8, , , ,8, ,8, , , ,8, , , , , ,8, , , ,8, , , ,8, ,8,8,8, ,8,8,8, ,8, ,8,8,8,8,8,8,8,8,8, ,8, ,8,8,8, ,8,8,8, ,8, , , ,8, , , ,8, ,8, , , , , , , ,8, ,8, , , ,8, , , ,8, ,8, ,8,8,8, ,8,8,8, ,8,8,8,8,8, ,8, ,8, ,8,8,8, ,8,8,8, ,8, ,8, , , ,8, , , ,8, , , , , , , ,8, , , , , ,8, ,8, , , ,8, ,8,8,8, ,8,8,8, ,8, ,8,8,8,8,8,8,8,8,8,8,8,8,8, ,8, ,8,8,8, ,8, , , ,8, , , ,8, ,8, , , ,8, , , ,8, , , ,8, ,8, , , ,8, ,8, ,8,8,8, ,8,8,8,8,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8,8,8, ,8, ,8, , , ,8, , , , , , , ,8, , , ,8, , , ,8, , , , , ,8, ,8, ,8,8,8, ,8, ,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, ,8, ,8, , , ,8, ,8, , , ,8, , , ,8, , , ,8, , , ,8, , , ,8, ,8, ,8, ,8,8,8,8,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8, ,8, , , , , , , ,8, , , ,8, , , ,8, , , ,8, , , ,8, , , ,8, ,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,

Slide 8

Slide 8 text

_____ _____ _____ __ __ _____ _____ ___ _____ __ ___ __ ___ / _ \ ___ \ ___| | | / ___/ __ \ / _ \_ _| | / _ \| \ | | | | | | |_/ / |_ | | | \`--.| / \// /_\ \| | | || | | | \| | | | | | ___ \ _| | | | |`--. \ | | _|| | | || | | | . ` | \ \_/ / |_/ / || \_/ /\__/ / \__/\| | | || | | |\ \_/ / |\ | \___/\____/__| \___/ \____/ \____/\_||_/\_/ |_| \___/\_| \_/

Slide 9

Slide 9 text

_____ _____ _____ __ __ _____ _____ ___ _____ __ ___ __ ___ / _ \ ___ \ ___| | | / ___/ __ \ / _ \_ _| | / _ \| \ | | | | | | |_/ / |_ | | | \ `--.| / \// /_\ \| | | || | | | \| | | | | | ___ \ _| | | | |`--. \ | | _ || | | || | | | . ` | \ \_/ / |_/ / | | \_/ /\__/ / \__/\| | | || | | |\ \_/ / |\ | \___/\____/__| \___/\____/ \____/\_| |_/\_/ |_| \___/\_| \_/

Slide 10

Slide 10 text

_____ ______ _____ _ _ _____ _____ _______ __ / ____| ____/ ___ | | | | __ \|_ _|_ _\ \ / / | (___ | |__ | | `-| | | | |__) | | | | | \ \_/ / \___ \| __|| | | | | | _ / | | | | \ / ,--,_) | |___| |__,-| |__| | | \ \ _| |_ | | | | |_____/|______\_____|\____/|_| \_\_____| |_| |___|

Slide 11

Slide 11 text

_____ ______ _____ _ _ _____ _____ _______ __ / ____| ____/ ___ | | | | __ \|_ _|_ _\ \ / / | (___ | |__ | | `-| | | | |__) | | | | | \ \_/ / \___ \| __|| | | | | | _ / | | | | \ / ,--,_) | |___| |__,-| |__| | | \ \ _| |_ | | | | |_____/|______\_____|\____/|_| \_\_____| |_| |___| __________________________________________________________ |__________________________________________________________| __________________________________________________________ |__________________________________________________________|

Slide 12

Slide 12 text

███████╗██╗ ██╗███╗ ██╗ ██╔════╝██║ ██║████╗ ██║ █████╗ ██║ ██║██╔██╗ ██║ ██╔══╝ ██║ ██║██║╚██╗██║ ██║ ╚██████╔╝██║ ╚████║ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝

Slide 13

Slide 13 text

Aurebesh Aurebesh

Slide 14

Slide 14 text

č ī ž ķ ā ū ģ ļ d ž

Slide 15

Slide 15 text

č='',ī=!č+č,ž=!ī+č,ķ=č+ {},ā=ī[č++],ū=ī[ģ=č],ļ=+ +ģ+č,dž=ķ[ģ+ļ],ī[dž+=ķ[č ]+(ī.ž+ķ)[č]+ž[ļ]+ā+ū+ī[ ģ]+dž+ā+ķ[č]+ū][dž](ž[č] +ž[ģ]+ī[ļ]+ū+ā+"(č)")()

Slide 16

Slide 16 text

alert(1)

Slide 17

Slide 17 text

π='',β=!π+π,ε=!β+π,γ=π+ {},µ=β[π++],τ=β[φ=π],θ=+ +φ+π,λ=γ[φ+θ],β[λ+=γ[π]+ (β.ε+γ)[π]+ε[θ]+µ+τ+β[φ] +λ+µ+γ[π]+τ][λ](ε[π]+ε[φ] +β[θ]+τ+µ+"(π)")``

Slide 18

Slide 18 text

ᚦ='',ᚢ=!ᚦ+ᚦ,ᚠ=!ᚢ+ᚦ,ᚻ=ᚦ+ {},ᛉ=ᚢ[ᚦ++],ᛊ=ᚢ[ᛇ=ᚦ],ᛟ=+ +ᛇ+ᚦ,ᛞ=ᚻ[ᛇ+ᛟ],ᚢ[ᛞ+=ᚻ[ᚦ ] + ( ᚢ . ᚠ + ᚻ ) [ ᚦ ] + ᚠ [ ᛟ ] +ᛉ+ᛊ+ᚢ[ᛇ]+ᛞ+ᛉ+ᚻ[ᚦ]+ᛊ] [ ᛞ ] ( ᚠ [ ᚦ ] + ᚠ [ ᛇ ] + ᚢ [ ᛟ ] +ᛊ+ᛉ+"(ᚦ)")()

Slide 19

Slide 19 text

='', =! + , =! + , = + {}, = [ ++], = [ = ], =+ + + ,బ= [ + ], [బ+= [ ]+ ( . + )[ ]+ [ ]+ + + [ ] +బ+ + [ ]+ ][బ]( [ ]+ [ ] + [ ]+ + +"( )")()

Slide 20

Slide 20 text

Ä='',ja=!Ä+Ä,nein=!ja+Ä,ö=Ä+{},Ü=ja[Ä+ +],sch=ja[Schnitzel=Ä],Bier=+ +Schnitzel+Ä,ß=ö[Schnitzel+Bier],ja[ß+ =ö[Ä]+(ja.nein+ö)[Ä]+nein[Bier] +Ü+sch+ja[Schnitzel]+ß+Ü+ö[Ä]+sch][ß] (nein[Ä]+nein[Schnitzel]+ja[Bier] +sch+Ü+"(Ä)")``

Slide 21

Slide 21 text

ロ='',コ=!ロ+ロ,Y=!コ+ロ,Ƙ =ロ+{},ᗐ=コ[ロ++],Ξ=コ[Δ= ロ],ᐳ=++Δ+ロ,Ɩ=Ƙ[Δ+ᐳ],コ [Ɩ+=Ƙ[ロ]+(コ.Y+Ƙ)[ロ]+Y[ ᐳ]+ᗐ+Ξ+コ[Δ]+Ɩ+ᗐ+Ƙ[ロ]+ Ξ][Ɩ](Y[ロ]+Y[Δ]+コ[ᐳ]+Ξ +ᗐ+"(ロ)")``

Slide 22

Slide 22 text

_='',__=!_+_,___=!__+_,____=_+{},_____=__[_+ +],______=__[_______=_],________=++_______+ _,_________=____[_______+________],__[_________+= ____[_]+(__.___+____)[_]+___[________]+_____+ ______+__[_______]+_________+_____+____[_] +______][_________](___[_]+___[_______]+ __[________]+______+_____+'(_)')()

Slide 23

Slide 23 text

⽌='',⽌⽌=!⽌+⽌,⽌⽌⽌=!⽌⽌+⽌,⽌⽌⽌⽌=⽌+{},⽌⽌⽌ ⽌⽌=⽌⽌[⽌++],⽌⽌⽌⽌⽌⽌=⽌⽌[⽌⽌⽌⽌⽌⽌⽌=⽌], ⽌⽌⽌⽌⽌⽌⽌⽌=++⽌⽌⽌⽌⽌⽌⽌+⽌,⽌⽌⽌⽌⽌⽌⽌ ⽌⽌=⽌⽌⽌⽌[⽌⽌⽌⽌⽌⽌⽌+⽌⽌⽌⽌⽌⽌⽌⽌],⽌⽌[⽌ ⽌⽌⽌⽌⽌⽌⽌⽌+=⽌⽌⽌⽌[⽌]+(⽌⽌.⽌⽌⽌+⽌⽌⽌⽌) [⽌]+⽌⽌⽌[⽌⽌⽌⽌⽌⽌⽌⽌]+⽌⽌⽌⽌⽌+⽌⽌⽌⽌⽌⽌ +⽌⽌[⽌⽌⽌⽌⽌⽌⽌]+⽌⽌⽌⽌⽌⽌⽌⽌⽌+⽌⽌⽌⽌⽌ +⽌⽌⽌⽌[⽌]+⽌⽌⽌⽌⽌⽌][⽌⽌⽌⽌⽌⽌⽌⽌⽌](⽌⽌⽌ [⽌]+⽌⽌⽌[⽌⽌⽌⽌⽌⽌⽌]+⽌⽌[⽌⽌⽌⽌⽌⽌⽌⽌]+⽌⽌ ⽌⽌⽌⽌+⽌⽌⽌⽌⽌+"(⽌)")``

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

How it works

Slide 26

Slide 26 text

A='',B=!A+A,C=!B+A,D=A+ {},E=B[A++],F=B[G=A],H=+ +G+A,I=D[G+H],B[I+=D[A]+ (B.C+D)[A]+C[H]+E+F+B[G] +I+E+D[A]+F][I](C[A]+C[G] +B[H]+F+E+"(A)")``

Slide 27

Slide 27 text

A='',B=!A+A,C=!B+A,D=A+ {},E=B[A++],F=B[G=A],H=+ +G+A,I=D[G+H],B[I+=D[A]+ (B.C+D)[A]+C[H]+E+F+B[G] +I+E+D[A]+F][I](C[A]+C[G] +B[H]+F+E+"(A)")``

Slide 28

Slide 28 text

A = '' // empty string B = !A + A // "true" C = !B + A // "false" D = A + {} // "[object Object]" E = B[A++] // "t" = "true"[0] F = B[G = A] // "r" = "true"[1] H = ++G + A // 2, 3 I = D[G + H] // "c"

Slide 29

Slide 29 text

I + // "c" D[A] + // "o" = "object"[0] (B.C+D)[A] + // "n" = "undefined"[1] C[H] + // "s" = "false"[2] E + // "t" F + // "r" B[G] + // "u" = "true"[2] I + // "c" = "[object]"[5] E + // "t" D[A] + // "o" = "[object]"[1] F // "r"

Slide 30

Slide 30 text

C[A] + // "a" C[G] + // "l" B[H] + // "e" F + // "r" E + // "t" "(A)" // "(1)"

Slide 31

Slide 31 text

aem1k.com/aurebesh.js

Slide 32

Slide 32 text

jsfuck.com

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[]) [+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]] +[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+ []+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![ ]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+ !+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[ ]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[]) [+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![] +[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+ (!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!! []+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![ ]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[] ]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+ []+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!! []+[])[+!+[]]])[!+[]+!+[]+[+[]]]+[+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][ []])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+! +[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]])() // alert(1) // 1227 bytes

Slide 35

Slide 35 text

![] => false !![] => true

Slide 36

Slide 36 text

![] + "" => "false" !![] + "" => "true"

Slide 37

Slide 37 text

"true"[0] => "t" "true"[1] => "r" "true"[2] => "u" "true"[3] => "e"

Slide 38

Slide 38 text

"false" [1] "false" [2] "true" [3] "true" [1] "true" [0]

Slide 39

Slide 39 text

f a l s e f a l s e t r u e t r u e t r u e

Slide 40

Slide 40 text

f a l s e f a l s e t r u e t r u e t r u e

Slide 41

Slide 41 text

f a l s e o b j e c t t r u e f a l s e o b j e c t o b j e c t f a l s e t r u e

Slide 42

Slide 42 text

o b j e c t o b j e c t u n d e f i n e d f a l s e t r u e t r u e t r u e o b j e c t t r u e o b j e c t t r u e

Slide 43

Slide 43 text

[]["constructor"]["constructor"]("alert(1)")()

Slide 44

Slide 44 text

[]["constructor"]["constructor"]("alert(1)")()

Slide 45

Slide 45 text

function["constructor"]("alert(1)")()

Slide 46

Slide 46 text

function["constructor"]("alert(1)")()

Slide 47

Slide 47 text

Function("alert(1)")()

Slide 48

Slide 48 text

Function("alert(1)")()

Slide 49

Slide 49 text

eval("alert(1)")

Slide 50

Slide 50 text

jsfuck.com

Slide 51

Slide 51 text

_______ ___ ___ ___ ___ ___ ___ _______ _______ ______ ___ ___ / __| V | V | V | ___|_ _| __ \ V | |__ |\ /| | | ___| | | | <\ / |_______/ |___| |__|_|__|__|_|__|_______| |___| |___|__| |___| |__ \ | | | | | | | | | ___| | | | | | | | | __|/ \| | | ___|_| |_| __ \ \_______|___|___|___A___|___A___|_______|_______|_____ /___A___|

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

{(.0-{}-0.)} xXXx =wYYw= ([]+!!+[]) [0.**.0] +[([])]+ (''+!!+'') [0-~+!!+~-0] +([]+[]+[])+ (8+{}+8) [0|8.**.8|0] +([]||[])+ (""+(0==0)+"") [0.**.0] +[]+''+[]+ (0+{}+0) [8-!!-8] +(''||'')+ ("("+[]+")") [0+~~+0] +""+''+""+ (["xXXx"]) [0+~~+0] +([""])+ (')YY(') [""+~~+""] //-!!-\\

Slide 54

Slide 54 text

{ } "false" "false" "object" "true" "object" "()" ["xXXx"] ")(" =wYYw= +""+ +""+ +""+ +""+ +""+ +""+ +""+ //-!!-\\ xXXx [1] [2] [3] [1] [5] [0] [0] [0]

Slide 55

Slide 55 text

"a"+ "l"+ "e"+ "r"+ "t"+ "("+ "xXXx"+ ")"+

Slide 56

Slide 56 text

aem1k.com/symmetry

Slide 57

Slide 57 text

$five =$+[]

Slide 58

Slide 58 text

[$$=[+[]]]+[$$[++[[]][+[]]]=+[]]+[$$=[$$+[]][+[]][++[[]][+[]]]]+[$$$=[$[[[]+[][+[]]][+[]][++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]+[[]+[][+[]]][+[]][++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[[]+[][+ []]][+[]][++[[]][+[]]]+[[]+[][+[]]][+[]][++[++[[]][+[]]][+[]]]]+[]][+[]]]+[$$$$=[$[[[]+[][+[]]][+[]][++[++[[]][+[]]][+[]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[[]][+ []]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]] [+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+[[]+[][+[]]][+[]][++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[++[++[++[[]][+[]]][+[]]] [+[]]]+$$$[+[[++[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[[]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++ [++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[[]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]][[[]+[][+[]]][+[]][++[++[[]][+[]]][+[]]]+$$$[+[[++[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+ []]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[[]] [+[]]][+[]]][+[]]][+[]]]]]+[[]+[][+[]]][+[]][++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]]]]][+ []][+[]]]+[$$$$$=$$$[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[++[[]][+[]]]+$$$[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$ [+[[++[++[[]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[++[++[[]][+ []]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[++[++[++[[]] [+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[+[]]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]] [+[]]]+[++[[]][+[]]]]]]+[$$$$[$$$[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[[]][+[]]]+[+[]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+[[]+[][+[]]][+[]][++[[]][+[]]]+$$$[+[[++[[]] [+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[[]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++ [[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[++[++[++[[]][+[]]][+[]]][+[]]]+$$$[++[[]][+[]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[+ +[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+[[]+[][+[]]][+[]][++[[]][+[]]]+$$$[++[++[++[++[[]][+[]]][+ []]][+[]]][+[]]]][$$$[+[[++[[]][+[]]]+[++[[]][+[]]]+[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[++ [++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[[]+[][+[]]][+[]][++[++[[]][+[]]][+[]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[[]][+ []]][+[]]][+[]]][+[]]][+[]]]]]][[[]+[][+[]]][+[]][++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[[]+[][+[]]][+[]][++[[]][+[]]]+[[]+[][+[]]][+[]][++[[]][+[]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[[]][+[]]][+ []]][+[]]][+[]]]]]+$$$[+[[++[++[[]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++ [++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+ [[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[+[]]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[[]][+[]]][+ []]][+[]]][+[]]][+[]]][+[]]]+[++[[]][+[]]]]]]+=$$$$[$$$$$][+[]]+[[]+[][+[]]][+[]][++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++ [++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$ $$[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[[]][+[]]][+[]]]+[++[++[+ +[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[++[++[++[[]][+[]]][+[]]][+[]]]+$$$[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]] [+[]]]+[[]+[][+[]]][+[]][++[[]][+[]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[[]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[[]][+[]]][+[]]]+[++ [++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[++[[]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$$[$$$$$][++[++[++[++[++[++[++ [[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$$[$$$$$][++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[+ +[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+ []]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[[]][+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$[$$$[++[++[++[[]][+[]]][+[]]][+[]]]+$$$[++[++[++[++[++[++[[]][+ []]][+[]]][+[]]][+[]]][+[]]][+[]]]+[[]+[][+[]]][+[]][++[[]][+[]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]+$$$[+ [[++[++[[]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[++[[]][+[]]]+$$$[++[++[++[[]][+[]]][+[]]][+[]]]+$$$[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]+$$$[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]] [+[]]][+[]]][+[]]]+$$$[+[[++[++[[]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]][[[]+[][+[]]][+[]][++[[]][+[]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[[]][+ []]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[+ +[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+[[]+[][+[]]][+[]][++[++[++ [++[[]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[++[[]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+ []]][+[]]][+[]]]+[++[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[[]][+[]]][+[]]]+[+[]]]]+$$$[+[[++[++[++[++[++[++[++[++[++[[]][+[]]][+[]]] [+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[[]][+[]]]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[[]][+[]]][+[]]]+ [++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[[]][+[]]][+[]]]+[+[]]]]+$$$[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[[]+[][+[]]][+[]][++[++[[]][+[]]][+[]]]+$$$[+[[++ [[]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+[[+[[++[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+ []]][+[]]]+[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]][+[]]+$$+[+[[++[[]][+[]]]+[+[]]+[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]][+[]]+$$+[+[[++ [[]][+[]]]+[+[]]+[++[[]][+[]]]]][+[]]+$$+[+[[++[[]][+[]]]+[++[[]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]][+[]]+$$+[+[[++[[]][+[]]]+[++[[]][+[]]]+[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]] [+[]]]]][+[]]+$$+[+[[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]+[+[]]]][+[]]+$$+[+[[++[++[++[[]][+[]]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]][+[]]+$$+[+[[++[++[++[[]][+[]]][+[]]][+[]]]+[++[++[+ +[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]][+[]]+$$+[+[[++[[]][+[]]]+[+[]]+[++[++[[]][+[]]][+[]]]]][+[]]+$$+[+[[++[[]][+[]]]+[+[]]+[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]]][+[]]+$$+[+[[++ [[]][+[]]]+[++[[]][+[]]]+[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]][+[]]+$$+[+[[++[[]][+[]]]+[+[]]+[++[[]][+[]]]]][+[]]+$$+[+[[++[++[++[[]][+[]]][+[]]][+[]]]+[++[++[++[++ [[]][+[]]][+[]]][+[]]][+[]]]]][+[]]+$$+[+[[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]+[++[[]][+[]]]]][+[]]][+[]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[+[]]]]+$$$[+[[++[++[++[++[++[[]][+[]]] [+[]]][+[]]][+[]]][+[]]]+[+[]]]]+$$$$[$$$$$][++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$$[$$$$$][+[[++[[]][+[]]]+[++[[]][+[]]]+[+[]]]]]

Slide 59

Slide 59 text

]]]]+$$$[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]] ]]+$$$[+[[++[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[ [++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+[[]+[][+[]]][+[]][++[++[++[++[++[[]][+ ]][+[]]][+[]]][+[]]]+$$$[++[++[++[[]][+[]]][+[]]][+[]]]+$$$[+[[++[++[++[++[++[++[++[++[++[[]][+[]]][+[ ]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[ [+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[[]][+[]]][+ [++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]][[[]+[][+[]]][+[]][++[++[[]][+[]]][+[]]]+$$$[+[[++[++[++[++[++ ++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[++[++[[]][+[]]][+[] [+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]] ++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+[[]+[][+[]]][+[]][++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]] ++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]]]]] +[]]]+[$$$$$=$$$[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[++[[]][+[]]]+$$$[++[++[ ][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[ ]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][ +[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]] [+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]] +[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[+ ++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[+[]]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+ ]]+[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[[]][+[]]]]]]+[$$$$[$$$[++[++[++[++[+ [+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[[]][+[]]]+[+[]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]] [][+[]]][+[]][++[[]][+[]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++ ]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[++[[]][+[]]][+[]] [+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[

Slide 60

Slide 60 text

0 === +[] 1 === ++[[]][+[]] 2 === ++[++[[]][+[]]][+[]]

Slide 61

Slide 61 text

undefined === [][+[]] "undefined" === [][+[]] + []

Slide 62

Slide 62 text

`n` === "undefined"[1] `n` === ["undefined"][0][1] `n` === [[]+[][+[]]][+[]][++[[]][+[]]]

Slide 63

Slide 63 text

$.find === $["f"+"i"+"n"+"d"]

Slide 64

Slide 64 text

String($.find) === $.find+"" === $.find+[]

Slide 65

Slide 65 text

console.log($.find+[]); "function Sizzle( selector, context, results, seed ) {...

Slide 66

Slide 66 text

"alert(1)" === "a"+"l"+"e"+"r"+"t"+"("+"1"+")"

Slide 67

Slide 67 text

document.body === 
 $.datepicker.dpDiv[0].ownerDocument.body

Slide 68

Slide 68 text

window === 
 $.Widget._childConstructors[7]._proto.options.position.of

Slide 69

Slide 69 text

document.body.innerHTML += '';

Slide 70

Slide 70 text

[+[]]][+[]]]]]+$$$[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[[]][+[]] [+[]]][+[]]]]]+$$$[+[[++[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]] +[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+[[]+[][+[]]][+[]][++ ++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[++[++[++[[]][+[]]][+[]]][+[]]]+$$$[+[[++[++[++[++[++[++[ ++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[[]][+[]]][+[]]][+[]] [+[]]][+[]]]+[++[++[[]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]] [++[++[[]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]][[[]+[][+[]]][+[]][++[++[[]][+[]]] +$$$[+[[++[++[++[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[ ++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[+ [+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+[[]+[][+[]]][+[]][++[++[++ []][+[]]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[ []][+[]]][+[]]][+[]]][+[]]][+[]]]]]]][+[]][+[]]]+[$$$$$=$$$[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][ [+[]]][+[]]]+$$$[++[[]][+[]]]+$$$[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]+$$$[+[[++[[]][+[]]]+[++[++ []][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[[]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]] [[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]] [++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[ ++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$ [++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][ +[+[]]]]+$$$[+[[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++[++[++[++[[]][+[]]][+[]]][ [+[]]][+[]]][+[]]]+[++[[]][+[]]]]]]+[$$$$[$$$[++[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[ [+[[++[[]][+[]]]+[+[]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+[[]+[][+[]]][+[]][++[[]][+[]]]+$$$ [[]][+[]]]+[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]]]]+$$$[+[[++[++[[]][+[]]][+[]]]+[++[++[++[++[[]][ [+[]]][+[]]][+[]]]]]+$$$[+[[++[[]][+[]]]+[++[++[++[++[++[[]][+[]]][+[]]][+[]]][+[]]][+[]]]+[++[++[++

Slide 71

Slide 71 text

aem1k.com/five

Slide 72

Slide 72 text

[][[][[]] ][[]][[]][[ ][[]] ][[][[]]][[ ][[]]][[] [[]]][[]] [[]][[]][[] [[]]] [[]][[]][[] [[]]][[][ []]][ []][[]][[][ []]][ [][[] ]][[] ][[][ []]][ []][[ ]][[] ][[]] [[][[ ]]][[ ][[]]][[]][ [][[] ]][[] ][[]] [[]][ [][[] ]][[]][[][[ ]]][[ ][[]] ][[][ []]][ []][[ ][[]] ][[]] [[][[ ]]][[ ][[]] ][[][ []]][ [][[] ]][[] ][[]] [[][[ ]]][[ ][[]] ][[][ []]][ []][[ ][[]] ][[]] [[][[]]][ []][[][[]]] [[][[ ]]][[[]]][[ ][[]]][[] [[]]][[][ []]][[][[]] ][[][ []]][[][[]] ][[][[]]]

Slide 73

Slide 73 text

[C=B=[]].__proto__[C.B]=T=new Proxy(B,{get:(_,N)=>(B+=+!N,B[6]&&
 (+B||eval(C),C+=String.fromCharCode(parseInt(B,2)),B=[]),T)}); // later in you code … [][[][[]]][[]][[]][[][[]]][[][[]]][[][[]]][[][[]]][[]][[]][[]][[][[]]] [[]][[]][[][[]]][[][[]]][[]][[]][[][[]]][[][[]]][[]][[][[]]][[]][[]][[ ]][[]][[][[]]][[][[]]][[]][[][[]]][[]][[]][[]][[][[]]][[]][[][[]]][[][ []]][[][[]]][[]][[][[]]][[]][[][[]]][[][[]]][[][[]]][[][[]]][[]][[][[] ]][[][[]]][[][[]]][[]][[][[]]][[]][[][[]]][[]][[]][[][[]]][[]][[]][[]] [[]][[]][[][[]]][[][[]]][[]][[]][[]][[]][[][[]]][[]][[][[]]][[][[]]][[ ]][[]][[]][[][[]]][[][[]]][[][[]]][[]][[]][[]][[][[]]][[]][[]][[]][[][ []]][[]][[][[]]][[]][[][[]]][[][[]]][[][[]]][[]][[][[]]][[][[]]][[]][[ ][[]]][[]][[][[]]][[][[]]][[]][[][[]]][[][[]]][[][[]]][[][[]]][[][[]]] [[][[]]][[][[]]]

Slide 74

Slide 74 text

code = 'alert';

Slide 75

Slide 75 text

characters = code.split('') // ["a", "l", "e", "r", "t"]

Slide 76

Slide 76 text

ascii = characters.map(c => c.charCodeAt(0)); // [97, 108, 101, 114, 116]

Slide 77

Slide 77 text

binary = ascii.map(c => c.toString(2)); // ["1100001", "1101100", "1100101", "1110010", "1110100"]

Slide 78

Slide 78 text

encoded = binary.join(''); // "11000011101100110010111100101110100"

Slide 79

Slide 79 text

Decode

Slide 80

Slide 80 text

binary = encoded.match(/.{7}/g); // ["1100001", "1101100", "1100101", "1110010", "1110100"]

Slide 81

Slide 81 text

ascii = binary.map(b => parseInt(b, 2)); // [97, 108, 101, 114, 116]

Slide 82

Slide 82 text

characters = ascii.map(String.fromCharCode); // ["a", "l", "e", "r", "t"]

Slide 83

Slide 83 text

code = characters.join(''); // "alert"

Slide 84

Slide 84 text

Get Rid of "Quotes"

Slide 85

Slide 85 text

.x - Property Accessors Dot Notation x`` - Tagged Template Literals [] - Arrays and Bracket Notation

Slide 86

Slide 86 text

__.__._._._._.__ = "1100001"

Slide 87

Slide 87 text

___ // Proxy entry .__.__._._._._.__ // "a" .__.__._.__.__._._ // "l" .__.__._._.__._.__ // "e" .__.__.__._._.__._ // "r" .__.__.__._.__._._ // "t" ._.__._.__._._._ // "(" ._.__.__._._._.__ // "1" ._.__._.__._._.__ // ")" .___ // eval

Slide 88

Slide 88 text

// obfuscator C=B='',_=([l])=>(B+=+!!l,B[6]&&(+B||eval(C),C +=String.fromCharCode(parseInt(B,2)),B=[]),_) _ `_``_``````````_``_``_````_``_````` `_``_``````_````_``_``_``_``````_``` `_``_``_````_````````_````_``````` ```_``_````````_````_````_``````_` ``````````````

Slide 89

Slide 89 text

String([]) === '' String([][[]]) === 'undefined'

Slide 90

Slide 90 text

[C=B=[]].__proto__[C.B]=T=new Proxy(B,{get:(_,N)=>(B+=+!N,B[6]
 &&(+B||eval(C),C+=String.fromCharCode(parseInt(B,2)),B=[]),T)})

Slide 91

Slide 91 text

[][[][[]]] [[]][[]][[][[]]][[][[]]][[][[]]][[][[]]][[]] // a [[]][[]][[][[]]][[]][[]][[][[]]][[][[]]] // l [[]][[]][[][[]]][[][[]]][[]][[][[]]][[]] // e [[]][[]][[]][[][[]]][[][[]]][[]][[][[]]] // r [[]][[]][[]][[][[]]][[]][[][[]]][[][[]]] // t [[][[]]][[]][[][[]]][[]][[][[]]][[][[]]][[][[]]] // ( [[][[]]][[]][[]][[][[]]][[][[]]][[][[]]][[]] // 1 [[][[]]][[]][[][[]]][[]][[][[]]][[][[]]][[]] // ) [[][[]]][[][[]]][[][[]]][[][[]]][[][[]]][[][[]]][[][[]]]

Slide 92

Slide 92 text

ꝏ - Only One!

Slide 93

Slide 93 text

with (ꝏ()) // encoded `$()` ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ... // the statement above has a length of 594,985 characters function ꝏ(){ ...

Slide 94

Slide 94 text

1. convert length to binary 2. split into 7-bit groups 3. encode as ASCII text 4. evaluate

Slide 95

Slide 95 text

594985

Slide 96

Slide 96 text

10010001010000101001

Slide 97

Slide 97 text

['0100100', '0101000', '0101001']

Slide 98

Slide 98 text

[ 36, 40, 41 ]

Slide 99

Slide 99 text

['$', '(', ')']

Slide 100

Slide 100 text

'$()'

Slide 101

Slide 101 text

new Proxy({}, { has (target, name) { decode(name); return true; } });

Slide 102

Slide 102 text

length = name .length; binary = length .toString(2); pairs = binary .match(/(\d{7})/g); ascii = pairs .map(b => parseInt(b, 2)); chars = ascii .map(c => String.fromCharCode(c)); code = chars .join(''); eval(code);

Slide 103

Slide 103 text

aem1k.com/oo

Slide 104

Slide 104 text

___ ___ ______ ___ ___ |\ \ / / __ \|\ \|\ \ \ \ \/ /|\ \|\ \ \ \\\ \ \ \ / | \ \\\ \ \ \\\ \ \ / / / \ \ \\\ \ \ \\\ \ __/ / / \ \_______\ \_______\ |\___/ / \|_______|\|_______| \|___|/

Slide 105

Slide 105 text

::::::::::: ::: ::: ::: :::: ::: ::: ::: :+: :+: :+: :+: :+: :+:+: :+: :+: :+: +:+ +:+ +:+ +:+ +:+ :+:+:+ +:+ +:+ +:+ +#+ +#++:++#++ +#++:++#++: +#+ +:+ +#+ +#++:+ +#+ +#+ +#+ +#+ +#+ +#+ +#+#+# +#+ +#+ #+# #+# #+# #+# #+# #+# #+#+# #+# #+#

Slide 106

Slide 106 text

__ _/\ \ /' \ \ \ __ __ ___ ___ /\_, \ \ \/'\ /'__`\ /'__`\/' __` __`\/_/\ \ \ , < ___ /\ \L\.\.\ __//\ \/\ \/\ \ \ \ \ \ \\`\____ /\___\ \ \__/.\_\\____\ \_\ \_\ \_\ \ \_\ \_\ \____\ \/___/ \/__/\/_//____/\/_/\/_/\/_/ \/_/\/_/\/____/ @aemkei @ubilabs