共找到4條詞條名為psp的結果 展開
- 日本SONY公司開發的多功能掌機系列
- 麻痹性貝毒的英文縮寫
- 程序段前綴的英文縮寫
- psp1.5豪華版
psp
程序段前綴的英文縮寫
program segment prefix ,簡稱PSP(程序段的前綴)
當輸入一個外部命令或通過EXEC子功能(系統功能調用INT 21h的子功能號為4BH)載入一子程序時,COMMAND確定當時內存可用空間的最低端作為程序段起點。在程序所佔內存空間的前256個位元組中,系統會為程序創建程序的前綴(PSP)的數據區,DOS要利用PSP來和被載入程序進行通信;PSP內有程序返回、程序文件名等信息,可以通過研究psp定位文件名信息,進而獲取文件名。
從這段內存區的256位元組處開始(在PSP的後面),將程序裝入,程序的地址被設為SA+10H:0 (其中SA為系統為程序分配內存的起始位置的段地址即當前寄存器DS的內容)
program segment prefix ,簡稱PSP(程序段的前綴)
當輸入一個外部命令或通過EXEC子功能(系統功能調用INT 21h的子功能號為4BH)載入一子程序時,COMMAND確定當時內存可用空間的最低端作為程序段起點。在程序所佔內存空間的前256個位元組中,系統會為程序創建程序的前綴(PSP)的數據區,DOS要利用PSP來和被載入程序進行通信;PSP內有程序返回、程序文件名等信息,可以通過研究psp定位文件名信息,進而獲取文件名。
從這段內存區的256位元組處開始(在PSP的後面),將程序裝入,程序的地址被設為SA+10H:0 (其中SA為系統為程序分配內存的起始位置的段地址即當前寄存器DS的內容);
(注意:PSP區和程序區雖然物理地址連續,卻有不同的段地址。)
該PSP中包含以下三部分信息:
(1)供被載入程序使用的DOS入口,如PSP+0、+2、+5和+2CH欄位;
(2)供DOS本身使用的DOS入口,如PSP+0AH、+0EH、+12H和+2CH欄位;
(3)供被載入程序使用傳遞參數,如PSP+5CH,+6CH和80H欄位。
PSP結構與CP/M中的“控制區域”是十分相近的。這是因為,DOS本身便是從CP/M演變而來的。
偏移 | 位元組數 | 說 明 |
0000 | 02 | 中斷20H |
0002 | 02 | 以節計算的內存大小(利用這個可看出是否感染引導型病毒) |
0004 | 01 | 保留 |
0005 | 05 | 至DOS的長調用 |
000A | 02 | INT 22H 入口 IP |
000C | 02 | INT 22H 入口 CS |
000E | 02 | INT 23H 入口 IP |
0010 | 02 | INT 23H 入口 CS |
0012 | 02 | INT 24H 入口 IP |
0014 | 02 | INT 24H 入口 CS |
0016 | 02 | 父進程的PSP段值(可測知是否被跟蹤) |
0018 | 14 | 存放20個SOFT號 |
002C | 02 | 環境塊段地址(從中可獲知執行的程序名) |
002E | 04 | 存放用戶棧地址指針 |
0032 | 1E | 保留 |
0050 | 03 | DOS調用 ( INT 21H / RETF ) |
0053 | 02 | 保留 |
0055 | 07 | 擴展的FCB頭 |
005C | 10 | 格式化的FCB1 |
006C | 10 | 格式化的FCB2 |
007C | 04 | 保留 |
0080 | 80 | 命令行參數長度(不包含總為最後的0D)及參數也是程序運行期間預設的DTA |
另外:保存INT 22/INT 23/INT 24H的值使得用戶在程序中可修改這些中斷的值,病毒就曾利用這種技術防止不能傳染時引起出錯信息。在程序退出時根據PSP中保存的值恢復各中斷的值。