Polyglot Inception = JPEG = CSS = JS = HTML

Gepostet vor 5 Monaten, 29 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.

Stereographic Torus Knot

I'm not sure what's going on here but I like it: „This is very similar to Rise Up, though with…

Very Bad Volume Control Interfaces

Vor einer Woche postete Redditor Jacobone dieses Interface für Lautstärkeregelung von irgendeiner Win-App. Then this happened: r/ProgrammerHumor/search?q=volume&restrict_sr=on. Because ofcourse it…

Zalgo Droplet

A Javascript-Droplet „to invoke the hive-mind representing chaos. Invoking the feeling of chaos. With out order. The Nezperdian hive-mind of…

C64-Demo generates itself from Soundtrack

Gewinnerdemo der Revision 2017 von Linus Akesson, ein C64-Hack in 256 Bytes: A Mind is born. Ich verstehe ja noch…

Binary Keyboard

Nette Spielerei von Chris Johnston: „A two-button backlit mechanical keyboard that types ASCII values, one bit at a time.“ (via…

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…