Polyglot Inception = JPEG = CSS = JS = HTML

Gepostet vor 2 Monaten, 3 Tagen in #Tech #Coding #HTML #Javascript

Share: Twitter Facebook Mail

JS-Wizard Martin Kleppe hat ein JPG, ein Stylesheet, ein Javascript und ein HTML in dasselbe Textfile gebacken: Polyglot Inception4.

deepLevels of Inception

  1. Browser loads page as index.html
  2. HTML contains <script src="#"> tag
  3. Script writes <link href="#">
  4. Stylesheet renders background: url()

How Does it Work?

  • View the page source and watch the network panel to see what is going on.
  • The document starts with the HEX signature "FF D8 FF E1" that identifies the file as a JPEG.
  • The following two bytes define the EXIF header size. Here "0D 3D" leaves space for 3389 bytes.
  • Because the encoding was set to "ISO-8859-1", the first assignemnt ???? = {} is a valid JavaScript expression.
  • The equal sign is not a allowed in CSS selectors but it won't cause the interpretor to stop.
  • The rule inception * { background: url() } is valid CSS and JS at the same time.
  • To avoid errors in JavaScript, we need to hoist the variable "inception" and the function "url".
  • When using href="#", src="#" or url() it points to the same ressource.
  • Line and block comments make it possible to apply the HTML structure and load our script.
  • To render HTML on the first run, the "Content-Type" header must be "text/html".
  • The type will be ignored later, when we refer to it as a JS, CSS and JPEG.
  • Then we include the JPEG image data and close the block comment at the end of the file.

Digital-Uhr in Conways Game of Life

Großartig: Eine Digital-Uhr in John Horton Conways zweidimensionalen zellulären Automaten: Get the design from this gist. Copy the whole file…

A Banana Keytar and more from Stupid Hackathon: Inverted Eyetracker-Pong, Robot Porn Addict or the Shitty Sharpie Tattoo Gun)

Ein weiterer Fav vom Stupid Hackathon NYC 2017, die Banana-Keytar von Amanda Lange. Auch geil: der Twitter-Bot Robot Porn Addiction,…

HTML-Marquee de Sade oder Die 120 Tage von MySpace

Marquis de Sades Die 120 Tage von Sodom komplett in <marquee>-HTML-Tags und GIFs aus der MySpace-Ära. Nach Steve Reich is…

Dwitter – Social-Network für JavaScript-Remixe

Dwitter, ein Social Network von Andreas Løve Selvik für visuelle Javascript-Experimente in 140 Zeichen mit eingebauter Remix-Option für jedes Code-Snippet.…

Finding Animal-Shapes in Noise

Michael Trott hat im Forum von Wolfram Alpha ein random Noise-Pic generiert, die Verdichtungen und Shapes im Noise isoliert, die…

The best Anagramm

Mark Dominus hat das beste Anagramm der englischen Sprache ausgerechnet. Dazu hat er die komplette Liste der Anagramme (der englischen…


„This website displays a collection of twelve code poems, each written in the source code of a different programming language.…

Stupid Hacks from Stupid Hackathon Sweden

Vor ein paar Tagen ging der Stupid Hackathon Schweden zu Ende, hier eine Liste aller dort realisierten Projekte. Spontan mein…

Cool Coding Sticker: I hate Programming I love Programming!

I can relate. Gibt's auf Redbubble für 3 Euro. (via Sara Soueidan)

MuscularAnimeGirl[NSFW].jpg = IndustrialMusic.mp3

Cool Bug featuring „a muscular girl“.jpg, anime style („slighly NSFW“ [„it's the only sample I had“ – sure]) and Industrial…

Good, Cheap, Fast – Pick two.

Hier auf Github. (via Felix)