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

UniSoft

Свой
  • Постов

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

  • Посещение

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

    4

Сообщения, опубликованные UniSoft


  1. 18 minutes ago, Restorer said:

    Я думал там SHA. Интересно, приватный ключ один или для каждого устройства генерится на заводе.

    Ну да, там и есть SHA-1... цифровая подпись ведь так и работает...

    Хэш данных шифруется несимметричным алгоритмом шифрования (обычно RSA, либо ECC).

     

    26 minutes ago, Restorer said:

    Интересно, приватный ключ один или для каждого устройства генерится на заводе.

    естественно один.

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

    И соответствено, в прошивке (да и в dll'ке) лежит публичный ключ для дешифровки и проверки этой подписи.

  2. 1 hour ago, Restorer said:

    Судя по даташиту на LPC43xx Unique ID с нового микроконтроллера можно прочитать:

    Конечно можно прочитать, только зачем?

     

    1 hour ago, Restorer said:

    Только надо потом понять как его использовать при расчёте Signature, правильно я понимаю?

    не правильно понимаете.

    Есть цифровая подпись (алгоритм RSA2048) и ею подписаны серийный номер и Unique ID.

    Подписать свои SN и Unique ID вы не сможете... потому, что нет приватного ключа.

    Вот потому и приходится делать патч, подменяющий Unique ID в рантайме.

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

    Подпись и Unique ID также считывается и проверяется самой dll'кой.

  3. 1 hour ago, Restorer said:

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

    Там не все так просто!

    Если сохранили серийный номер и uniqueID контроллера, то есть возможность сделать клон... вот только это будет клон а не оригинал, со всеми вытекающими!

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

    Ну и если так принципиально склонировать с тем же SN, то придется заменить в этой прошивке: SN, SN_Checksum, Signature на свои (с этим не сложно), а вот найти где лежит uniqueID для подмены будет не просто, придется дизассемблировать и изучать.

     

  4. 13 hours ago, Akakiy said:

    Скачавшие v12 bootloader, что скажете, дальнейшая конвертация v10 -> v11 -> v12 возможна или защита усложнена?

    Еще не ковырял его.

    Но вот что сразу заметил, так это то, что они задействовали уровень защиты CRP3 (ранее был CRP1),

    а это значит, что прошить его через USART - более невозможно (просто не войдет в ISP boot mode).

    Quote

    CRP3 0x4321 8765

    This is similar to CRP2, but ISP entry by pulling P2_7 LOW is disabled if a valid user code is present in flash sector 0.
    This mode effectively disables ISP override using the P2_7 pin. It is up to the user’s application to provide for flash updates by using IAP calls or by invoking ISP.
    Caution: If CRP3 is selected, no future factory testing can be performed on the device.

    Потому не рекомендую с ним особо заигрывать, в случае слета, возможности его восстановить нету.

    JTAG/SWD - отключен (при любом CRP).

    Ранее (при CRP1), хотя-бы можно было войти в ISP бут режим (установив низкий уровень на ноге P2_7), где был доступен ограниченный набор команд (включая полное стирание, а следовательно и снятие защиты).

    С V12 про это можно забыть. 

    • Upvote 2
  5. 16 minutes ago, Akakiy said:

    Просто в readme_ru.txt на это нет указаний.

    Потому и нету.

    Если нужно, то вот...

    Но исключительно на свой страх и риск!

    Spoiler

    У меня нет всех версий бутлоадеров, а потому и нет гарантии, что все сработает как надо.

     

    В версию 11

    JLinkTool.exe --to11 --dumponce --dump 1A000000 80000 ROM_1A000000_80000_V{V}_SN{S}.bkp --pause

     

    В версию 10

    JLinkTool.exe --to10 --dumponce --dump 1A000000 80000 ROM_1A000000_80000_V{V}_SN{S}.bkp --pause

     

    24 minutes ago, Akakiy said:

    Не будет большой наглостью попросить поделиться?

    Так это не у меня нужно просить...

    • Upvote 1
  6. 18 hours ago, Akakiy said:

    Владельцам JLink v12 пока не удалось считать загрузчик ?

    Считали

     

    14 hours ago, Akakiy said:

    Коллеги, а у нас здесь была инструкция по перепрошивке Jlink v10 в v11 ?

    Моя утилита позволяет, но если это клон, то с большой вероятностью он помрет, патч не справится с новой версией.

  7. 27 minutes ago, Azlina said:

    внутри ничего нового, проц тот же.

    Так это версия V11, там так и написано...

    По расположению дорожек (с данной стороны) и компонентов - один в один с версией V10.1 (мой EDU)... 

    Видимо только программно отличается.

     

    30 minutes ago, Azlina said:

    Утилита от UniSoft его не берет, пишет что поддерживает железо V.10  и V.11 только.

    У меня его не было, соответственно и поддержки нет.

  8. On 2/16/2023 at 9:20 AM, Genady said:

    Программатор собран на основе lpc4322jet100 , есть площадки для программирования (10 пинов), но где какие пины мне не понять , нашел только три пина nRST , земля и 3v3 ....

    Не заморачивайтесь, обычно там стоит защита, а следовательно JTAG\SWD отключен.

    Вот что говорит даташит

    Quote

    In level CRP1, access to the chip via the JTAG is disabled. Partial flash updates are
    allowed (excluding flash sector 0) using a limited set of the ISP commands. This level
    is useful when CRP is required and flash field updates are needed. CRP1 does
    prevent the user code from erasing all sectors.

     

    On 2/17/2023 at 4:48 AM, Genady said:

    UniSoft где то тут на форуме утверждает что можно перепрошить с помощью FlashMagic но как это конкретно сделать не нашел.

    Так это единственный способ, иначе я бы не стал так заморачиваться и воспользовался JTAG/SWD (но, как уже написал, он отключен).

    Как это сделать описано в документации на контроллер.

     

    On 2/17/2023 at 4:48 AM, Genady said:

    В моем же случае устройство в каком то странном режиме, ни какой софт его не видит. Устройство определяется как  LPC-Link-II и на этом все ,я не нашел ни чего что бы до него достучалось.

    У них там свой бутлоадер...

     

    On 2/17/2023 at 9:28 AM, Genady said:

    при попытке поменять какие то параметры в  J-LINK Configurator v 7.56 ( например включить встроенный COM порт ) после перезагрузки он стабильно уходит в режим DAP , при этом получается не включить в нем  COM порт, ни поменять какие то параметры  нельзя. Кто знает что бы это  значило? 

    Очевидно, кривой бутлоадер (вероятно использует ту же область памяти, где хранятся настройки).

     

    On 2/17/2023 at 9:28 AM, Genady said:

    Кстати UniSoftая утилитка его теперь видит но на --test отвечает:

    Видимо еще и сам патч кривой.

    Один из методов патча (из тех, что я видел, как раз, последний) основывается на подмене вектора прерывания MemFault и настройкой MPU (Memory Protection Unit).

    При настройке MPU там нужно добавить все используемые страницы памяти. Ну кроме той, где лежит уникальный серийный номер.

    Так при попытке его считать и возникает исключение (прерывание), которое собственно и обрабатывается как нужно.

    Подозреваю, что доступ к памяти (0x10080000) сконфигурировали неверно, ну либо вообще забыли.

     

    PS: Не имея дампа на руках, я могу только предполагать и гадать.

  9. On 1/10/2023 at 12:43 AM, Xenia said:

    ...думала, что внутри стоят двухбитные 2Т45 - для такого программатора схема у меня есть, а когда вскрыла корпус, то обнаружила подмену - все 2Т45 заменили на SN74ALVC164245 - а для такого программатора схему нигде не сыщешь.

    Это чисто китайский клон... схему на него не найдете.

    On 1/10/2023 at 12:43 AM, Xenia said:

    Тогда как в экземпляре неизвестной конструкции установлены 2 штуки SN74ALVC164245,  у каждой (!) из которых по 16 бит, что в сумме дает 32 бита. Нафига так много-то? Почему одной штуки SN74ALVC164245 для этих целей не хватило? А если уж две отдельных микросхемы захотелось поставить, то почему бы не выбрать скажем 8-битные, которые дешевле и не так много места на плате занимают, как эти гиганты?

    там всего несколько буфферов задействовано в каждом.

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

    Тут ключевое слово - КИТАЙСКИЙ... слепили из того, что было...

    On 1/10/2023 at 12:43 AM, Xenia said:

    что в сумме дает 12 бит (6х2=12).

    каких 12? там всего максимум 8 сигналов выходят на разъем, и некоторые включены парралельно, ну т.е. на ввод/вывод.... и некоторые работают либо как вход, либо как выход.

    On 1/10/2023 at 12:43 AM, Xenia said:

    когда перед мной две микросхемы с 48-ю ногами каждая, то искать, куда каждая из 96-ти дорожек идет,  работенка не малая.

    там либо на контроллер идет, либо на выход... проблем вызвонить нету...

    On 1/10/2023 at 12:43 AM, Xenia said:

    P.S. Мне это устройство нужно не как программатор, а как средство вывести 1 байт из компьютера наружу в виде шины.

    там такой возможности нет... JTAG/SWD/... - это серийные интерфейсы...

    On 1/10/2023 at 12:43 AM, Xenia said:

    В итоге я прикинула и решила, что купить эту штуку будет  дешевле,

    Зря так решили! оно совершенно не подходит для этих целей.

    On 1/10/2023 at 1:52 AM, Xenia said:

    Такого рода решение не устроило меня тем, что вариант микросхемы, висящей на проводках, меня категорически не устраивает. Т.е. требование, чтобы конструкция имела корпус и товарный вид стоит предельно жестко и пересмотру не подлежит. Тогда как если я стану заказывать изготовление печатной платы под FT2232, включая USB-разъем для соединительного кабеля с компьютером и разъем для внешней параллельной шины, включая кабель к нему, а затем стану заказывать изготовление корпуса под эту плату, причем такого, в котором для разъемов были бы предусмотрены сквозные отверстия, то я буквально разорюсь, всё это заказывая.

    зачем? Все есть уже готовое... и стоит не на много дороже.

    https://aliexpress.ru/item/32944486685.html?sku_id=66180610257

    On 1/10/2023 at 4:31 AM, Xenia said:

    т.к. его можно запрограммировать (STM32F205 внутри!) под собственный протокол, чтобы он имел из компьютера вид виртуального COM-порта, выполняя заодно кое-какие "интеллектуальные" функции, тогда как FT2232HL в этом смысле тупая :).

    если копнете чуть глубже, то удивитесь на сколько гибкая FT2232HL... на ней и UART и SPI/I2C можно реализовать (даже готовые библиотеки имеются на сайте), да и все, что угодно...

    Кодить (на PC) под нее тоже очень просто.

  10. 20 hours ago, Galf said:

    Уважаемый UniSoft, у меня сейчас есть два бутлоадера, один бут, JLink-V9-6.14e.hex  дал мне продавец с Али, а второй бут, bootloader.bin я скачал с https://github.com/Kevincoooool/KS_Diy_Link. Я не знаю какая между ними разница. Не могли бы вы подсказать, в чем суть каждого из них, чем они друг от друга отличаются и каким из них лучше прошиваться

    bootloader.bin это оригинальный бутлоадер, второй файл - хрень какая-то самописная.

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

    • Upvote 1
  11. 2 hours ago, Galf said:

    Я не совсем понял, как пользоваться командой Exec AddFeature

    Так?        Exec AddFeature RDI

    так, только не нужно вам это... 

    у вас уже все 5 лицензий установлены.

    добавив любое несуществующее, получите defected, без возможности удаления.

     

    2 hours ago, Galf said:

    Или так? Exec AddFeature License_RDI_V0_S55555555_E0_Kb48699f8

    для лицензий из кейгена нужно использовать JLinkLicenseManager.exe, так лицензии сохраняются в реестре а не в самом JLink'е

    • Upvote 1
  12. 1 hour ago, chardash said:

    как я понимаю, раз на той версии работал, то оттуда можно dll. взять и в теории должен пройти проверку

    не важно какую dll вы возьмете, бутлоадер все равно не даст понизить версию прошивки. Ну и некоторые прошивки теперь уже лежат в отдельных файлах и в том числе: .\Firmwares\JLink_V11.bin 

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

    invalidatefw помогло бы, если бы коннект проходил, но процедура подключения к j-link'у использует некоторые команды, которые не поддерживаются бутлоадером (их там нет), а любая неизвестная бутлоадеру команда заводит его в бесконечный цикл, и он перестает как-либо отвечать. Уж не знаю, они это сделали преднамеренно или просто так получилось... 

    Вот потому вы и видите ту самую надпись: "Connecting to J-Link via USB..." и все... парам-парам-пам!

     

    2 hours ago, chardash said:

    Я еще не пррбовал заменять версии в dll, как сейчас понимаю, к выводу из bootload это не приведет.

    Я попробовал на своем, прошился без проблем.

    если нужно вот: https://mega.nz/file/Ah8SGYCC#VfBVxJLw39h6_muKoqOqZFM2XdfozJQkkhpIswfzOFc

    Пока изучал ваш дамп за одно нашел почему и мой патч с V11 не работал... поправил и перешил в V11...

    моя утилита позволяет конвертировать V10<->V11, но я эти опции не стал документировать, убивали мой клон, теперь вот знаю почему.

  13. 18 hours ago, chardash said:

    А, теперь понял, как это работает

    Посмотрел я ваш дамп,

    у вас использовали несколько иной подход. В общем работает он так:

    кастомный бутлоадер патчит пару векторов в прошивке: HardFault_Handler и MemManage_Handler, а также настраивает MPU, где ставит запрет на доступ к памяти 0x10400100...0x1040011F (это точка входа в IAP). Таким образом при первом же обращении к IAP, сработает исключение (один из тех самых подмененных векторов), а там в обработчике прерывания отключается MPU и настраивается FlashPatch, таким вот образом они обошли обнуление FlashPatch.

    Но беда вот в чем, теперь девелоперы добавили проверку векторов (считают SHA256 всего, даже дату, все кроме 3 байт месяца),

    с этим вообщем-то и связан вылет в бут режим.

  14. 6 hours ago, chardash said:

    Сейчас откатил все до 6.32H, но теперь и commander не видит программатора

    думаю, надо DLL использовать более свежую

    Так у вас версия V11 а не V10...

    Не помните какая последняя версия у вас работала?

    Старые версии вам ставить нет никакого смысла, они ничего не знают про V11 (его тогда еще не существовало), поэтому и ничего не делает, потому-что попросту не распознает его.

    Соответственно и комплект восстановления также не поможет, он только для V10.

    Можно конечно попробовать заменить в dll строки "J-Link V10 " на "J-Link V11 ", тем самым залив прошивку от V10, и уже потом сделать invalidatefw  в последней рабочей версии.

    Я не знаю с какой именно версии появилась поддержка V11, надо ее искать и патчить, но это очень не просто, в ней прошивки уже упакованы.

    Гляну дамп, может что еще добавлю.

  15. On 8/20/2022 at 3:08 AM, chardash said:

    Закирпичил клон v10.

    Как именно?

     

    On 8/20/2022 at 3:08 AM, chardash said:

    Решение из цитаты выше не видит устройства по usb.

    Должно видеть! Вы же сами пишете: "прогресс бар бежит"...

     

    On 8/20/2022 at 3:08 AM, chardash said:

    при подключении говорят firmvare отсутствует, обновлять пытаются, прогресс бар бежит, но ничего не происходит

    Про это я уже писал, bootloader сравнивает версии и если она ниже или равна той, что уже прошита в jlink'е,

    то данные принимаются в холостую, без реальной записи во Flash. 

    "exec invalidatefw" выполняет ту же процедуру прошивки, только проделывает маленький трюк, переводит месяц в верхний регистр.

    ну т.е. вместо "J-Link V10 compiled Jul 22 2022 11:40:29" сделает "J-Link V10 compiled JUL 22 2022 11:40:29"

    тет самым форсирует процесс записи.

     

    On 8/20/2022 at 3:08 AM, chardash said:

    Подозреваю Flash Patch уже обнулен стараниями сеггера. Может быть подскажете куда копать?

    Что значит уже обнулен?

    в клоне есть кастомный код - патч (в бутлоадере), который собственно и настраивает FlashPatch,

    а затем стартует прошивка, которая (начиная с версии 6.32i) и обнуляет эти регистры,

    далее проверяется сигнатура, и соответственно проваливается (ведь uniqID не подменился),

    ну и уходит в boot mode.

    Куда копать спрашиваете?

    Ну причины этого просты:

    1. Более новая версия прошивки, которая обходит/дезактивирует патч. (Я не могу знать какие еще есть патчи, я видел и разбирал только тот, что бы у меня в клоне).

    2. Повреждена сигнатура

    3. Поврежден серийный номер либо его контрольная сумма.

    ---

    Решения:

    пункт 1, обходится понижением прошивки (но нужно форсировать запись, увеличив например год),

    остальные 2 не имеют простого решения, кроме как полной перепрошивкой...

     

    Две страницы назад я выкладывал свою утилиту, можете запустите exe без параметров, что она напишет?

    Она проделывает все те-же проверки, что и в jlink, и выводит инфу, может что станет более понятно.

    Ну и дамп можете снять (мой email есть в readme).

     

    18 hours ago, Galf said:

    Ещё раз внимательно прочитал форум.

    "В драйверах v7.58d, наличие Built-in лицензий RDI или JFlash приводит к
    предупреждению "The connected probe appears to be a J-Link clone"
    для J-Link V9, V10 и V11 с серийным номером из диапазонов
    26x`xxx`xxx, 5x`xxx`xxx и 82x`xxx`xxx, а также, для J-Link OB V1 с
    серийным номером из диапазона 80x`xxx`xxx. Для J-Link V10 и V11
    серийные номера из диапазона 80x`xxx`xxx амнистированы."

    Это относится к V10 и выше...

    Для V9 можно вообще не заморачиваться, там особо нет никаких ограничений...

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

  16. Если кому нужно, написал утилиту...

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

    Что может:

    + позволяет слить полный дамп, как с оригинала (LPC4322), так и с клонов (LPC4337).

    + стереть\записать OEM штамп и встроенные лицензии. (избавиться от EDU, ну либо вернуть EDU)

    + сгенерировать и\или добавить лицензии, в любой из трёх путей (OTS, Config, Registry)

    https://mega.nz/file/g50FTbbT#u5U6o_PXUFCawGhKprBAh1Hwt1-9B9yyfbpN-Jg6IPI

    пaсc: electronix.ru

     

    Все операции вы делаете на свой страх и риск!!!

    Обязательно сохраните дамп, прежде чем что-либо делать!

    Хотя все операции итак сохраняют бэкап.

     

    On 7/20/2022 at 8:22 PM, Berger said:

    С тех пор и драйвер, и прошивка неоднократно обновлялись. Я думаю последнее обновление fw было с версии драйвера 7.52 (до версии 7.56 прошивка версии hw не обновлялась, в версии 7.58 пришли с новым обнаружение клоном

    Если не трудно, скиньте дамп на почту (смотрите в readme.txt), 

    я посмотрю, что там такое.

    • Like 1
    • Upvote 3
  17. On 7/29/2022 at 4:35 AM, AllHand said:

    Есть одна софтина называется EDUReviver позволяющая удалить лицензии установленные на J-Link EDU

    Программа при работе отправляет данные вашего Jlink на сервер и в зависимости от ключа с которым запущена скачивает с сервера разные данные которые и загружаются в Jlink 

     

    Эта софтина отсылает китайцам UID и сигнатуру вашего J-Link'а,

    после чего они могут делать клоны с вашим серийным номером. :biggrin::clapping:

  18. On 7/20/2022 at 2:19 PM, Berger said:

    Я регулярно обновлял свой китайский клон, включая обновления прошивки до jlink v7.56.

    есть такие клоны, как мой, которые либо не используют FlashPatch, либо используют его таким образом, что он работал до версии драйвера и прошивки 7.56

    Ну если обновляли, значит у вас более новая версия патча. Как именно она работает, не знаю, не видел (нет ни дампа, ни самого такого клона).

    У меня свой патч. Я знаю несколько путей решения, как с использованием FlashPatch, так и без.

    Но дело не в этом.

     

    В вашем случае, никакого восстановления не нужно и не требовалось и нет никаких проблем с обновлением прошивки JLink.

    Достаточно было просто откатить драйвера назад до версии 7.56d (в более поздних версиях проверка в самой dll!!!)

    Никто не мешает поставить новые драйвера, обновить прошивку JLink, затем откатить драйвера до 7.56d.

    комплект для восстановления нужен только для первой версии патча

    и для вывода JLink из BOOT режима (красный светодиод моргает).

     

  19. On 7/12/2022 at 5:56 PM, Berger said:

    Под этим вы подразумеваете использование LPC4337 (in original  LPC4322) ?

    FlashPatch есть во всех контроллерах Cortex, но может быть отключена производителем.

    Почему LPC4337 я уже писал тут.

     

    On 7/12/2022 at 5:56 PM, Berger said:

    Насколько мне известно, в последнем раунде обнаружения клонов была введена только проверка комбинации лицензий SN и аппаратной активации.

    Отключение FlashPatch (в самой прошивке!) было введено начиная с версии 6.32i

    Потому версия 6.33h является самой последней, которая не имеет отключения FlashPatch.

    И да 6.33h (нечётное!), это BETA версия и она старше, чем 6.32i

     

    On 7/12/2022 at 5:56 PM, Berger said:

    Если я правильно помню, ваш модифицированный драйвер содержит «JLinkARM.dll v6.33h», а в прошивке дата изменена на «Прошивка: J-Link V10, скомпилированная 27 июня 2028 г., 10:57:29».

    Вы наверное изменили дату с 2018 на 2028 (6.33 это с 2018).

    Еще раз, версия 6.33h самая последняя, которая содержит прошивку не имеющую отключения FlashPatch.

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

     

    On 7/12/2022 at 5:56 PM, Berger said:

    В любом случае было бы неплохо отредактировать 7.56d из [2021-10-29], я предполагаю, что 7.56d охватывает три года более новую прошивку...

    Ну отредактируйте, если больше нечем заняться, но результат я уже описал - получите кирпич. 

×
×
  • Создать...