readexe
is a command-line tool for inspecting various Microsoft PC EXE formats.
Status | Magic | Type |
---|---|---|
✅ | MZ |
MS-DOS Executable |
❕ | NE |
16-bit New Executable |
❌ | LE /LX |
32-bit Linear Executable (.vxd/.386) |
❌ | PE |
32/64-bit Portable Executable |
NE format is the current work-in-progress.
readexe
uses the GNU Autotools (for now) to build. You'll need to generate the distributed build artifacts (the configure
script itself, et. al.) before you can use them. Use the include autogen.sh
script to generate the build artifacts. You can build readexe
using the following:
./autogen.sh
./configure
make
The previous Makefile
has been renamed Makefile.unix
and may be removed in the future, or may be rolled back to.
If your OS does not have the BSD err()
family functions, add -I.
to CFLAGS
in Makefile.unix
or in the CFLAGS
envionment variable when invoking ./configure
.
If you are building for MS-DOS or FreeDOS using GCC-IA16 or Sourcery CodeBench Lite for IA16, use Makefile.dos
like so:
make -f Makefile.dos
Attempting to make DOS builds using other compilers is likely to fail. readexe
is written using ISO C99 and ISO C11 features that the majority of DOS compilers predate. Modern DJGPP releases, also built upon GCC, can produce 32-bit extended DOS builds.
Building for Windows CE is experimental. You will need to use the CeGCC toolchain, I recommend the Enlyze fork (as it is a commercial fork started in 2024 and as well-supported as one will get) - https://github.com/enlyze/cegcc-build
An output sample can be found here.