Windows hides file extensions by default. So an executable named invoice.pdf.exe shows up in Explorer as invoice.pdf . Give it a PDF icon and there is nothing left to tell it apart by looking. An extension, though, is only a claim . A PDF always starts with %PDF- . A Windows executable always starts with MZ . A file can call itself anything it likes, but its first bytes are the contents themselves, and they cannot lie. This post is about a Windows app I built that reads those first b...