Перейти к содержанию

Vladsilver78

Продвинутый
  • Постов

    25
  • Зарегистрирован

  • Посещение

  • Победитель дней

    2

Vladsilver78 стал победителем дня 16 мая

Vladsilver78 имел наиболее популярный контент!

1 Подписчик

Информация

  • Город
    Павлово
  • Имя
    Владислав
  • Страна
    Russia

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

Достижения Vladsilver78

Пользователь

Пользователь (2/3)

22

Репутация

  1. ИМХО. Тут немного иначе. Не нужно никаких таблиц. На заводе присваивается будущему прибору SN, следующий по списку производителя. Читается UID процессора конкретного прибора. Есть алгоритм, состоящий из логических и математических операций с использованием ключа/ключей. Пара SN +UID шифруется этим алгоритмом, а получившийся хеш записывается в прошивку при программировании прибора на производстве. Соответственно при пользовании прибором, программа запрашивает с него SN, UID и хеш, шифрует так же SN+UID и сверяет получившийся хеш с хешем выданным прибором. Если хеши совпали, работаем. А китайцы (и китайцы ли?) прописали в прошивку подменный UID, считанный с того оригинала, который клонировали, вместе с SN и хешем. Поэтому все прошивки ломаные отличаются только зоной SN+ хеш и областью где прописан UID. Ну и еще версией ПО, длинной и контрольной суммой этого ПО. А таблица одна, это несколько SN, подлежащих блокировке. Раньше это было в прошивке, сейчас в программе. Раньше, несколько блокированных номеров были в прошивке и в ней же шла проверка. Сейчас все в программе, точнее в библиотеке sm2lib.dll. Список этот слегка закодирован.
  2. К сожалению так просто не получится ничего. В оригинальной прошивке SM2 программа считывает UID проца из регистра по адресу 0х1ffff7e8h, где он одноразово прописан. Читаются пять байт (по крайней мере до 32й прошивки включительно). Пятый байт (обычно 0х43h) примешивается к четырем другим и передается вместе с SN (4е байта из адреса 0х00000180h) и зашифрованным хешем (4е байта из адреса 0х00000184h) программе на компе/телефоне. Программа проверяет SN по списку блокированных номеров, если все ок, то проверяет соответствие UID и SN хешу по специальному алгоритму, если тоже ок, то работаем дальше, иначе ошибка. То есть под каждый SN и UID свой хеш, прописан на заводе. Смени хоть бит, проверку не пройдет. В китайской, ломанной прошивке, любой публично известной версии, вместо чтения регистра UID, прописана ссылка на адрес во флешь 0х000028e8h, в котором прописаны эти самые пять байт UID под серийный номер и хеш из адреса 0х00000180h и 0х00000184h. Этим самым отвязывается прошивка от конкретного проца и работает на любом клоне. Чтоб сделать самообновляемую, неблокируемую версию клона, необходимо знать алгоритм расчета/проверки хеша. Он находится где то в программе. Я его пока не нашел. А вот Death0505, походу разобрался с этим. Тем самым можно придумать свой SN и под UID своего клона сгенерить правильный хеш. Прописать все это в прошивку, скорректировать измененные адреса, переход в подпрограмму обновления и радоваться.
  3. Что меня и удивило, это совсем другой формат части UID проца, использованного в прошивке. UID STM32 имеет 12 байт. В нашем случае для защиты используется 4 первых и последний байт. Для номера A78730 - часть UID 05 D9 FF 38 xx xx xx xx xx xx xx 43; для A62122 - 05 D8 FF 33 xx xx xx xx xx xx xx 43; а для A111788 - 32 47 F6 9E xx xx xx xx xx xx xx 43. В моем SM2PRO Clone UID 05 ХХ FF ХХ xx xx xx xx xx xx xx 43. И этот формат для всех STM32 схожий. А в A111788 походу совсем уж непонятный клон проца стоит. Или кто то научился его генерить под SN и хеш, что маловероятно.
  4. Да, конечно. Как и ожидалось байт в байт с известной прошивкой 22й версии, свободно гуляющей по просторам бескрайним.
  5. Смешались в кучу, кони, люди... Вы все путаете. Есть защита от чтения. В ST-Link Utility она активируется/деактивируется в меню Option Byte, сверху слева выпадающее окно. Если вы его установили в Enable и нажали применить, включается защита от чтения памяти. При повторном коннекте с этим процессором ST-Link Utility выдаст предупреждение, что включена защита от чтения RDP. Содержимое памяти не отобразиться и невозможно ее будет считать и записать тоже. Необходимо опять зайти в настройки Option Byte и поставить Disable в том же месте. При этом содержимое памяти сотрется и станет доступным для чтения и записи. А галочки, это защита от записи блока памяти. Их несколько. Можно защитить от случайной перезаписи конкретный блок или всю Flash память. Если попытаться перезаписать эту область, где стоит галочка, программа ST-Link Utility выдаст предупреждение о невозможности этого. Но программа, которая находится в памяти процессора, может снять эту защиту и перезаписать эту область. Поэтому эти галки от лукавого. Ссылка в сообщении. Там все есть. Если какие сложности возникнут, отвечу, помогу. На втором фото резистор 1 с чем то килоОм, припаян к разъему программирования 3,3в, от него проводник на BOOT1. Штатно там стоит 10к на массу, не стал убирать, хватило.
  6. Нужен не только ST-Link, а еще одна платка и немного волшебства. А так да, можно считать прошивку с STM32F1xx, даже если стоит защита от считывания.
  7. Давеча решил потешить забавой себя новой. Соратник мой притащил "sm2 pro clone" - чудо китайское. Не шитое ни разу, только синезубом крещенное. Грит: сделай мне кудесник, чтоб сие короб на "андроиде 14" пахало, аки конь, силы невиданной. Дык че ж не помочь дружбану то закадычному. И нитки то 31го калибру имеються, та станок ткацкий где то запылился, та и крестиком вышивать приходилося. Но шить прежде чем начить, захотелося мне из чуда энтого, китайского, ливер повыковыревать, забавы ради. А потрошки то те, за защитою тотемною оказалися. Хрен тебе грят моржовый, а не ливерочки наши. Но тут друзья заморские пособили, умные дела понатворили: "https://github.com/CTXz/stm32f1-picopwner". Повторил я деяния ихние и успех получил нешуточный. Душеньку свою порадовал. А соратничек мой тоже доволен остался. Коня нового выгуливать будет, пахать на "андроиде 14ом", аки на пегасе! Така сказка получилася. Захочет кто, тоже потешить себя забавой эдакой, как говориться - добро пожаловать! Постскриптум: Пора охоту открывать, весеннюю, на "Ори"!))
  8. Возможно у Вас в архиве более старая версия прошивки, которую выдали за V31. Я скачать не могу, чтоб сравнить. Напишите мне в ЛС. Возможно смогу чем помочь.
  9. Это вовсе не критика. Просто я описал это, так как вижу сам. Может кому то поможет избежать лиших вопросов и сомнений... где ставить галки, как отключить обновление и т.д. Я к тому, что нет необходимости лишних телодвижений при прошивке, пока.
  10. Процессор ничего не знает про обновления. У него есть Flash-память, которую можно прочитать, стереть, записать в нее что либо. Есть регистр(ы), который(е) ограничивают эти возможности в целях безопасности ПО и данных в том числе. Программируя биты этих регистров в нужной комбинации, тем самым разрешается или запрещается чтение памяти, ее стирание и запись (вместе стирание+запись=перезапись). Причем ПО в памяти процессора тоже имеет доступ к этим регистрам. Но в нашем случае, никаких проверок в ПО SM2 нет. Все работает в любом случае. Пока. А что лучше, каждый решает сам.
  11. Ну тогда еще варианты: Прошили не той прошивкой или вовсе не прошили. Если ставилась 32я версия ПО, а потом вернули 31, возможно остались драйвера и\или другие компоненты, которые блочат клон.
  12. Какие фьюзы в STM? Если имели ввиду защиту от перезаписи, то это не принципиально. Я не ставил, все работает. Версия ПО на компе\телефоне должна быть 31. 32я блочит клон.
  13. В 31ой версии, а может и раньше, что то намутили с драйверами. Теперь USB логгер не видит поток. На 23 и 22 все хорошо видно. Да, все верно. Кое какие изменения я нашел. Но видимо не все. Все равно нет обновления. Была бы прошивка с ори, можно было бы разобраться.
  14. Hyundai Tucson (JM) 2,0л, 2008г., SIMK43, full из ECU AM29F400. В некоторых версиях прошивок данный блок может начинаться с адреса 0х00006000h. Пин в явном виде 431157.
×
  • Создать...