Изменение инженерного пароля

Никак не могу победить сабж.
Мать: GigaByte GA6OMM7E
Версия БИОС: Award Modular BIOS v6.00PG

Что делаю:

1. Сливаю прошивальщиком биос в файл.
2. В модбине изменяю Security Default Password на свой.
3. Прогоняю БиосПатчер-ом
4. Зашиваю FLASH840.EXE - шником

Результат:
AWARD_SW идет на ура....

Думал, что модбин не сохраняет результат. Изменил BIOS Message - сохранилось... А пароль не сохраняется...

Пробовал модбины:
modbin6.1.00.37, modbin6.1.00.37 - оба при попытке сохранить вываливаются с ошибкой.
modbin6.2.00.00beta - сохраняет, но рез-ат см. выше...

Аватар пользователя ivp

Если мне нужно снести пароль, кем-то зачем-то установленный на вход в комп или в BIOS Setup, я просто перешиваю флэшку хот-свапом, причем любым флэшером, улавливаете ход мысли?..

- Ситчик веселенький есть?..
- Приезжайте, обхохочетесь!..

Нет roll

2IVP: нельзя ли подробнее?

Аватар пользователя ivp

Есть сильное подозрение, что "обнуление" пароля есть неотъемлемая фича прошивальщиков, введенная именно на случай утери/утраты супервизорского/юзерского паролей, хотя, конечно, я могу и ошибаться...

- Ситчик веселенький есть?..
- Приезжайте, обхохочетесь!..

тогда, вообще реально ли его убрать?

Аватар пользователя ivp

Внимательно подумал, а после проверил - я был не прав: awdflash, например, далеко не во всех версиях сносит пароли (8.16, 8.24), а amiflash'у для очистки пароля надо задать соответствующий ключ...
Посему вариантов три:
1) Вы как-то неправильно сохраняете изменение прошивки Модбином;
2) Вы шьете с ключами (в т.ч. дефолтными, и это может быть недокументировано) для очистки паролей;
3) "Инженерный" пароль нельзя выкинуть из прошивки обычными средствами...
Проверяйте... roll

- Ситчик веселенький есть?..
- Приезжайте, обхохочетесь!..

ivp писал(-а):

Посему вариантов три:
1) Вы как-то неправильно сохраняете изменение прошивки Модбином;

хмм... а есть несколько способов сохранить кроме File->Save?
ivp писал(-а):
2) Вы шьете с ключами (в т.ч. дефолтными, и это может быть недокументировано) для очистки паролей;

Шью так: flash840.exe bak.bin /i
ivp писал(-а):
3) "Инженерный" пароль нельзя выкинуть из прошивки обычными средствами...
Проверяйте...

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

Аватар пользователя ivp

1) Тайна сие великая есть: Вы пишете, что 6.1.00.37/38 вываливаются с ошибкой, а 6.2.00.Beta не сохраняет, а у меня (правда, не с паролями) ситуации наблюдались прямо противоположные - первые два делали вид что сохраняют, не ругались, но в итоге не сохраняли ничего, а последний ругался, но все, что надо, сохранял...


2) Если мне память не изменяет, flash840 сделан на базе amiflash'а - откройте его в графическом режиме и посмотрите установки ключей (они сохраняются, поэтому ключ сноса/восстановления паролей мог остаться с каких-то затертых времен)...
3) Данным вопросом никогда не заморачивался; кто точно должен был на это натыкаться по ходу работы, так это StarGaz0r, спросите у него...

- Ситчик веселенький есть?..
- Приезжайте, обхохочетесь!..

Аватар пользователя Root

Цитата:
3) Данным вопросом никогда не заморачивался; кто точно должен был на это натыкаться по ходу работы, так это StarGaz0r, спросите у него..

Там нечто типа CRC, посчитанного кривым методом, пароля хранится. При каждом вводе пароля юзером CRC(или хэш) считается заново и сравнивается со значением в прошивке/флешке.
Кстати, это одна из причин существования нескольких "инженерных" паролей, т.к. одному CRC соотвествует несколько паролей:)

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

Аватар пользователя StarGaz0r

я тоже никогда инженерными паролями не заморачивался;)
но вот что удалось раскопать за последние полчаса;)
все написанное относится исключительно к award6

1. инженерного пароля у конкретного биоса может и не быть - нет кода проверки (определяется через директиву условного ассемблирования ifdef Support_AWARD_Default_Password) - изменять modbin'ном его бесполезно - как определить наличие - см. предположение в п.2

2. хеш мастер-пароля хранится в распакованном образе гланого модуля биос по смещению 1EC60 - всего 8 байт - если они первоначально раны 0 - большая вероятность что в коде биос не определен Support_AWARD_Default_Password и соответственно нет мастер-пароля

3. как найти хеш? смотрим процедуру сравнения введенного пароля с хешом мастер-пароля

Compare_Password Proc Near

push bx
push ds
;R56 push SEG DGROUP
push word ptr cs:[X_FCODE_VAL] ;R56
pop ds
mov bx, offset MASTER_PASS_HASH

;---------------------------------------------------------------------------
;output : ZF : input password = MASTER_PASS_HASH
;---------------------------------------------------------------------------

mov dl, 1 ;assume not match
xor si, si ;index password char 0
CompPass_Loop:
movzx cx, byte ptr KEYIN_BUF[bp+si] ;compare same with keyin?
cmp byte ptr ds:[si+bx], 0 ;Is last char?
jne @F ;Yes, skip
or si, si
jz CompPass_Over
or cl, cl
jnz CompPass_Over
jmp CompPass_Match
@@:
shl cx, 3 ;hash password
shl ch, 3 ; :
ror cl, 3 ; :
ror cx, 3 ; :
rol cl, 3 ; :
or cl, ch ;-------
cmp cl, ds:[si+bx];compare same with keyin?
jne CompPass_Over ;No, skip
inc si ;next char
cmp si, 8 ;over 8 char?
jb CompPass_Loop ;No, continue
CompPass_Match:
xor dl, dl ;Set match flag
CompPass_Over:
or dl, dl
pop ds
pop bx
ret
Compare_Password Endp

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей