dos下的exe文件格式解析
dos下的exe⽂件格式解析
dos下的exe⽂件格式解析:
1、源代码
data segment
Msg DB 'Hello 李国雄!$'
data ends
code segment
Start:
MOV AX,data
MOV DS,AX
MOV DX,OFFSET Msg
MOV AH,9泯灭的意思
INT 21h
MOV  AH,4ch
INT  21h
code ends
END Start
我⽤的是masm6.15编译⽣成exe⽂件
2、exe⽂件头内容
exe⽂件头的具体格式可在以下链接得到www.delorie/djgpp/doc/exe/
以下是本⽂件exe⽂件头的具体内容
0000-0001h 4D5A(MZ)
0002-0003h 2000
植物种子有哪些传播方式0004-0005h 0200(the size of file is 1 * 512 + 2 * 16 = 544byte)洛阳栾川
0006-0007h 0100(number of relocation)
0008-0009h 2000(the header size of file is 2 * 256 = 512byte)
000A-000Bh 0000
000C-000Dh FFFF
000E-000Fh 0000(initialize the SS register)
0010-0011h 0000(initialize the SP register)
0012-0013h 0000
0014-0015h 0000(initialize the IP register)
0016-0017h 0100(initialize the CS register)
听一千遍后
0018-0019h 1E00(offset of the first relocation item in the file)
百度地图时光机001A-001Bh 0000
3、debug反汇编exe⽂件
打开cmd,输⼊debug *.exe
送伟人先出关打一字-r查看ds、es的段地址,即psp段地址,该地址有程序加载器根据内存情况决定,程序事先并不知道,ss的值由psp段地址+0010(psp的⼤⼩)+0000(0E-0Fh的值)得到,cs可相应得到,本⽂件有⼀个重定位项,在⽂件偏移001E处,重定位处的内容修改为psp段地址
+0010(psp的⼤⼩)+重定位处原先的内容。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。