Before clicking download disable all preventive settings of your browser and now do the same with any anti virus programs running! These steps will help you get the huge potentialities on unzipping the bomb bellow!
When one opens the generated zip file (careful to not actually unzip it), ten folders are revealed inside, labelled 10-1 through 10-10. Each of these holds a set of ten folders: 9-1 through 9-10, to 8, to 7, a countdown leading to the final set of text files, each named zero.txt. All together, there are 10 ^ 10 of these zero files, or 10 billion; each one is 100MB in size, and completely composed of repetitions of the number 0. Expand these to full size and you get 1EB of data: an exabyte, equivalent to 1024 petabytes, where a petabyte is itself 1024 terabytes – enough to fill anyone’s consumer harddrive (in 2017 anyway) with zeros. As promised, the potentialities were revealed to be huge – and all packed into a 29.6K file.
ZipIT is a callback to the classic internet phenomenon of zip bombs. Perhaps the most impressive of the classic zip bombs were the quine zip bombs, which unzip to a state identical to its zip state, which would then unzip, creating an infinite loop of expanding data. The quine (named for analytic philosopher Willard Van Orman Quine) usually refers to a program that prints its own source code to the screen, or recreates it into a new file (here the “running” of that program is the act of unzipping it). Quine zip bombs were known to crash mail servers that attempted to unzip them to scan their contents. Now such files are relatively harmless, as most systems can easily detect zip bombs, transforming what was once a malicious act into something gestural.
Extreme redundancy of data in a lossless compression is what makes zip bombs possible. When Huffman encoding, a common compression algorithm, is applied to a file with the same symbol repeated, maximum redundancy is achieved: we only store the symbol and length. The image at the top of this post (pulled from the website) shows how scattered and seemingly random a wholly uniform set of data can look when compressed it into a tiny .zip.
Using compression and file size as performance dates back at least to 2004, with Cory Arcangel’s Total A##hole Compression, which asks "Why make files smaller, when you can TAC them”? TAC expands files by up to 14 times its original size, seemingly to justify the bandwidth and storage which seemed expansive and underused even thirteen years ago, much as it is now.
That the size of information can be performative itself is perhaps made most clear in the esolang Lenguage. Named for the LEN() function that returns the length of a string in many languages, a Lenguage program uses only the number 1, never 0, meaning only the size of the file holds usable information. That file size is broken down into a binary number; each three digits, read in order, corresponds to a brainfuck command. To write a Hello, World! program in this language, with data stored at the atomic level, would take more matter than exists in the known Universe.
If your browser or OS is too smart (intrusive) to let you download zipIT, there’s another solution:
And alternately, “Introducing: bombON_a_Stick! - the solution if you prefer to get your copy of the zip bomb via mail! Contact us and we will gladly guide one to your post box!
While the author of zipIT is anonymous*, the pavillion was curated by Noemata http://noemata.net/ (Bjørn Magnhildøen, Ana Buigues, advisor Zsolt Mesterhazy) who work out of Norway (we looked at Portrait of a Web Server, another piece from their pavillion, recently).
* UPDATE: Not entirely anonymous, view source on the zipIT project page for more info