Skip to content
0:00 / 0:00

#x86#printableshellcode#sigbovik

Compiling C to printable x86, to make an executable research paper

suckerpinch

202K subscribers • 15 videos on Hallway

YouTube
  • Recommended by 10 people: 8 on Hacker News, 1 on Lobsters and 1 in engineering communities.
  • A classic. People kept recommending it from 2017 to 2023.
  • Presented by Tom Murphy VII

Advanced. Deep dive for people who know the field.

479K views9 years ago10 recommendations

Systems programmingSecurityCompilers and interpretersExploits and vulnerabilitiesReverse engineering

Tom7 explains how he wrote a C compiler that outputs only printable ASCII bytes to create a valid DOS executable research paper.

In this oddly paced "educational" video, I explain how I created a paper for SIGBOVIK 2017 that consists of only printable ASCII bytes, but is also a valid DOS executable. This involves making a C compiler that targets the printable subset of x86 (without using self-modifying code), and just barely scraping out solutions to some tricky puzzles that arise due to the constraints. The final result is functionality that is oh so very important, however! Download the paper/program and source code: tom7.org/abc/ SIGBOVIK: sigbovik.org/ All Tom thingies: tom7.org/

Why it's here

10 people recommend this

What people say. Widely celebrated as a masterpiece of creative systems engineering and compiler hacking.

u/attoPascalin r/compsci • Recommends

Guy writes an executable research paper by compiling C to printable x86 instructions. Some jokes may occur.

brendanon Lobsters • Recommends

Compiling C to printable x86, to make an executable research paper

pronoiacon Hacker News • Recommends

On “Survival in chessland [pdf]”

He's a mad genius! I like his compiler that generates executables made up only of printable characters: link to this video / link He's super playful and awesomely smart!

badrequeston Hacker News • Recommends

On “NaN Gates and Flip FLOPS”

Every one of this guy's SIGBOVIK papers/videos are pure gold. His video about the printable x861 is my favorite engineering video of all time. ^1: link to this video

nextaccounticon Hacker News • Recommends

On “C89 compiler produces printable executables from C code [pdf]”

The author is an absolute legend. Absolutely every video on his Youtube channel is a masterpiece link And this includes the video that explains this code (Compiling C to printable x86, to make an executable research paper) link to this video

omgmajkon Hacker News • Recommends

On “The GlEnd() of Zelda: Automatic 3Dification of NES Games (2016)”

Love Tom7, his video "Compiling C to printable x86, to make an executable research paper" 0 is my favorite but most of his stuff is super interesting. 0 link to this video

anitilon Hacker News • Recommends

On “Lipogram”

tom7 made a while video explaining how to create an executable only with printable characters 0. He even write a compiler called 'ABC' for it. 0 link to this video

SAI_Peregrinuson Hacker News • Recommends

On “Undocumented x86 instructions to control the CPU at the microarchitecture level [pdf]”

That last one (Tom 7's executable x86 paper) is incomplete without the video where he demonstrates running the paper (or running the paper yourself). link to this video

x86x87on Hacker News • Recommends

On “Ask HN: What are some of the most interesting YouTube channels to follow?”

A mix of various things. Google to get to the channel: pbs spacetime stuff made here ben eater's 8 bit computer mike boyd nerdforge sabine hossenfelder gotham chess uthermal 3blue1brown veritasium Numberphile Suckerpinch (all time favourite: link to this video ) Stevey's tech talk leonard susskind's stanford lectures

nick-of-timeon Hacker News • Recommends

On “GradIEEEnt half decent: The hidden power of imprecise lines [video]”

Mine are "Harder Drives"1, "ELO World"2, and "Printable x86"3 1 link 2 link 3 link to this video

floatbothon Hacker News • Mentions

On “Ask HN: What’s your favorite talk from 2017?”

On The Turing Completeness of PowerPoint link Compiling C to printable x86, to make an executable research paper link to this video HDR Photography in Microsoft Excel?! link Zebras All the Way Down link Solving Layout Problems with CSS Grid and Friends link Console Security - Switch link Let's move SMM out of firmware and into the kernel link Bringing Linux back to server boot ROMs with NERF and Heads link Sharing the Chisel link (looks like the actual conference video wasn't released)

asalahlion Hacker News • Mentions

On “ABC: A C compiler for printable x86”

In the accompanying video0 at 7:36 mark, he goes to great lengths to express (A or B) as (A and B) + (A xor B). Can anybody explain why it can't simply be expressed as (A and B) xor (A xor B)? What am I missing here? 0. link to this video

colejohnson66on Hacker News • Mentions

On “Undocumented 8086 instructions, explained by the microcode”

Tom Murphy VII (tom7) did such a thing. It's a partial C89 compiler that outputs only printable characters. In meta fashion, the compiler is compiled by itself to also contain only printable characters. The TXT and EXE files below are exactly the same. Video: link to this video Paper (PDF): link Paper (TXT): link Compiler (EXE): link