Вопрос по Attiny45v

Тема в разделе "Микроконтроллеры AVR", создана пользователем ByteFun, 23 апр 2015.

  1. ByteFun

    ByteFun Guest

    Имеется чип к картриджу на принтер OKI c711.
    Сам чип на борту имеет МК Attiny45v и работает как RFID метка (если не ошибаюсь на частоте в 13,56 мгц).
    Т.к. чипы эти дорогие то следовательно у меня цель - перепрошить чип для повторного использования.
    При попытке подключения МК к MiniProg он определяется, но при чтении выдает пустую память (FF).
    При попытке записать бит он его пишет и читает. После чтения на программаторе уже 2 чипа вайпнутые (пустые) лежат! Подскажите, что происходит? Алгоритм самозащиты от чтения прошивки? Как возможно подключить МК к программатору обойдя выполнение кода вшитого в него?
     
  2. Unixon

    Unixon Оракул Модератор

    Фьюзы, локи?
     
  3. ByteFun

    ByteFun Guest

    [Fuse Low Byte]
    CKDIV8=0
    CKOUT=1
    SUT1=0
    SUT0=0
    CKSEL3=0
    CKSEL2=0
    CKSEL1=0
    CKSEL0=0
    [Fuse High Byte]
    RSTDISBL=1
    DWEN=1
    SPIEN=0
    WDTON=1
    EESAVE=1
    BODLEVEL2=1
    BODLEVEL1=1
    BODLEVEL0=0
    [Extended Fuse Byte]
    SELFPRGEN=1
    [Lock Bit Byte]
    LB2=0
    LB1=0

    В софтине везде указано значение=0, только галки проставляются. Где указал =0 - там галка.
    Дело в том, что я его как в программатор вставляю - так уже читаются FF.
     
  4. Unixon

    Unixon Оракул Модератор

    Это прочитано из контроллера?
     
  5. ByteFun

    ByteFun Guest

    Да. Произвел чтение сегмента данных, кода, фьюзов и лок-битов.
     
  6. ByteFun

    ByteFun Guest

    Так-же имеются чипы на PIC МК (12F683), и так-же чистятся после попытки чтения на программаторе.
     
  7. ByteFun

    ByteFun Guest

    Разобрался я с "защитой от копирования". При активных лок-битах при попытке чтения он чистится как и положено. Если при первом чтении заранее прошить лок-биты на нули то сегмент данных стащить можно, а вот сегмент кода все равно чистится. Как обойти?
     
  8. ANV

    ANV Гуру

    Вы уверены что чип сам себя чистит, не просто отдает нулевые данные при установленных битах?

    При установленных битах защиты прошивка считывается открыванием микросхемы, а там уже по обстоятельствам - перерезание проводников, подключение к шине данных и пр.
    Дорого, но вполне реализуемо.
     
  9. ByteFun

    ByteFun Guest

    Эксперементировал с лок-битами. Записал определенные значения и попробовал считать при залоченом чипе - чисто. Попробовал заранее прошить локи на нули - данные остаются, код - чисто.
     
  10. Unixon

    Unixon Оракул Модератор

     
  11. ByteFun

    ByteFun Guest

    Прочел подробней про лок-биты. Раньше с МК вообще дел не имел, только заказал себе Ардуинку для саморазвития. Приношу свои извинения за ввод в заблуждение. Я действительно перед опытами очистил один чип и после этого игрался с лок-битами. Прочел статью на хабре - лок биты на ПИКах возможно обойти только вскрыв корпус микрухи и засветив под УФ область фьюзов. Интересно, как на аппаратном уровне реализована процедура обнуления лок-битов путем полной чистки памяти? И последний "тупой" вопрос - возможно ли снять лок-биты путем частичной очистки, не прибегая к раскопкам кремния?
     
  12. ANV

    ANV Гуру

    Производитель делал защиту не для того, чтобы Вы случайно не считали свои собственные исходники, а для того чтобы "китайцам" и "радиолюбителям" было дешевле написать свой код, чем считывать чужой. У Atmega и PIC защита детская,по деньгам будет около $3-10К.
    Некоторые микросхемы, кажется 16F84, можно было считать "вогнав в ступор" лок-биты внешними электрическими воздействиями. Но это потом исправили.