作者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