DirectCMOS

xiaoxiao2021-03-06  64

Use DOS gadgets written in DEBUG a hundred years ago to save the CMOS Data to the executable, or write data from the executable to CMOS. The purpose of the initial writing is to use the machine room (or Internet cafe) to change CMOS :)

Old antiques, accidentally see it, relat, right to save commemorative ...

A

Mov Si, 0082

CMP BY [Si], 52; 'R'

JZ 0120; _Read

CMP BY [Si], 72; 'R'

JZ 0120; _Read

CMP BY [Si], 57; 'W'

JZ 0154; _WRITE

CMP BY [Si], 77; 'W'

JZ 0154; _WRITE

Mov Ah, 09

MOV DX, 017B

Int 21

INT 20

MOV Si, 01d0; _Read:

MOV CX, 0040

XOR Al, Al

OUT 70, Al; _LoopRead:

MOV AH, Al

IN Al, 71

MOV [Si], Al

Mov Al, AH

INC Al

Inc Si

Loop 0128; _LoopRead

MOV AX, 3D01

MOV DX, 0174; 'DC.com'

Int 21

MOV BX, AX

Mov Ah, 40

MOV CX, 0110

MOV DX, 0100

Int 21

Mov Ah, 09

MOV DX, 0194

Int 21

INT 20

MOV Si, 01d0; _Write:

MOV CX, 0040

XOR Al, Al

OUT 70, Al; _LoopWrite:

MOV AH, Al

MOV Al, [Si]

OUT 71, Al

Mov Al, AH

INC Al

Inc Si

Loop 015c; _LoopWrite

Mov Ah, 09

MOV DX, 01AB

Int 21

INT 20

DB 'dc.com', 0

DB 'Message: Unknow Argument! $'

DB 'MESSAGE: Read Complete! $'

DB 'MESSAGE: WRITE COMPLETE! $'

DB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

DB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

DB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

DB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

DB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

RCX

110

N dc.com

W

Qi

转载请注明原文地址:https://www.9cbs.com/read-88801.html

New Post(0)