home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 2
/
ctrom_ii_b.zip
/
ctrom_ii_b
/
PROGRAM
/
PASCAL
/
PAS_0493
/
EXEHDR.TXT
< prev
next >
Wrap
Text File
|
1993-04-14
|
4KB
|
83 lines
{─ Fido Pascal Conference ────────────────────────────────────────────── PASCAL ─
Msg : 275 of 298
From : Amir Geva 2:403/138.0 04 Apr 93 01:02
To : Eric Ort
Subj : " .EXE " File Headers...
────────────────────────────────────────────────────────────────────────────────
Hi.
EO> Could anyone out there tell me how to read in a .EXE File Header, so
EO> I can manipulate a program based on the info therein ?? }
=====================================================================
== The format of an EXE load module. ==
=====================================================================
Byte
Offset
0000H First part of EXE file signature (4DH)
0001H Seconed part of EXE signature (5AH)
0002H Length of file MOD 512
0004H Size of file in 512-byte pages, including header
0006H Number of relocation table items
0008H Size of header in paragraphs
000AH Minimum number of paragraphs needed above program
000CH Maximum number of paragraphs desired above program
000EH Segment displacement of stack module
0010H Contents of SP register at entry
0012H Word checksum
0014H Contents of IP register at entry
0016H Segment displacement of code module
0018H Offset of first relocation item in file
001AH Overlay number (0 for resident part of program)
001BH Variable reserved space
.
.
Relocation table
.
.
Varible reserved space
.
.
.
Program and data segments
.
.
.
.
Stack segment
.
.
=====================================================================
=====================================================================
== A memory image of a typical EXE file just after loading ==
=====================================================================
+---------------------------------------+ SS:SP
| |
| Stack segment: stack grows |
| downward from top of segment |
| |
+---------------------------------------+ SS:0000H
| |
| Data Segemnt |
| |
+---------------------------------------+
| |
| |
| Program Code |
| |
| |
+---------------------------------------+ CS:0000H
| |
| Program Segment Prefix |
| |
+---------------------------------------+ DS:0000H
bye
Amir @ 2:401/450