作者softcloud (老哥交车了 Q_Q:)
看板ASM
标题[问题] 请问 .EXE 档的档案格式
时间Tue Aug 14 11:48:07 2007
以下程式我用 nasm 1.asm -o 1.exe
org 0h
entry:
jmp START ;
START: mov ah,02h
mov dl,01h
int 21h
mov ah,4ch
int 21h
检视 1.exe 的 16进位格式 得到 e9 00 00 b4 02 b2 01 cd 21 b4 4c cd 21
我找了相关的 exe档相关格式来看
http://www.itee.uq.edu.au/~cristina/students/david/honoursThesis96/bff.htm
都说第1个byte, 跟第2byte 应该是 0x4d, 0x5a (MZ格式)
那为何 nasm compiler 出来的跟 exe 格式不同呢
有没有人有研究这个部分,可以说一下看法 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.70.34
1F:→ zha0:nasm 只可以产生 binary 如果你要生 .exe 可以抓 alink 在去 08/14 13:45
2F:→ zha0:link , 不然就是你要自己加 EXE Header 进去 . 08/14 13:46
3F:→ softcloud:那请问为什麽这样的档案可以直接执行呢? 08/14 15:10
4F:→ zha0:DOS 下可以执行的档案有三种 *.COM-> *.EXE-> *.BAT 08/15 00:32
5F:→ softcloud:谢谢z大, 我知道档名的关系,只是好奇说非正式的exe档 08/15 10:31
6F:→ softcloud:格式也能照常执行,那exe的 header主要提供谁做辨识 08/15 10:32
7F:→ zha0:OS 执行档的 Loader . 08/15 15:29