

Tiny PE (2008) - epsylon
http://www.phreedom.org/research/tinype/

======
cremno
I recommend checking out Corkami's articles/posters:

[https://code.google.com/p/corkami/wiki/PE](https://code.google.com/p/corkami/wiki/PE)

[https://code.google.com/p/corkami/wiki/PE101](https://code.google.com/p/corkami/wiki/PE101)

[https://code.google.com/p/corkami/wiki/PE102](https://code.google.com/p/corkami/wiki/PE102)

It also has a section about the minimal size:
[https://code.google.com/p/corkami/wiki/PE#minimal_sizes](https://code.google.com/p/corkami/wiki/PE#minimal_sizes)

Modern Windows versions refuse to run the 97 b and 133 b files from the linked
article.

~~~
boyaka
I wasn't able to run them starting with the 468 B file with only the file
alignment reduction (which as stated, violates the official PE spec).

------
arocks
For those who don't know, there are several executable formats where smaller
programs can be written. For instance, a .COM executable (a legacy format now
[2]) can be written in just 20 bytes [1].

In the case of the Portable Executable (PE) format, 97 bytes is certainly an
impressive feat.

[1]:
[http://www.gnostice.com/nl_article.asp?id=225&t=The_Smallest...](http://www.gnostice.com/nl_article.asp?id=225&t=The_Smallest_Hello_World_Program_At_20_Bytes)

[2]:
[http://en.wikipedia.org/wiki/COM_file](http://en.wikipedia.org/wiki/COM_file)

~~~
TazeTSchnitzel
This makes me wonder what the smallest asm.js program could be.

~~~
pjc50
;

~~~
TazeTSchnitzel
Not valid asm.js, doesn't do anything useful.

------
smcl
A quick google reveals the answer, but this article would benefit from "A PE
file is ..." in its introduction. Maybe it's expected that the target audience
already knows this info however

~~~
agumonkey
Indeed, I thought it was a minimal version of Bart's Preinstalled Environment
(BartPE) ...

------
breakingcups
Importing a dll from a UNC path to load the file over WebDav is quite an
amazing trick, many props to the author.

------
rjaco31
Wow, what a great read. Nice work.

------
TazeTSchnitzel
WebDAV for retrieval is just HTTP GET right?

~~~
hawleyal
Yes

