Попал в руки ноутбук Lenovo G560-20042, первоначально был установлен пароль на загрузку системы в BIOS. Разобрал ноутбук, отпаял батарею, замкнул выводы, но ничего не помогло, пароль все равно не сбросился, перебор сервисных кодов тоже не дал результат. Полазив по форумах узнал, что в последние годы на BIOS начали ставить энергонезависимую память (SPI FlashROM). Выход один, найти флеш на ноуте, выпаять, считать дамп (что бы в случай чего откатиться),записать дамп без пароля,запаять назад и вуаля!
При вскрытии обнаружил необходимую нам микросхему (W25Q32BVSIG) с памятью на 4Мб:
Так же на понадобится простенький SPI программатор, я сделал по схеме для LPT-порта:

В просторах интернета был найден нужный дамп без пароля, скачать [2].
Прошивать будем с помощью программы "SPI FlashROM Programmer [3]". Флеш W25Q32BVSIG заказал на ebay , так как моя оказалась с битыми ячейками памяти.

При программировании БП должен быть включен, т.к. на ножки 3,7,8 должно подаваться 3.3в.
Идентифицируем флешку:
SPI FlashROM Programmer 1.9c (C) 2008-2011 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 4.4.0 at 23:20:41, Mar 22 2011
(Win9x/NT/2K/XP compatability)
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: EF4016h
Winbond W25Q32BV (4MB)
Status = 00h (SRP, RES, TB , BP2, BP1, BP0, WEL, BSY)
0 0 0 0 0 0 0 0
Разблокируем флешку для записи:
SPI FlashROM Programmer 1.9c (C) 2008-2011 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 4.4.0 at 23:20:41, Mar 22 2011
(Win9x/NT/2K/XP compatability)
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: EF4016h
Winbond W25Q32BV (4MB)
Status = 02h, WE bit is enabled
Unlocking...
Status = 00h, device is unlocked now.
Стираем флеш:
SPI FlashROM Programmer 1.9c (C) 2008-2011 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 4.4.0 at 23:20:41, Mar 22 2011
(Win9x/NT/2K/XP compatability)
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: EF4016h
Winbond W25Q32BV (4MB)
Status = 02h, WE bit is enabled
Please wait... done.
Запишем бинарник BIOS в флеш:
SPI FlashROM Programmer 1.9c (C) 2008-2011 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 4.4.0 at 23:20:41, Mar 22 2011
(Win9x/NT/2K/XP compatability)
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: EF4016h
Winbond W25Q32BV (4MB)
Programming page at: 003FFF00h (100%)
Сделаем дамп, для сверки прошивки и дамп-файла на 100% соответствие:
SPI FlashROM Programmer 1.9c (C) 2008-2011 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 4.4.0 at 23:20:41, Mar 22 2011
(Win9x/NT/2K/XP compatability)
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: EF4016h
Winbond W25Q32BV (4MB)
Reading sector at: 003FF000h (100%)
Теперь необходимо сверить оригинальный файл прошивки "560.bin" и наш дамп "560dump.bin", они должны быть идентичны. Удобно это сделать с помощью программы HexCmp2.
Если все хорошо, можно смело запаивать флеш назад в ноут.
В результате проделаных операций, имеем полностью работоспособный ноутбук:)

Прикрепленный файл | Размер |
---|---|
lenovo_g560.rar [4] | 1.74 Мб |
spipgm1.9c.zip [5] | 79.42 кб |
HexCmp2_Setup.exe [6] | 793.45 кб |
HxDSetupRU.zip [7] | 854.35 кб |