У меня IDA 6.8. Как там будет с версией посвежее - не знаю.
Дизассемблирование прошивок
Опции темы
Подписаться на эту тему
Опции темы
Страница 13 из 18
-
Вложения:
-
-
#362 russian_98g, 09.05.2023 12:37
Спасибо -
Код:
mov [-r0], r12
-
Это я понял, что в отличии от [r0+] уменьшается не после, а перед.
Я затупил, уменьшается только для выполнения инструкции или навсегда. Спасибо Артём. -
Бывает. Блин, я до сих пор не изучил написание скриптов, так и вычисляю в уме или в блокноте какое текущее значение у R0.
-
С сокетами разбирался, чтобы подружить IDA c программой по отображению 3D карт написанной на C#.
Думаю еще эмуляцию последовательных каналов сделать, чтобы можно было связать сканер/загрузчик с отладчиком и для работы с образом внешнего еепром. -
Я посчитал контрольку для 114 бута в твоём AbitM113Unprotect.bin
Пробуй записать в 114.
Занимался тут с абитом, вспомнил про твою тему. -
AKAmasol, Удалил вложение, чот я не подумал над твоим авторством.
Добро даёшь выложить?
Нашёл у себя два микаса, проверил, работает.
Один 114, другой был 113 переписанный в 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
-
Не совсем понял какую именно контрольку Вы пересчитали.
Снятие защиты нужно, чтобы в М114 можно было полноценную заводскую М113 записать без перепайки проца. Также в планах иногда Микас10.3 в Микас 11 аппаратно переделывать.
Открывашки планировал свободно распространять изначально. Пересчёт контрольки - Ваша работа. Так что действуйте на своё усмотрение. -
-
almi AdminПрограммист/реверсер
- Регистрация:
- 02.06.2002
- Сообщений:
- 20,326
- Адрес:
- Ярославль разработчик SMS-Soft
Успеха в чём? Блок изучен вдоль и поперёк, загрузчик к нему мы сделали вот уже лет как 15 назад.
Читать софт оттуда тоже не представляет ни малейшей проблемы.Последний раз редактировалось almi; 22.05.2023 в 12:04. -
Изначальный М114 в М113 переделать Вашим софтом нельзя.
Защиту снять с МК (как у М73А\М11) тоже никак.
То что Вы изучили вдоль и поперёк М10.3 - в этом никаких сомнений нет. Но клиентам своим Вы лишь некоторый базовый функционал по работе с этими ЭБУ предоставили. Понятно, что не каждому надо М114 в М113 переделывать или Микас 10.3 в Микас 11 или использовать ЭБУ как донор МК, но тогда сходные аргументы справедливы и для М73А\М11 - вот вам базовый функционал (flash пишет\читает, редактор ChipTuning Pro правит калибровки), чего ещё надо? -
Конечно в твоём понимании вопроса тут нет никакого успеха, это понятно. Для вас это обычное дело. -
almi AdminПрограммист/реверсер
- Регистрация:
- 02.06.2002
- Сообщений:
- 20,326
- Адрес:
- Ярославль разработчик SMS-Soft
AKAmasol, вас понял.
Добавлено через 1 минуту
Я всех, кто «умеет» призываю ковырять новые системы, которые не изучены. Собственно, я с намёком на это говорил.Последний раз редактировалось Lrsp; 23.05.2023 в 11:29. Причина: Добавлено сообщение -
-
https://chiptuner.ru/forum/showthrea...light=ZAZ+Vida
Код: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
Код: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
-
Сверяются два DWORD. Контролька как бы подразумевает подсчёт и сравнение. А тут тупо два одинаковых записанных числа. -
-
Собственно сама проверка на открытость\закрытость МК расположена чуть раньше:
Код: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
-
-
Отключить защиту:
Код: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
Это всё выше для М114. У М113 код отключения защиты расположен по адресу ROM:00000FDE. Там же где-то рядом должны быть и отключение и временное вкл.\выкл. -
Код: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-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*/
FAR - flash address register
FDR - flash data register -
После 16-й попытки изменить защиту проц будет всегда открыт или всегда закрыт? Или примет состояние на момент последней попытки?
-
Прошивки Niva Travel/Legend M74.8 | Прошивки Lada Niva M74.8+ |
Страница 13 из 18
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
Текущее время: 12:26. Часовой пояс GMT +3.