Exe файл имеет формат PE (Portable Executable), как и dll, например.
1. MZђ и всякая белиберда. А точнее ASCII-интерпретация двоичных данных (служебных заголовков, ресурсов, кода, секции данных). Ну т.е. белиберда. Открывать двоичные файлы следует в HEX-редакторах.
2. Да, через HEX-редактор. Структуру можно нагуглить по запросу «pe file format». Кроме того, ресурсы можно отредактировать с помощью res hacker. Если надо менять именно код, надо использовать дизассемблер.