Здравствуйте, depressman, Вы писали:
D>Из остальных вариантов интересен BIOS. Как его определять из винды?
Раз уж мы в низкоуровневом, то все можно сделать в kernel-driver.
;==================================================================================================
; read HW info proc 1 (BIOS date)
;==================================================================================================
loc_547B4:
pusha
call raise_irql
; выдрано без изменений - здесь формирование физического адреса
mov eax, 0B3B6BF64h
ror eax, 16h
xor eax, 0FD2576h
rol eax, 7
xor eax, 542398h
push 0
push 10h
push 0
push eax
call [MmMapIoSpace]
mov esi, [dword_5BB30] ; 8-байтовый буффер
push dword [eax]
push dword [eax+4]
pop dword [esi+4]
pop dword [esi]
; запомним на будущее, хотя можно сразу и освободить
mov [dword_5B842], eax
call restore_irql
popa
retn