dos下的exe檔案格式解析

2021-05-25 20:12:04 字數 1237 閱讀 3076

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檔案頭的具體格式可在以下鏈結得到

以下是本檔案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的大小)+重定位處原先的內容。

DOS檔案格式 與 UNIX檔案格式 轉換

這裡闡述兩種方法 1.使用vim的方法 在vim下 使用如下命令 set fileformat unix 就可轉換成 unix 檔案格式,也可使用其縮寫形式命令 set ff unix 直接輸入命令 set fileformat 或 set ff 還可查詢當前的命令格式。2.使用linux命令工具 ...

改 DOS檔案格式轉UNIX檔案格式

windows中的文字檔案的換行符是 r n 而linux中是 n dos格式檔案傳輸到unix系統時,會在每行的結尾多乙個 m,當然也有可能看不到,但是在vi的時候,會在下面顯示此檔案的格式,比如 dos.txt dos 120l,2532c 字樣,表示是乙個 dos 格式檔案,如果是mac系統的...

QuickTime檔案格式解析

peter lee 2008 06 14 一 簡介 quicktime 是公司開發的一套完整的多 平台架構,可以用來進行多種 的建立,生產,和分發,並為這一過程提供端到端的支援 包括 的實時捕捉,以程式設計的方式合成 匯入和匯出現有的 還有編輯和製作,壓縮,分發,以及使用者回放等多個環節。quick...