Вопрос по AT24C08

Статус: Offline
Реєстрація: 02.02.2006
Повідом.: 90
Вопрос по AT24C08

Имеется некое ЮСБ устройство (далее будем называть его "ключ"), имеющее вид обычной флешки.
Аппаратно состоит из ЮСБ контроллера и чипа ПЗУ - AT24C08 (Atmel)
Стоит задача скопировать данные, хранящиеся в этом ПЗУ и прошить из на новый чип 24С08.
Вопрос: реально ли это сделать? В даташите на данную ПЗУ написано, что при записи данные делаются "с защитой от доступа".
На просторах инета понаписано бог знает чего - одни пишут, что это как два пальца... другие, что невозможно... третьи - что это зависит от типа этой самой 24С08... (зависит от маркировки на чипе), но дело в том, что у меня на чипах маркировка, которую не могу найти в даташитах:

в одном ключе - 24С08AN
в другом ключе - 24С08N

Может кто поможет разобраться?
 
Вообще стандартный EEPROM по I2C. Ничего необычного. Но постановка вопроса заставила прочитать первую страницу даташита. Результат тот же - прочитать/записать микру проблем нет никаких.

В даташите на данную ПЗУ написано, что при записи данные делаются "с защитой от доступа".
Внимательный читатель да увидит "write protect pin for hardware data protection". Что означает для записи или стирания надо дернуть специальной ножкой, иначе ничего не получится. Читать можно как угодно и что угодно.
 
Да в том и прикол, что по даташиту если нога WP запитана положительным потенциалом, то чип будет защищён, если нет (нога WP на массу) то открыт. Причём там же есть табличка, в которой чётко сказано, что ПЗУ модели 24С08 открыта ВСЕГДА (вне зависимости от наличия/отсутствия напруги на WP).
У меня по схеме нога WP на массу, но нифига не получается сделать - ни прочитать, ни записать. Либо что-то не в порядке с программатором, либо с головой... :-( . Правда есть ещё вариант.
Дело в том что исследуемое устройство - некий ключ безопасности, без которого не запускается определённый софт (на ключе кусок программы). И софт и ключ сделаны умными и хитрыми японцами... Может они там шото мудранули, шоб защиту нельзя было скопировать и повторить?
Но схема ключа идеально проста - контроллер, ПЗУха, СД, кварц, один резюк и одна ёмкость. Причём и у контроллера и у ПЗУ 90% ног "на массу" (если интересно могу вложить схемку).
Т.е. всё как бы элементарно, но ничего не получается!
 
Наступить на SDA SCL логическим анализатором и посмотреть что читается из ПЗУ. Не исключен вариант что на микре написано 24с08 а на самом деле там может быть все что угодно.
 
Ну считаете, и что? :) Что это даст? :)
Как я понял, у вас есть контроллер, который подключен к компьютеру по USB. Я бы смотрел на обмен данными между ними.

Хотя для меня вобще данное устройство загадка! Почему нельзя было зашить ключ в сам контроллер? Зачем внешний ЕЕПРОМ? Или это одинаковые ключи с разным приоритетом в зависимости от кода в ЕЕПРОМ? Опять таки, можно это было сделать на этапе программирования..

Нужно больше понимания
 
Останнє редагування:
Почему нельзя было зашить ключ в сам контроллер?

ну, скорее всего потому, что в контроллере недостаточный объём памяти для того куска программного кода, который зашит в ключе.


на самом деле там может быть все что угодно

На чипах написано чётко ATMEL и модель и я склонен этому верить, потому что ключи (как и оборудование) чистокровные японцы, а они подобными комбинами не балуются (не китайцы всёж).

Или это одинаковые ключи с разным приоритетом

ключи абсолютно одинаковы аппаратно (отличаются по внешнему виду), но на каждом свой кусок кода от своей программы.

Нужно больше понимания

вечером закину схемку... какое понимание ещё интересует?
 
Скорее есть шифрование открытым ключом, для чего надо два ключа, один лежит в проце, второй во внешней памяти чтоб при случае с ним играться. Могут генериться новые ключи большей разрядности, сертификаты, вариантов полно.
Так что память может быть вообще пустой и использоваться только во время работы.
 
Да в том и прикол, что по даташиту если нога WP запитана положительным потенциалом, то чип будет защищён, если нет (нога WP на массу) то открыт. Причём там же есть табличка, в которой чётко сказано, что ПЗУ модели 24С08 открыта ВСЕГДА (вне зависимости от наличия/отсутствия напруги на WP).
Ну так вы ж читайте таки внимательно, уже ж человек написал Write Protect - задача - защита данных от записи/стирания, к чтению никакого отношения не имеет


Но схема ключа идеально проста - контроллер, ПЗУха, СД, кварц, один резюк и одна ёмкость. Причём и у контроллера и у ПЗУ 90% ног "на массу" (если интересно могу вложить схемку).
Т.е. всё как бы элементарно, но ничего не получается!

а что в качестве контроллера?
 
а что в качестве контроллера?

CY7C63001A

к чтению никакого отношения не имеет

да вроде не дурак и прекрасно это сам понимаю, но в том и прикол что считать с чипа ничего не удаётся! Он как будто пустой!!!
Может и вправду имеет место быть это:

память может быть вообще пустой и использоваться только во время работы

и нужно смотреть ячейки контроллера ЮСБ?
 
Он как будто пустой!!!
Программатор считывает 0xFF?



4 Kbytes of EPROM (CY7C63001A, CY7C63101A)
AT24C08 -


скорее всего потому, что в контроллере недостаточный объём памяти
:)
 
Останнє редагування:
да, программатор выдаёт Ф-ки

Цитата:
Сообщение от ik558
скорее всего потому, что в контроллере недостаточный объём памяти

ну 8К как бы больше чем 4К :-)

Может действительно, что-то пишется в момент запуска программы?

Эта мыссль подкрепляется ещё вот чем - основной модуль программы в процессе работы (в зависимости от действий оператора) обращается к другим суб-модулям. Так вот, индикатор на ключе (LD) мигает и когда запускается основной модуль, и когда идёт обрашение к суб-модулю (т.е. его запуск). Всё остальное время индикатор ключа постоянно горит.

схема:
 

Вкладення

  • key.jpg
    key.jpg
    51.3 КБ · Перегляди: 99
Останнє редагування:
да вариантов полно, в зависимости от реализации, учитывая что закрытый ключ карточку(читай проц) не покидает при любых условиях, то на внешней памяти может лежать всё что угодно, сгенерированные открытые ключи, хеши которые передаются с/на компьютер для зашифровки, личные опознавательные знаки владельца(ФИО, адрес итд)...
Но при любых раскладах, ничего, что поможет обойти защиту там нет.
 
Останнє редагування:
да, программатор выдаёт Ф-ки
программатор точно работает, память отвечает, но чистая или программатор ниче не может прочесть, но выдает фф-ки?

Но при любых раскладах, ничего, что поможет обойти защиту там нет.

100%
 
ничего, что поможет обойти защиту там нет

да мне как бы не надо обойти защиту. Надо её повторить!
У меня куча таких ЮСБ-ключей (самих флешек) пустых! И две с записанными на них данными. Причём данные нельзя скопировать с одной и записать на другую флешку-ключ. Можно только переместить с помощью спец. программы. При этом данные на вторую флеху ложатся, а с первой исчезают.
Ключ не виден обычными программными средствами Винды. Только виден как периферийный девайс менеджере устройств.

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



Даташиты внимательно читать надо

да, согласен!

The AT24C01A/02/04/08A/16A provides 1024/2048/4096/8192/16384 bits of serial
electrically erasable and programmable read-only memory (EEPROM) organized as
128/256/512/1024/2048 words of 8 bits each


недоглядел эти биты-байты!
 
Останнє редагування:
Вот и решил я попробовать "подковать японскую блоху"...
да не тут-то было!!!
Так ведь roker уже предлагал натравить на дивайс сниффер и посмотреть,что творится на шине.Тогда уже будет ясно,куда плясать.
 
Тем более что анализатор сейчас стоит копейки, а пользы от него десятки ведер.
 
Тем более что анализатор сейчас стоит копейки, а пользы от него десятки ведер.

Он может USB за снифить даже без анализатора - посмотреть чего по порту бегает, если японцы ни чего в виндовой части не замутили странного, чтобы не снифили всякие...

Без верха (USB) ему снифить болтовню проца с флэшкой малополезно. Мало того - я думаю, что её снифить вообще не обязательно, раз она пустая (FF), то значит без неё в клоне вообще можно обойтись. Разве только из любопутства. Основная собака зарыта выше :)

P.S. ТС, а проц считать ты можешь? По идее, там не так много памяти, чтобы забояться её дезассемблировать, раз уж нужда приспичила. Попробуй найти чем его прочитать и посмотреть что получится (а вдруг чудо и он не залочен.

P.P.S. А если вывести наружу reset проца, или просто замкнуть ему кварц в нужный момент, чтобы мгновенно заглох, и потом, отрезав проц от питания, или по сигналам от флэхи попытаться считывать на удачу содержимое флэхи?

Короче - мучать его и мучать.
 
Поднимаю тему.

Проверил общение флэхи с компом во время запуска программы с помощью программного ЮСБ анализатора. Лог-файл получился на 24 страницы!
Так что возникли сомнения по поводу этого:

По идее, там не так много памяти, чтобы забояться её дезассемблировать

Для того, чтобы проверить сам микроконтроллер Кипресс - нужен спец программатор. У меня его нет. Да и пообщался с несколькими знающими людьми - они сказали, что это тухлое дело. Данные контроллеры разового программирования и скорее всего стоит защита - считать ничего не получится!
 
Назад
Зверху Знизу