Дизассемблирование прошивок - Страница 13 - ChipTuner Forum

Прошивки Hyundai SIM2K от Strit   Прошивки Magneti Marelli VAG от Art-Pro   Прошивки Peugeot/Citroen от Art-Pro   Прошивки Kia SIM2K-241 от Strit

 

Дизассемблирование прошивок

Добро пожаловать!

Добро пожаловать на ChipTuner Forum.

Регистрация
  1. Аватар для AKAmasol offline

    AKAmasol Местный житель
    Электронщик

    Регистрация:
    31.10.2013
    Сообщений:
    101
    Адрес:
    Россия, Казань
    #361 AKAmasol, 06.05.2023 21:05
    У меня IDA 6.8. Как там будет с версией посвежее - не знаю.
     

    Вложения:

    • Тип файла: zip
      st10.zip
      Размер файла:
      122.0 Кб
      Просмотров:
      23
  2. Прошивки Niva Travel/Legend M74.8 Прошивки Lada Niva M74.8+
  3. Аватар для russian_98g offline

    russian_98g Посетитель
    Авто-слесарь

    Регистрация:
    15.12.2020
    Сообщений:
    3
    Адрес:
    Белгород
    #362 russian_98g, 09.05.2023 12:37

    Спасибо
     
  4. Аватар для vento702 offline

    vento702 CTTeam
    Диагност

    Регистрация:
    26.06.2014
    Сообщений:
    11,450
    Адрес:
    Ярославль
    #363 vento702, 16.05.2023 22:21
    Код:
    mov     [-r0], r12
    После этой инструкции значение регистра r0 остаётся прежним или уменьшается на 2?
     
  5. Аватар для bidipro

    bidipro Ветеран
    разнорабочий

    Регистрация:
    25.09.2015
    Сообщений:
    1,235
    Адрес:
    Усть-Каменогорск
  6. Аватар для vento702 offline

    vento702 CTTeam
    Диагност

    Регистрация:
    26.06.2014
    Сообщений:
    11,450
    Адрес:
    Ярославль
    #365 vento702, 16.05.2023 22:40
    Это я понял, что в отличии от [r0+] уменьшается не после, а перед.
    Я затупил, уменьшается только для выполнения инструкции или навсегда. Спасибо Артём.
     
  7. Аватар для bidipro

    bidipro Ветеран
    разнорабочий

    Регистрация:
    25.09.2015
    Сообщений:
    1,235
    Адрес:
    Усть-Каменогорск
    #366 bidipro, 16.05.2023 22:54
    Второе.

    Сам тупил недавно над DIV1, в итоге просто код скопировал с даташита.
     
  8. Аватар для vento702 offline

    vento702 CTTeam
    Диагност

    Регистрация:
    26.06.2014
    Сообщений:
    11,450
    Адрес:
    Ярославль
    #367 vento702, 16.05.2023 22:59
    Бывает. Блин, я до сих пор не изучил написание скриптов, так и вычисляю в уме или в блокноте какое текущее значение у R0.
     
  9. Аватар для bidipro

    bidipro Ветеран
    разнорабочий

    Регистрация:
    25.09.2015
    Сообщений:
    1,235
    Адрес:
    Усть-Каменогорск
    #368 bidipro, 16.05.2023 23:20
    С сокетами разбирался, чтобы подружить IDA c программой по отображению 3D карт написанной на C#.

    Думаю еще эмуляцию последовательных каналов сделать, чтобы можно было связать сканер/загрузчик с отладчиком и для работы с образом внешнего еепром.
     
  10. Аватар для vento702 offline

    vento702 CTTeam
    Диагност

    Регистрация:
    26.06.2014
    Сообщений:
    11,450
    Адрес:
    Ярославль
    #369 vento702, 19.05.2023 19:19
    Получилось у тебя с микасом 10.3 114?
    Я посчитал контрольку для 114 бута в твоём AbitM113Unprotect.bin
    Пробуй записать в 114.
    Занимался тут с абитом, вспомнил про твою тему.
     
  11. Аватар для vento702 offline

    vento702 CTTeam
    Диагност

    Регистрация:
    26.06.2014
    Сообщений:
    11,450
    Адрес:
    Ярославль
    #370 vento702, 20.05.2023 09:23
    AKAmasol, Удалил вложение, чот я не подумал над твоим авторством.
    Добро даёшь выложить?
    Нашёл у себя два микаса, проверил, работает.
    Один 114, другой был 113 переписанный в 114.
    Не знаю для чего понадобится снятие защиты в этом эбу, если только как донор проца.
     
  12. Аватар для AKAmasol offline

    AKAmasol Местный житель
    Электронщик

    Регистрация:
    31.10.2013
    Сообщений:
    101
    Адрес:
    Россия, Казань
    #371 AKAmasol, 20.05.2023 17:58
    С М114 не получилось, до сих пор пытаюсь с разных сторон подойти - пробовал область калибровок сплошь вызовами цикла заполнять:
    Код:
    calls   0, sub_B30
    Пробовал разобраться в том как целостность базового ПО считается, но не смог.


    AbitM113Unprotect.bin с ecusystems.ru - это первая версия открывашки. Код был взят с разрешения автора из AvtelUnprotect.bin (для М73) и адаптирован мной к М113.

    m10.3_02.32.096_callsFDE.bin - это вторая версия открывашки для М113 (была выложена здесь на 7 странице). Был использован код, заложенный Абит в bootloader изначально. Я его лишь в нужный момент вызвал:
    Код:
    calls   0, sub_FDE
    Для избежания путаницы на ecusystems.ru обновлю на вторую версию.
     
  13. Аватар для AKAmasol offline

    AKAmasol Местный житель
    Электронщик

    Регистрация:
    31.10.2013
    Сообщений:
    101
    Адрес:
    Россия, Казань
    #372 AKAmasol, 20.05.2023 18:01
    Я вложение и объяснение с нему выкладывал как раз с расчётом, что кто-нибудь заинтересуется и добьётся успеха.

    Не совсем понял какую именно контрольку Вы пересчитали.
    Снятие защиты нужно, чтобы в М114 можно было полноценную заводскую М113 записать без перепайки проца. Также в планах иногда Микас10.3 в Микас 11 аппаратно переделывать.

    Открывашки планировал свободно распространять изначально. Пересчёт контрольки - Ваша работа. Так что действуйте на своё усмотрение.
     
  14. Аватар для vento702 offline

    vento702 CTTeam
    Диагност

    Регистрация:
    26.06.2014
    Сообщений:
    11,450
    Адрес:
    Ярославль
    #373 vento702, 20.05.2023 18:08
    Тут я тебя несовсем понял.

     

    Вложения:

  15. Аватар для AKAmasol offline

    AKAmasol Местный житель
    Электронщик

    Регистрация:
    31.10.2013
    Сообщений:
    101
    Адрес:
    Россия, Казань
    #374 AKAmasol, 20.05.2023 18:11
    Выкладывайте. Если действительно с М114 удалось снять защиту, то это замечательно.
     
  16. Аватар для almi offline

    almi Admin
    Программист/реверсер

    Регистрация:
    02.06.2002
    Сообщений:
    20,326
    Адрес:
    Ярославль разработчик SMS-Soft
    #375 almi, 22.05.2023 12:02

    Успеха в чём? Блок изучен вдоль и поперёк, загрузчик к нему мы сделали вот уже лет как 15 назад.
    Читать софт оттуда тоже не представляет ни малейшей проблемы.
     
    Последний раз редактировалось almi; 22.05.2023 в 12:04.
  17. Аватар для AKAmasol offline

    AKAmasol Местный житель
    Электронщик

    Регистрация:
    31.10.2013
    Сообщений:
    101
    Адрес:
    Россия, Казань
    #376 AKAmasol, 22.05.2023 14:10
    Ваш софт (Combiloader) читает только калибровки М114, пишет калибровки \ базовое ПО по отдельности. Вкладкой М113 читает fulflash, пишет базовое ПО + калибровки в составе fullflash (тут могу ошибиться - может ещё и bootloader переписывает, но это вряд ли).

    Изначальный М114 в М113 переделать Вашим софтом нельзя.
    Защиту снять с МК (как у М73А\М11) тоже никак.

    То что Вы изучили вдоль и поперёк М10.3 - в этом никаких сомнений нет. Но клиентам своим Вы лишь некоторый базовый функционал по работе с этими ЭБУ предоставили. Понятно, что не каждому надо М114 в М113 переделывать или Микас 10.3 в Микас 11 или использовать ЭБУ как донор МК, но тогда сходные аргументы справедливы и для М73А\М11 - вот вам базовый функционал (flash пишет\читает, редактор ChipTuning Pro правит калибровки), чего ещё надо?
     
  18. Аватар для vento702 offline

    vento702 CTTeam
    Диагност

    Регистрация:
    26.06.2014
    Сообщений:
    11,450
    Адрес:
    Ярославль
    #377 vento702, 22.05.2023 14:24
    Алексей, тут речь не о вас, а о нас. Для нас, ну или для меня уже успех разобраться с пересчётом контрольки.
    Конечно в твоём понимании вопроса тут нет никакого успеха, это понятно. Для вас это обычное дело.
     
  19. Аватар для almi offline

    almi Admin
    Программист/реверсер

    Регистрация:
    02.06.2002
    Сообщений:
    20,326
    Адрес:
    Ярославль разработчик SMS-Soft
    #378 almi, 22.05.2023 17:29
    AKAmasol, вас понял.

    Процессор этих ЭБУ закрытый, а значит используем те возможности, которые предоставило ПО ЭБУ.

    Добавлено через 1 минуту


    Я всех, кто «умеет» призываю ковырять новые системы, которые не изучены. Собственно, я с намёком на это говорил.
     
    Последний раз редактировалось Lrsp; 23.05.2023 в 11:29. Причина: Добавлено сообщение
  20. Аватар для Lrsp offline

    Lrsp SMS-Soft
    инженер-программист

    Регистрация:
    21.06.2002
    Сообщений:
    6,548
    Адрес:
    МО
    #379 Lrsp, 23.05.2023 11:40
    Более чем достаточный для безопасной работы с ЭБУ. Не забывайте, что тех, кто читает документацию - менее доли процента. Туда лезут либо после пинка в этом направлении, либо после того как уже всё "положил". Учитывая что софт АБИТа ВСЕГДА закрывает за собой дверь, то шаг влево, шаг вправо - процессор на помойку.
     
  21. Аватар для AKAmasol offline

    AKAmasol Местный житель
    Электронщик

    Регистрация:
    31.10.2013
    Сообщений:
    101
    Адрес:
    Россия, Казань
    #380 AKAmasol, 23.05.2023 13:22
    Кстати. Вот fullflash M114 с правленным bootloader'ом:
    https://chiptuner.ru/forum/showthrea...light=ZAZ+Vida

    Нашёл одно явное отличие между считанным заводским BS12V120 версии 14
    Код:
    ROM:0000170A                 calls   0, sub_1676
    ROM:0000170E                 cmp     r4, #0
    ROM:00001710                 jmpr    cc_Z, loc_1738
    и правленным ("затёрт" условный переход)
    Код:
    ROM:0000170A                 calls   0, sub_1676
    ROM:0000170E                 cmp     r4, #0
    ROM:00001710                 nop
    Сам цикл что-то сверяет. Очередная контролька? Из-за неё правленный bootloader МК не закрывает?
    Код:
    ROM:00001676 sub_1676:                               
    ROM:00001676                                         
    ROM:00001676                 exts    #0, #4
    ROM:0000167A                 mov     r8, word_3FF0
    ROM:0000167E                 mov     r9, word_3FF2
    ROM:00001682                 mov     r6, word_210
    ROM:00001686                 mov     r7, word_212
    ROM:0000168A                 sub     r6, r8
    ROM:0000168C                 subc    r7, r9
    ROM:0000168E                 jmpr    cc_NZ, loc_1694
    ROM:00001690                 mov     r4, #1
    ROM:00001692                 rets
     
  22. Аватар для vento702 offline

    vento702 CTTeam
    Диагност

    Регистрация:
    26.06.2014
    Сообщений:
    11,450
    Адрес:
    Ярославль
    #381 vento702, 26.05.2023 00:49
    Я не думаю, что это контролька. По крайней мере ничего похожего на подсчёт я не увидел.
    Сверяются два DWORD. Контролька как бы подразумевает подсчёт и сравнение. А тут тупо два одинаковых записанных числа.
     

    Миниатюры:

      Нажмите на изображение для увеличения
Название: Снимокя.JPG
Просмотров: 310
Размер:	238.0 Кб
ID:	158382
  23. Аватар для AKAmasol offline

    AKAmasol Местный житель
    Электронщик

    Регистрация:
    31.10.2013
    Сообщений:
    101
    Адрес:
    Россия, Казань
    #382 AKAmasol, 26.05.2023 10:14
    Как руки дойдут, затру в bootloader'e BS11V106 версии 13 (M113) соответствующий условный переход и посмотрю - закроет или нет после этого МК.
     
  24. Аватар для AKAmasol offline

    AKAmasol Местный житель
    Электронщик

    Регистрация:
    31.10.2013
    Сообщений:
    101
    Адрес:
    Россия, Казань
    #383 AKAmasol, 26.05.2023 11:28
    Собственно сама проверка на открытость\закрытость МК расположена чуть раньше:
    Код:
    ROM:000016F6                 calls   0, sub_AAC
    Но это только проверка (чтение, подсчёт и сравнение), а не действия по включению защиты (запись):
    Код:
    ROM:00000AAC sub_AAC:                                
    ROM:00000AAC                                         
    ROM:00000AAC                 mov     r6, #1
    ROM:00000AAE                 exts    #0Eh, #1
    ROM:00000AB2                 mov     r4, 0DFB8h   // Flash non volatile access protection register 0 FNVAPR0 (0x0E DFB8) 
    ROM:00000AB6                 jnb     r4.0, loc_ABE
    ROM:00000ABA                 mov     r6, #0
    ROM:00000ABC                 jmpr    cc_UC, loc_AD0
    ROM:00000ABE
    ROM:00000ABE loc_ABE:                                
    ROM:00000ABE                 exts    #0Eh, #2
    ROM:00000AC2                 mov     r4, 0DFBEh   // Flash non volatile access protection register 1 high FNVAPR1H (0x0E DFBE) 
    ROM:00000AC6                 mov     r5, 0DFBCh   // Flash non volatile access protection register 1 low FNVAPR1L (0x0E DFBC) 
    ROM:00000ACA                 cmp     r5, r4
    ROM:00000ACC                 jmpr    cc_Z, loc_AD0
    ROM:00000ACE                 mov     r6, #0
    ROM:00000AD0
    ROM:00000AD0 loc_AD0:                                
    ROM:00000AD0                                         
    ROM:00000AD0                 mov     r4, r6
    ROM:00000AD2                 rets
    Описание регистров Flash non volatile access protection register см. в datsheet'e ST10F273M на стр. 42-46
     
  25. Аватар для AKAmasol offline

    AKAmasol Местный житель
    Электронщик

    Регистрация:
    31.10.2013
    Сообщений:
    101
    Адрес:
    Россия, Казань
    #384 AKAmasol, 26.05.2023 12:57
    Попробовал. Нет, не оно. М113 всё равно закрывается.
     
  26. Аватар для vento702 offline

    vento702 CTTeam
    Диагност

    Регистрация:
    26.06.2014
    Сообщений:
    11,450
    Адрес:
    Ярославль
    #385 vento702, 26.05.2023 14:00
    Поискать? Чисто любопытство или нужно зачем то? Чтоб он открытым остался.
     
  27. Аватар для AKAmasol offline

    AKAmasol Местный житель
    Электронщик

    Регистрация:
    31.10.2013
    Сообщений:
    101
    Адрес:
    Россия, Казань
    #386 AKAmasol, 26.05.2023 17:04
    Лично мне больше любопытно. Я и сам хочу позже поковырять.

    Отключить защиту:

    Код:
    ROM:00000B30                 exts    #0Eh, #1
    ROM:00000B34                 mov     r6, 0DFBCh   // EDFBC
    ROM:00000B38                 cmp     r6, #0
    ROM:00000B3A                 jmpr    cc_Z, locret_B62
    ROM:00000B3C                 exts    #0Eh, #2
    ROM:00000B40                 mov     r4, 0DFBEh    // EDFBE
    ROM:00000B44                 mov     r5, 0DFBCh   // EDFBC
    ROM:00000B48                 cmp     r5, r4
    ROM:00000B4A                 jmpr    cc_NZ, locret_B62
    ROM:00000B4C                 mov     r4, r6
    ROM:00000B4E                 shl     r4, #1
    ROM:00000B50                 mov     r6, r4
    ROM:00000B52                 bclr    r6.0
    ROM:00000B54                 mov     r10, r6
    ROM:00000B56                 mov     r11, #0
    ROM:00000B58                 mov     r8, #0DFBCh
    ROM:00000B5C                 mov     r9, #0Eh
    ROM:00000B5E                 calls   0, sub_F7A
    ROM:00000B62 locret_B62:                                                                     
    ROM:00000B62                 rets
    Включить защиту:
    Код:
    ROM:00000AFA                 exts    #0Eh, #2
    ROM:00000AFE                 mov     r4, 0DFBEh    // EDFBE
    ROM:00000B02                 mov     r5, 0DFBCh    // EDFBC
    ROM:00000B06                 cmp     r5, r4
    ROM:00000B08                 jmpr    cc_Z, locret_B20
    ROM:00000B0A                 exts    #0Eh, #1
    ROM:00000B0E                 mov     r4, 0DFBCh   // EDFBC
    ROM:00000B12                 mov     r10, r4
    ROM:00000B14                 mov     r11, #0
    ROM:00000B16                 mov     r8, #0DFBEh
    ROM:00000B1A                 mov     r9, #0Eh
    ROM:00000B1C                 calls   0, sub_F7A
    ROM:00000B20 locret_B20:                             
    ROM:00000B20                 rets
    Временно вкл.\выкл. защиту (тут наверняка не уверен):
    Код:
    ROM:00000AD4                 jb      word_FD00.0, loc_AE4
    ROM:00000AD8                 exts    #0Eh, #1
    ROM:00000ADC                 mov     r4, 0DFB8h   // EDFB8
    ROM:00000AE0                 jnb     r4.0, loc_AFA
    ROM:00000AE4 loc_AE4:                                
    ROM:00000AE4                 mov     r10, #0FFFEh
    ROM:00000AE8                 mov     r11, #0FFFFh
    ROM:00000AEC                 mov     r8, #0DFB8h
    ROM:00000AF0                 mov     r9, #0Eh
    ROM:00000AF2                 calls   0, sub_F7A
    ROM:00000AF6                 bclr    word_FD00.0
    ROM:00000AF8                 rets
    В цикле calls 0, sub_F7A происходит уже непосредственно запись значений в те или иные биты регистров Flash non volatile access protection register

    Это всё выше для М114. У М113 код отключения защиты расположен по адресу ROM:00000FDE. Там же где-то рядом должны быть и отключение и временное вкл.\выкл.
     
  28. Аватар для vento702 offline

    vento702 CTTeam
    Диагност

    Регистрация:
    26.06.2014
    Сообщений:
    11,450
    Адрес:
    Ярославль
    #387 vento702, 27.05.2023 00:11
    Честно признаюсь даташит сильно не изучал.
    Мы ищем сброс в ноль регистра по адресу EDFB8?
     
  29. Аватар для AKAmasol offline

    AKAmasol Местный житель
    Электронщик

    Регистрация:
    31.10.2013
    Сообщений:
    101
    Адрес:
    Россия, Казань
    #388 AKAmasol, 27.05.2023 09:42
    Описание регистров Flash non volatile access protection register:
    Код:
    0x0E DFB8 (бит 0 АССР многократно перезаписываемый)
    Access protection. This bit, if programmed at 0, disables any access (read/write) to data mappe dinside IFlash Module address space, unless the current instruction is fetchedfrom IFlash.
    
    0x0E DFBC (биты 0-15 PDS15...PDS0 однократно перезаписываемые)
    Protections disable 15-0. If bit PDSx is programmed at 0 and bit PENx is erased at 1, the action of bit ACCP is disabled. Bit PDS0 can be programmed at 0 only if both bits DBGP and ACCP have already been programmed at 0. Bit PDSx can be programmed at 0 only if bit PENx-1 has already been programmed at 0.
    
    0x0E DFBE (биты 0-15 PEN15...PEN0 однократно перезаписываемые)
    Protections enable 15-0. If bit PENx is programmed at 0 and bit PDSx+1 is erased at 1, the action of bit ACCP is enabled again. Bit PENx can be programmed at 0 only if bit PDSx has already been programmed at 0.
    Короче, бит 0 АССР регистра EDFB8 в значении 0 - вкл. защиту, в значении 1 - выкл. защиту. Это, так называемый, способ Temporary protection \ unprotection
    Биты 0-15 PDS15 ... PDS0 (PEN15 ... PEN0) регистра EDFBС (EDFBЕ) имеют более высокий приоритет, по сравнению с АССР, и на постоянной основе (permanent way) выключают (включают) защиту.

    Какая конкретно в М113 включается защита - EDFB8 или EDFBE - мне пока неизвестно. Скорее всего EDFВ8, поскольку при программировании по диагностике она, похоже, отключается.

    Вот из datasheet наглядные примеры что куда писать, чтобы произвести действие вкл. или выкл. (соответствует коду из цикла calls 0, sub_F7A):
    Код:
    Enable Access and Debug Protection. 
    FCR0H |= 0x0100; /*Set SPR in FCR0H*/
    FARL = 0xDFB8; /*Load Address of register FNVAPR0 in FARL*/ 
    FARH = 0x000E; /*Load Address of register FNVAPR0 in FARH*/ 
    FDR0L = 0xFFFC; /*Load Data in FDR0L*/ 
    FCR0H |= 0x8000; /*Operation start*/
    
    Disable in a permanent way Access and Debug Protection.
    FCR0H |= 0x0100; /*Set SPR in FCR0H*/ 
    FARL = 0xDFBC; /*Load Address of register FNVAPR1L in FARL*/ 
    FARH = 0x000E; /*Load Address of register FNVAPR1L in FARH*/ 
    FDR0L = 0xFFFE; /*Load Data in FDR0L for clearing PDS0*/ 
    FCR0H |= 0x8000; /*Operation start*/ 
    
    Enable again in a permanent way Access and Debug Protection, after having disabled them. 
    FCR0H|= 0x0100; /*Set SPR in FCR0H*/ 
    FARL = 0xDFBC; /*Load Address register FNVAPR1H in FARL*/ 
    FARH = 0x000E; /*Load Address register FNVAPR1H in FARH*/ 
    FDR0H = 0xFFFE; /*Load Data in FDR0H to clear PEN0*/ 
    FCR0H |= 0x8000; /*Operation start*/
    FCR - flash control register
    FAR - flash address register
    FDR - flash data register
     
  30. Аватар для vento702 offline

    vento702 CTTeam
    Диагност

    Регистрация:
    26.06.2014
    Сообщений:
    11,450
    Адрес:
    Ярославль
    #389 vento702, 28.05.2023 15:12
    После 16-й попытки изменить защиту проц будет всегда открыт или всегда закрыт? Или примет состояние на момент последней попытки?
     
  31. Аватар для AKAmasol offline

    AKAmasol Местный житель
    Электронщик

    Регистрация:
    31.10.2013
    Сообщений:
    101
    Адрес:
    Россия, Казань
    #390 AKAmasol, 28.05.2023 16:13
    Я пока вышеприведённые разъяснения из datasheet'a пытался осмыслить - всю голову сломал... Но так и не понял... Но стоит иметь в виду, что мы наверняка не знаем каким путём bootloader закрывает МК. Если через EDFB8 (многократно перезаписываемый бит ACCP), то всего 16 попыток снять защиту и если после шестнадцатой запустить заводской fullflash, то МК закроется навсегда для режима BSL, а через диагностику будет читаться\писаться. Если через EDFBЕ (однократно перезаписываемые биты PENx), то остаётся всего 8 попыток снять защиту (либо 16 - тут я не разобрался).
     

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Текущее время: 12:26. Часовой пояс GMT +3.