VPNkey-свисток

Давно это было. Отдал мне как-то мой приятель, Юрка Чернышов, одну штучку — VPNkey. Ключ дохлый, ни на что не отзывается. Можно было бы и выкинуть, но есть приятель (Сашка, то есть — я), который собирает подобные «трупы» и на них тренируется. В общем, отдал и забыл — и себе польза (избавился от ненужного), и дурачку свисток. Все довольны, все счастливы.

Конечно же! Самое первое, что я сделал, — я вскрыл свистульку. В животике у неё оказались — MEGA64 в корпусе MLF, конвертер USB в параллельный интерфейс PDIUSB12, флэшь-память AT45DB041B на 512 кБайт (в дурном корпусе CASON), монитор питания DS1813, ну и другие менее значимые микросхемы. То есть, для меня есть чем поживиться.

Здесь на фотке MEGA64 уже «сдута»:

img_1236

Память и монитор питания находятся с другой стороны платы.

К стати, о PDIUSB12 — точно такой же USB-конвертер используется в китайских программаторах Dragon!

На обратной стороне платы имеется несколько технологических пятачков. (Я чёт поленился зафотать обратную сторону «луны», в общем — страдайте!) Проследив куда ведут проводнички от этих пятячков, я установил, что это выведен интерфейс JTAG. Ну дак, отлично! Отлично!!!

Включаю паяльник, подпаиваюсь и … ничего!

# avrdude -c dragon-jtag -P usb -p m64 -t -F -v

Компьютер говорит, что МЕГА64 не отзывается, точнее так — сообщает не тот идентификационный номер, который от неё ожидают. Ждем 1E9602, а приходят то 582456, то 58В468, то 587466, то 58B460 — то есть все какие-то «левые». Ну, либо Мега дохлая, либо JTAG-интерфейс отключен.

На остатках энтузиазма я подпаялся к плате (к ножкам) и проверил возможность достучаться до Меги через SPI.

# avrdude -c usbasp -p m64 -t -F -v

Результат тот же. После чего я приуныл и положил свистульку в коробку.

Прошло несколько лет…

И вот, на днях, имея неограниченный запас времени, я вновь вернулся к этому свистку. Я вновь пришёл к проблеме, чтобы окончательно её забодать — определиться какие детальки исправные, а какие пойдут в коробочку «Силиконове кладбище».

На этот раз я вооружился осциллографом. Беглое исследование показало, что PDIUSB12 вполне рабочая и даже корректно опознаётся. Более того, микросхема, на подпаянный к ней светодиод, адекватно выводит своё состояние. Уже хорошо!

Mega64 — тоже вроде бы рабочая. Сигналы, которые она передает в PDIUSB12, у меня не вызывают подозрений.

Иначе говоря, есть большая вероятность, что всё железо исправно, а вот прошивка в Меге могла слететь. (Интересно, по какой причине?)

Ну, поскольку VPNkey — это средство обеспечения безопасности, то я не думаю, что я смогу вернуть девайс к жизни. Да и за чем! Какой в этом смысл? А вот Мегу, как многоразовое изделие, было бы желательно как-то воскресить.

Если у Меги отключены все интерфейсы, по которым к ней можно достучаться, то остаётся только одно — высоковольтное параллельное программирование с предварительным стиранием битов защиты, конфигурационных ячеек и неизбежным стиранием flash- и eeprom-памяти. Ну, содержимое памяти меня как-то вообще мало интересует. Так что — в перед! К победе коммунизма!

Вперёд-то вперёд, но, сами понимаете, что осуществить это не так-то просто. Для этого сначала понадобится как-то «сдуть» Мегу с платы. Потом аккуратно подпаять проводки к её никакусеньким выводам:

img_1230

Не жалейте канифоль!

Затем полученный таким образом корпус с гибкими выводами необходимо припаять к программатору STK500:

img_1234

Ну, вот, только потом уже можно будет с Мегой работать! Нужно будет стереть биты защиты и восстановить обратно интерфейсы доступа к микросхеме. Но не тут-то было!

При подключении микросхема внезапно отозвалась. Вау!

# avrdude -c stk500pp -p m64 -t -v

Мега сообщила свой идентификационный номер, сообщила состояние конфигурационных ячеек и битов защиты.

Да, действительно, в конфигурационных ячейках интерфейсы JTAG  и SPI были отключены. Но самое забавное то, что биты защиты у микросхемы, которая трудится в области безопасности, запрграммированы не были! Вот-эт ребята лоханулись, так лоханулись! Да-а-а!…

Ну, раз так, тогда я забираю вашу прошивку:

# avrdude -c stk500pp -p m64 -U flash:r:vpnkey-flash.bin:r -U eeprom:r:vpnkey-eeprom.bin:r

Сохранили flash- и eeprom-память в двоичных файлах. После чего дублируем команду для сохранения контента в текстовом интеловском формате:

# avrdude -c stk500pp -p m64 -U flash:r:vpnkey-flash.hex:i -U eeprom:r:vpnkey-eeprom.hex:i

И наконец восстанавливаем человеческий доступ к микросхеме:

#  avrdude -c stk500pp -p m64 -U lfuse:w:0xE4:m -U hfuse:w:0x99:m -U efuse:w:0xFF:m

Я с прошивкой не разбирался, да и, наверно, не буду! Нафиг мне это нужно — в чужом дерьме баги искать. Я свой «продукт» с не меньшим количеством багов производить умею.

Могу только сказать, что в конце кода из flash-памяти имеется строка:

VPNLDR 1.5

Ну, вот, как-то так. Обращайтесь, ежличо!

 

4 responses to “VPNkey-свисток

  1. могу отдать еще один свисток — модем wimax от Yota samsung
    внутре куча мелочи — ничего полезного не углядел

  2. я в ближнем замкадье

    • А я вообще за Уральскими горами. Как перевалишься за хребет. Потом проедешь границу Европа-Азия, так сразу и мой дом будет. Точнее километров эдак через 30-40. Эх-х, широка страна моя родная!

      Да, ладно! Тогда ничего не надо. Ещё раз спасибо за стремление делать добрые дела. Но, как говориться, за морем телушка — полушка, да рубль перевоз. В общем, не в этой жизни.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s