Questions tagged [executables]
For questions about executable binary files.
18 questions
4
votes
0
answers
121
views
What are the legal values at offset 0x30 in the Risc OS AIF header
I'm now poking around in the binary executable file format of the Acorn Archimedes family of computers, Arm Image Format or AIF.
It doesn't have a magic word but the *nix file utility identifies them ...
11
votes
2
answers
1k
views
What file format was used for binary executables on Motorola 680x0 Macintoshes?
Current macOS binary executable files use a format called "Mach-O" and prior to that there was the PEF "Preferred Object Format", and Wikipedia says "It was optimised for RISC ...
3
votes
2
answers
517
views
Why does my MZ executable's BSS inflate by ~1,5KB after linking fopen() with MSC?
For a game reversing project, I am trying to undo linking with the C library performed by the MSC 5.1 C compiler+linker.
To that end, I have created a simple executable that does nothing except ...
6
votes
1
answer
1k
views
Original purpose of the Rich Header in PE files
The Rich Header was presumably introduced by Microsoft in a previous version of Visual Studio. What was its original purpose and how does it achieve this? Is DanS the designer, similar to MZ?
4
votes
1
answer
507
views
Initial contents of CPU registers at OS/2 1.x program startup
What are the initial contents of CPU registers at OS/2 1.x program startup? I know that CS, IP, DS, SS and SP are initialized based on the NE header. But what about the other registers? Are they ...
11
votes
1
answer
628
views
How to write Win16 program with only a single segment (combined code+data)?
I wrote a simple Win16 program in NASM assembly. It works on Windows 3.11. (Source code: https://github.com/pts/mininasm/blob/master/demo/hello/helljw16.nasm .)
When I tried to combine the code and ...
13
votes
1
answer
2k
views
What was the purpose of the ‘overlay number’ field in the MZ executable format?
Many materials covering the layout of MZ executables (RBIL, for example, and even a comment in MS-DOS 2.0 source code) describe the word at offset +0x1a as the ‘overlay number’, with the value zero ...
11
votes
1
answer
618
views
How can I properly execute and clean up after a DOS MZ executable loaded into memory with int21 function 4b01h?
Ralf Brown's Interrupt List describes a subvariant of the DOS int21/4Bh function with AL=01, where the program is loaded into memory and a PSP + stack are allocated for it, but the program is not ...
8
votes
0
answers
440
views
What is the origin of executable compression?
According to the wikipedia article on the topic, the earliest executable compressor listed is Realia Spacemaker for IBM PC (since 1982, written by Robert B. K. Dewar, SM.COM, signature "MEMORY$&...
13
votes
3
answers
6k
views
How can I extract the contents of a Windows 3.1 (16-bit) game EXE file?
I have a game that I can play in a Windows 3.1 emulator.
Now I want to have a look "behind the scenes" of the game EXE file. I hope to find game graphics (sprites) there.
But how can I ...
13
votes
6
answers
6k
views
How can I tell whether a DOS-looking exe. requires a 32-bit CPU to run?
Is there some simple method for determining if a DOS (or OS/2, or Windows etc.) binary (.exe or .dll) is 16-bit or 32-bit? The Linux file command just says "executable".
I want to ...
2
votes
2
answers
1k
views
Why does changing a DOS/Windows EXE cause it to not run? [closed]
If I hex-edit an EXE for DOS or Windows, by adding or removing some text for example, it will no longer run.
If I just change a single char around to a different one, it may run.
Is this some anti-...
3
votes
1
answer
601
views
Loading a Tandy CoCo or a Dragon 32 machine code program from cassette with multiple "name blocks"
For the Dragon 32 and the TRS-80 Color Computer I've found two documents describing how loading from cassette tape works:Dragon 32 doc, CoCo doc.
They both say that a standard program consists of a ...
13
votes
1
answer
952
views
Why do PC DOS kernel files have the COM extension, even though they are not executable as COM files?
The PC DOS kernel is stored in files named IBMBIO.COM and IBMDOS.COM. Although they have the COM extension like executable files, neither of these files could actually be run from the command line, ...
23
votes
1
answer
4k
views
How did large .COM files work?
An MS-DOS .com file is just raw code/data without header, thus no linking information, and was limited to be loaded into just one segment (64kB). That's the reason corrupted binaries would print "...
13
votes
2
answers
2k
views
Are .COM executable binaries real mode or protected mode?
Windows and DOS binary executable files with the .EXE extension have an MZ header in them and nowadays also a PE header.
But before these there used to also be .COM binary executable files and they ...
3
votes
2
answers
1k
views
What file formats were used for binary executable files on later Sinclair ZX Spectrums?
The last official version of the Sinclair ZX Spectrum was the +3, released after the company was owned by Amstrad. It included a 3-inch floppy disk drive as used on other Amstrad computers.
But even ...
18
votes
5
answers
5k
views
What tools were used in late MS-DOS era for reverse engineering and patching binary executables?
In the late MS-DOS era, what were the state of the art software tools for reverse engineering and patching binaries, i.e. .exe and .com files?
A simple list of the tools that were "state of the art", ...