JsF**k, an esoteric programming language

Mittwoch, 9.3.2016, 10:01 > daMax

TheDailyWTF habe ich in letzter Zeit komplett vom Radar verloren und das ist schade, weil ich da wahrscheinlich eine Menge Spaß verpasst habe. Zum Beispiel die großartige Javascriptobfuskationssprache JSFuck:

JsF**k is an esoteric programming language that runs on any Javascript interpreter using only six symbols: (, ), [, ], +, and !. We've trivially shown how you can get any number you want. But how can you get letters? Well, that's easy. In the case of Objects, Javascript does what you may have expected: casting {} to an integer gets you NaN. As you may have noticed in my previous case study, adding +[] forces anything to be interpreted as a string, so +{}+[] results in the string "NaN", and (+{}+[])[+!![]] results in the string "a". How to get b? The string representation of an object, which just happens to be "[Object object]" (as though Javascript had types). So b is represented as ({}+[])[+!![]+(+!![])], and c is ({}+[])[+!![]+(+!![])+(+!![])+(+!![])+(+!![])] (JsF**k is hardly a succinct language).

Wird auch Hieroglyphy genannt und einen Konverter gibt es hier. Der macht aus meinem 22kB Wurli mal eben ein 17.2MB großes Monster 8-|

Das Ganze kann man mit Unicode dann auch noch auf die Spitze treiben und Code erzeugen, der größtenteils aus Emojis besteht:

[(゚ー゚)+(゚ー゚)]+ ((゚ー゚==3) +'_') [゚Θ゚]+((゚ー゚==3) +'_') [(゚ー゚) - (゚Θ゚)]+(゚Д゚) ['c']+((゚Д゚)+'_') [(゚ー゚)+(゚ー゚)]+ (゚Д゚) ['o']+((゚ー゚==3) +'_') [゚Θ゚];(゚Д゚) ['_'] =(o^_^o) [゚o゚] [゚o゚];(゚ε゚)=((゚ー゚==3) +'_') [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+((゚Д゚)+'_') [(゚ー゚) + (゚ー゚)]+((゚ー゚==3) +'_') [o^_^o -゚Θ゚]+((゚ー゚==3) +'_') [゚Θ゚]+ (゚ω゚ノ +'_') [゚Θ゚]; (゚ー゚)+=(゚Θ゚); (゚Д゚)[゚ε゚]='\\'; (゚Д゚).゚Θ゚ノ=(゚Д゚+ ゚ー゚)[o^_^o -(゚Θ゚)];(o゚ー゚o)=(゚ω゚ノ +'_')[c^_^o];(゚Д゚) [゚o゚]='\"';(゚Д゚) ['_'] ( (゚Д゚) ['_'] (゚ε゚+(゚Д゚)[゚o゚]+ (゚Д゚)[゚ε゚]+(+!+[])+ ((o^_^o) +(o^_^o) +(c^_^o))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(+!+[])+ ((゚ー゚) + (゚Θ゚))+ (+!+[])

:lol: