DOS應用程式中用光碟破解(轉載)

看雪資料發表於2000-12-29

DOS應用程式中用CD-ROM,主要用到 INT 2FH 的 1510H(Send device driver request) 功能。

要用到的幾個中斷說明如下:

1. IOCTL input 的格式:

偏移量 型別 內容
00H 位元組 1AH
01H 位元組 00H
02H 位元組 03H
03H 位元組 11 DUP(?)
0EH 雙字 緩衝區地址
12H 字 緩衝區長度
14H 位元組 6 DUP(?)

2. IOCTL output 的格式:

偏移量 型別 內容
00H 位元組 1AH
01H 位元組 00H
02H 位元組 0CH
03H 位元組 11 DUP(?)
0EH 雙字 緩衝區地址
12H 字 緩衝區長度
14H 位元組 6 DUP(?)

3. 在緩衝區中填入命令再用 INT 2fH 的 1510H 便可以實現 CD-ROM 的各種功能,緩衝的一些命令格式如下:

作用 長度 格式
解鎖 2 01,00
加鎖 2 01,01
入盒 1 05
取CD-ROM 狀態 5 06,0,0,0,0
返回:06,xx,xx,0,0
xx,xx為狀態字
位0:1 門開,0門關
位1:1未鎖,0門鎖
位B:1無盤,0有盤

4. 檢測 CD-ROM 驅動程式的存在:

AX = 1500H
BX = 0
INT 2fH
返回:BX = CD-ROM 個數
      CX = 起始CD-ROM 磁碟機代號,0=A:,1=B:等等

5. 傳送 Device Driver Request:

AX = 1510H
ES:BX=請求頭地址
出盒 1 00
CX = CD-ROM 的盤號

相關文章