☎ Обучение сайтостроение или web-дизайн, обработка графики, системное администрирование, администрирование Windows серверов, администрирование Linux серверов, создание LAMP серверов, 1С бухгалтерия с нуля для взрослых и детей от 12 лет г. Краснодар тел. +7 908 691 83 63 +7 918 320 05 07 e-mail: master@spo23.ru

Вы здесь

Обучение программированию Краснодар

Практические занятия по приобретению навыков детей от 12 лет

Направления:

  • Вычислительные системы, сети и телекоммуникации
  • Конфигурирование MS Windows
  • Конфигурирование Linux
  • Графические приложения
  • Сетевое программирование (или системное)
  • Базы данных Системы управления базами данных Теория баз данных
  • Аппаратное обеспечение рабочих станций, серверов, ноутбуков
  • Web-технологии
  • Создание web-сайтов
  • Ускоренный курс по созданию web-сайтов CMS Wordpress, Jumla, Drupal, PHPBB
  • Системы видеонаблюдения. Расчет. Тактика планирования. Монтаж. Курс 5 часов

Читать здесь > > > > > > > > > > > >

Позвонитьтел. +7 908 691 83 63 +7 918 320 05 07

Как узнать пароль на BIOS после загрузки?

Фейсбук Цифтех
ВКонтакте Цифтех
Инстаграм Цифтех
Одноклассники Цифтех
Pinterest Анатолий Фукалов
Livejournal Анатолий Фукалов

Как узнать пароль после загрузки?

в AMI bios'e:

type String6=string[6];
function GetAMIPassword; assembler;
asm
cld
les di,@Result
mov si,di
mov al,37h
out 70h,al
in al,71h
and al,0F0h
xor bx,bx
xchg bh,al
stosb
@M1:
mov al,bl
add al,38h
out 70h,al
in al,71h
or al,al
jz @Exit
mov ah,al
xor cl,cl
@M2:
test al,80h
jz @M3
test al,61h
jnp @M4
stc
@M4:
rcl al,1
jmp @M6
@M3:
test al,61h
jp @M5
stc
@M5:
rcl al,1
@M6:
inc cl
cmp al,bh
jne @M2
inc byte ptr es:[si]
mov byte ptr es:[di],cl
inc di
mov bh,ah
inc bl
cmp bl,6
jb @M1
@Exit:
end;

В AWARD bios'e: В отличии от других разновидностей bios-ов, Award-bios хранит не пароль, а его 2-байтовую контрольную сумму (кс) в cmos-e. Таким образом, обычно существует большое количество паролей, "открывающих" машину. Но не это главное.

В Award-bios-ах есть универсальная кс (укс). Если подобрать строку символов (не более восьми) с той же кс, то можно заставить компьютер работать. Разумеется, таких паролей для каждой укс существует достаточно много. Любой из таких паролей можно назвать универсальным паролем (уп). Долгое время в ходу были bios-ы только с одной укс (взятой, скорее всего, от строки AWARD_SW), и было найдено несколько других уп, таких как j262, j256, Syxz, lkwpeter, Wodj... Все эти пароли, как Вы поняли, имеют одну и ту же кс.

Последнее время появились машины с другими укс, взятыми от каких-то других строк или выдуманных "от балды". Видимо это связанно с лицензированием (продажей) bios-а различным фирмам.

Но... алгоритм взятия кс от строки остался прежним и место укс в bios-е то же самое. Пока мне известно 5 вариантов укс (2 байта по адресу F000:EC60) Итак, если там число 0x1EAA, то паролем может служить всем известная комбинация AWARD_SW. Бывают также bios-ы, где по этому адресу стоят другие числа. Для удобства по одному из вариантов уп (те, которые сгенерировала моя программа) привожу в табличке:

0x0604 KDD
0x1EAA ZJAAADC
0xBEA2 ZAAADA
0xAAAA UAABBA
0xFEA3 ZBAAACA

(Я подбирал пароли только из латинских заглавных букв.) Конечно, можно было бы поискать и более осмысленные сочетания символов, имеющих те же кс, но это дело я готов предоставить Вам (надо написать простенькую программу, запустить ее работать на ночь, а потом просмотреть файл в несколько сот кил :-) Для справки: четырехбуквенных паролей для 0x1EAA-модификации bios-ов существует 11656 штук, если брать набор символов от '!' до 'z'. Пяти-, шести-, семи- и восьмибуквенных наберется еще больше...

Резюме: В отличии от владельцев других моделей компьютеров, Вам не придется развинчивать корпус и искать там перемычку, сбрасывающую cmos или вытаскивать (или, что еще хуже - закорачивать) батарейку, если Вы забыли свой пароль, даже если этот пароль поставлен и на вход в setup и на загрузку. Попробуйте один из вышеприведенных, авось подойдет. Не забудьте придерживать клавишу shift. Резюме для потенциальных взломщиков не пишу - догадаетесь сами :-)

; revision history:
; 17 April 1998 - Just started :-)
; 21 April 1998 - First public release
; 29 April 1998 - Minor changes
; 30 July 1998 - Added password for 0xAAAA chechsum
;tasm /ml /m9 /zn award_cr.asm
;tlink /t/x award_cr.obj
.MODEL Tiny,C
LOCALS
.CODE
org 100h
P386
GETCRC macro
xor bx,bx
xor ah,ah
mov bl,cl
or ch,ch
jz _ret0
mov al,ch
rol bx,2
add bx,ax
rol ecx,16
or cl,cl
jz _ret1
mov al,cl
rol bx,2
add bx,ax
or ch,ch
jz _ret1
mov al,ch
rol bx,2
add bx,ax
or dl,dl
jz _ret1
mov al,dl
rol bx,2
add bx,ax
or dh,dh
jz _ret1
mov al,dh
rol bx,2
add bx,ax
rol edx,16
or dl,dl
jz _ret2
mov al,dl
rol bx,2
add bx,ax
or dh,dh
_ret2
mov al,dh
rol bx,2
add bx,ax
_ret2:
rol edx,16
_ret1:
rol ecx,16
_ret0:
endm
start:
mov dx,offset msg
mov ah,9
int 21h
cld
mov ax,0F000h
mov es,ax
xor bx,bx
_loop:
mov di,bx
mov si,offset pattern
mov cx,18
rep cmpsw
jcxz _award
inc bx
cmp bx,0FFFFh-36
jne _loop
mov dx,offset badbios
mov ah,9
jmp _p
_award:
mov cx,es:[0EC60h]
mov ah,9
mov dx,offset m1eaa
cmp cx,01EAAh
je _p
mov dx,offset m0604
cmp cx,00604h
je _p
mov dx,offset mfea3
cmp cx,0FEA3h
je _p
mov dx,offset mbea2
cmp cx,0BEA2h
je _p
mov dx,offset maaaa
cmp cx,0AAAAh
je _p
mov word ptr _label+2,cx
xor ecx,ecx
xor edx,edx
mov cl,xlat[0]
rol ecx,16
_proc2:
rol edx,16
_proc1:
rol ecx,16
_proc:
GETCRC
_label:
dw 0FB81h,0
je _found
xor bx,bx
mov bl,cl
mov cl,xlat[bx]
cmp cl,'.'
jne _proc
mov cl,xlat[0]
mov bl,ch
mov ch,xlat[bx]
cmp ch,'.'
jne _proc
mov ch,cl
rol ecx,16
mov bl,cl
mov cl,xlat[bx]
cmp cl,'.'
jne _proc1
mov cl,xlat[0]
mov bl,ch
mov ch,xlat[bx]
cmp ch,'.'
jne _proc1
mov ch,cl
mov bl,dl
mov dl,xlat[bx]
cmp dl,'.'
jne _proc1
mov dl,xlat[0]
mov bl,dh
mov dh,xlat[bx]
cmp dh,'.'
jne _proc1
mov dh,dl
rol edx,16
mov bl,dl
mov dl,xlat[bx]
cmp dl,'.'
jne _proc2
mov dl,xlat[0]
mov bl,dh
mov dh,xlat[bx]
cmp dh,'.'
jne _proc2
_fail:
ret
_found:
push edx
mov ah,2
mov dl,cl
or dl,dl
jz _ok1
int 21h
mov dl,ch
or dl,dl
jz _ok1
int 21h
rol ecx,16
mov dl,cl
or dl,dl
jz _ok1
int 21h
mov dl,ch
or dl,dl
jz _ok1
int 21h
pop ecx
mov dl,cl
or dl,dl
jz _ok0
int 21h
mov dl,ch
or dl,dl
jz _ok0
int 21h
rol ecx,16
mov dl,cl
or dl,dl
jz _ok0
int 21h
mov dl,ch
or dl,dl
jz _ok0
_p:
int 21h
_ok0:
ret
_ok1:
pop eax
ret
msg db 'Resolving AWARD BIOS default passwords',13,10
db 'Version as of July 30 1996',13,10
db 'Copyleft Award Software :-)',13,10
db 'Co-authors: Alex Bachin ',13,10
db ' Alexey Novojilov
',13,10
db 'Note: pre-computed passwords are: KDD, ZBAAACA, ZAAADA, ZJAAADC,
UAABBA',13,10
db 'Wait, please...$'
badbios db 13,10,'Unknown or non-AWARD bios. Contact authors, please!$'
m0604 db 'KDD$'
mfea3 db 'ZBAAACA$'
mbea2 db 'ZAAADA$'
m1eaa db 'ZJAAADC$'
maaaa db 'UAABBA$'
pattern db 056h,053h,051h,052h,033h,0F6h,033h,0DBh
db 032h,0E4h,0B9h,008h,000h,08Ah,082h,0A2h
db 000h,00Ah,0C0h,074h,009h,0D1h,0C3h,0D1h
db 0C3h,003h,0D8h,046h,0E2h,0EFh,093h,05Ah
db 059h,05Bh,05Eh,0C3h
xlat db
'A...............................................................'
db '.BCDEFGHIJKLMNOPQRSTUVWXYZ.'
end start

Hа PS/2 можно попытаться сделать так:

;------------ ps2psw.asm
Ideal
Model Tiny
CodeSeg
Org 100h
Start:
Mov si,OffSet MsCopRt
Call PutSt
In al,92h
Test al,08h
Jnz @@Crk
Mov si,OffSet MsPsw1
Call PutSt
Call PutPsw
Mov si,OffSet MsPsw2
Call PutSt
Mov bl,0Eh
Mov ah,0
Mov al,bl
Call SetCMOS
Ret
@@Crk:
Mov si,OffSet MsCrk1
Call PutSt
Mov bl,0Eh
Mov ah,80h
Mov al,bl
Call SetCMOS
Mov si,OffSet MsCrk2
Call PutSt
Ret
MsCopRt Db 'PS/2 PassWord Cracker v1.00 by Alex Yakovlev.', 13, 10, 13,
10, 0
Proc PutPsw
Push ax bx cx dx
Mov cx,7
Mov dl,38h
@@1: Mov al,dl
Call GetCMOS
And al,7Fh
Mov bx,OffSet Tabl
Xlat
Call PutCh
Inc dl
Loop @@1
Pop dx cx bx ax
Ret
EndP
Tabl Db 0, 0 ; 00 .. 01 - ?, ESC
Db '+1234567890=' ; 02 .. 13 - 1st row
Db 0, 0 ; 14 .. 15 - BS, Tab
Db 'QWERTYUIOP[]' ; 16 .. 27 - 2nd row
Db 0, 0 ; 28 .. 29 - Enter, Ctrl
Db 'ASDFGHJKL', 0, 0 ; 30 .. 40 - 3rd row
Db '#' ; 41 .. 41 - ...
Db 0 ; 42 .. 42 - LShift
Db ';' ; 43 .. 43 - ...
Db 'ZXCVBNM', 0, 0 ; 44 .. 52 - 4th row
MsPsw1 Db "The PassWord is: '", 0
MsPsw2 Db "'.", 13, 10, 0
MsCrk1 Db 'Cracking CMOS password checking...', 13, 10, 0
MsCrk2 Db 'And now, please, turn the computer off and on,', 13, 10
Db ' ... and run this program again.', 13, 10, 0
Proc PutCh
; In: AL - Char
;
Push ax dx
Mov ah,2
Mov dl,al
Int 21h
Pop dx ax
Ret
EndP
Proc PutSt
; In: DS:SI - String
;
Push ax si
@@1:
LodSb
Or al,al
Jz @@2
Call PutCh
Jmp @@1
@@2:
Pop si ax
Ret
EndP
Proc GetCMOS
; In: AL = Index
; Out: AL = Value
;
Cli
Out 70h,al
Jmp Short $+2
In al,71h
Sti
RetN
EndP
Proc SetCMOS
; In: AL = Index, AH = Value
;
Cli
Out 70h,al
Jmp Short $+2
Mov al,ah
Out 71h,al
Sti
RetN
EndP
Proc CrcCMOS
Push ax bx cx dx
Mov bl,10h
Mov bh,32h
;;;
Mov dx,0FFFFh
Xor ah,ah
Mov cl,4
@@1:
Mov al,bl
Call GetCMOS
;;;;;
Xor dh,al
Mov al,dh
Rol ax,cl
Xor dx,ax
Rol ax,1
Xchg dh,dl
Xor dx,ax
Ror ax,cl
And al,0E0h
Xor dx,ax
Ror ax,1
Xor dh,al
;;;;;
Inc bl
Cmp bl,bh
Jne @@1
;;;
Mov al,32h
Mov ah,dh
Call SetCMOS
Mov al,33h
Mov ah,dl
Call SetCMOS
Pop dx cx bx ax
Ret
EndP
End Start

Фейсбук Цифтех
ВКонтакте Цифтех
Инстаграм Цифтех
Одноклассники Цифтех
Pinterest Анатолий Фукалов
Livejournal Анатолий Фукалов