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...