ic213 чтение-запись ЕЕПРОМ

  • Автор темы Автор темы eloev
  • Дата начала Дата начала

eloev

Участник форума
Форумчанин
26 Окт 2023
72
7
Появилось несколько свободного времени. Для ублажения собственного интереса "домучал" наконец расчет сидкея для 204 и 213 панелей. Если с ic204 все понятно и прозрачно - после открытия доступа можно читать и изменять содержимое ЕЕПРОМ. То с 213й панелью есть некоторые каверзные моменты.
После открытия доступа - еепром можно читать, но частично. Доступно все содержимое, кроме небольшой части. Например при попытке прочитать содержимое первых 48 адресов выдает ошибку "Conditions Not Correct". Предполагаю, что нужно выполнить некую процедуру "открытия" или нечто подобное. Изучение всех возможных команд из smrd, ничего не дало. Может кто нибудь поделится умными мыслями на этот счет? Очень хочется доделать софтинку для "ковыряния" в дампе.

И да... Хочу сразу добавить: Если в 204 панели нужно повышать уровень доступа для чтения и записи соответственно, то в 213 этого варианта нет. Уровень только один. (если не считать уровень флеширования). Так что эта "мысль" не проходит...
 
Последнее редактирование модератором:
Появилось несколько свободного времени. Для ублажения собственного интереса "домучал" наконец расчет сидкея для 204 и 213 панелей. Если с ic204 все понятно и прозрачно - после открытия доступа можно читать и изменять содержимое ЕЕПРОМ. То с 213й панелью есть некоторые каверзные моменты.
После открытия доступа - еепром можно читать, но частично. Доступно все содержимое, кроме небольшой части. Например при попытке прочитать содержимое первых 48 адресов выдает ошибку "Conditions Not Correct". Предполагаю, что нужно выполнить некую процедуру "открытия" или нечто подобное. Изучение всех возможных команд из smrd, ничего не дало. Может кто нибудь поделится умными мыслями на этот счет? Очень хочется доделать софтинку для "ковыряния" в дампе.
Вы алго отреверсили? Или просто калькулятор на руках?
 
Появилось несколько свободного времени. Для ублажения собственного интереса "домучал" наконец расчет сидкея для 204 и 213 панелей. Если с ic204 все понятно и прозрачно - после открытия доступа можно читать и изменять содержимое ЕЕПРОМ. То с 213й панелью есть некоторые каверзные моменты.
После открытия доступа - еепром можно читать, но частично. Доступно все содержимое, кроме небольшой части. Например при попытке прочитать содержимое первых 48 адресов выдает ошибку "Conditions Not Correct". Предполагаю, что нужно выполнить некую процедуру "открытия" или нечто подобное. Изучение всех возможных команд из smrd, ничего не дало. Может кто нибудь поделится умными мыслями на этот счет? Очень хочется доделать софтинку для "ковыряния" в дампе.

И да... Хочу сразу добавить: Если в 204 панели нужно повышать уровень доступа для чтения и записи соответственно, то в 213 этого варианта нет. Уровень только один. (если не считать уровень флеширования). Так что эта "мысль" не проходит...
KI221 IC172 IC222 Unlock 01 03 FD 0D 61 Level After Seeding You can only rewrite the AMG menu at most, renew the 0KM mileage area is prohibited from writing, and other unlocks (backdoors) are required (their software numbers are different, and the backdoors of the unlocked mileage area are also different, but IC204 can read and write the mileage area before unlocking the 09 0D level software AEJ12. Software after aej13 (each software number has its own independent unlock mileage (each backdoor is also different) I know all their backdoors. Read and write the EEPROM region completely
 
KI221 IC172 IC222 Unlock 01 03 FD 0D 61 Level After Seeding You can only rewrite the AMG menu at most, renew the 0KM mileage area is prohibited from writing, and other unlocks (backdoors) are required (their software numbers are different, and the backdoors of the unlocked mileage area are also different, but IC204 can read and write the mileage area before unlocking the 09 0D level software AEJ12. Software after aej13 (each software number has its own independent unlock mileage (each backdoor is also different) I know all their backdoors. Read and write the EEPROM region completely
Знаете, иногда забавно наблюдать, что на форуме Вы только и говорите о том, что Вы обладаете той или иной информацией, но проку с этого, собственно, +-0.
P.S. Все это выглядит не более, чем как в старом, добром мультике.
 
Я согласен с vovansuz. Писать очевидное не сложно, но зачем? Если у Вас (benz) есть информация, которой ВЫ считаете возможно поделиться - делитесь. Если для вас это коммерческий вопрос - тоже Ваше право, но зачем отнимать время бессмысленными постами? Те кто "в теме" прекрасно знают как зависит расчет ключа от версии SW. То что Вы перечислили уровни доступа для разных приборок никак не меняет сути вопроса, тем более что я об этом написал сразу же.
То есть, получается доступ к строкам пробега не открывается?
Да именно так. Есть подозрение, что нужно поменять сессию. Это выходит за рамки стандартного smrd, т.е. я хочу сказать что в стандартной диагностической сессии нет режимов например 70 и 71, но панель на них соглашается. Отсюда и вопрос к "знающим" - что делать дальше?
 
Я согласен с vovansuz. Писать очевидное не сложно, но зачем? Если у Вас (benz) есть информация, которой ВЫ считаете возможно поделиться - делитесь. Если для вас это коммерческий вопрос - тоже Ваше право, но зачем отнимать время бессмысленными постами? Те кто "в теме" прекрасно знают как зависит расчет ключа от версии SW. То что Вы перечислили уровни доступа для разных приборок никак не меняет сути вопроса, тем более что я об этом написал сразу же.

Да именно так. Есть подозрение, что нужно поменять сессию. Это выходит за рамки стандартного smrd, т.е. я хочу сказать что в стандартной диагностической сессии нет режимов например 70 и 71, но панель на них соглашается. Отсюда и вопрос к "знающим" - что делать дальше?
Реверсить UDS обработчик чтения и записи в память.
Больше тут кто-то что-то вряд ли напишет.
 
Ну - как вариант это возможно. Правда эта задача не настолько тривиальна, учитывая размер ПО приборки 213 и в "пару часов" не уложиться :)
Есть более простой способ и, более чем вероятно, уже давно проделанный - снять лог КАН при модификации еепром сторонним софтом. Этого вполне достаточно чтобы подсмотреть команды.
 
Ну - как вариант это возможно. Правда эта задача не настолько тривиальна, учитывая размер ПО приборки 213. Есть более простой способ и, более чем вероятно, уже давно проделанный - снять лог КАН при модификации еепром сторонним софтом. Этого вполне достаточно чтобы подсмотреть команды.
Как говорится: "должна быть своя голова на плечах". В качестве тупого решения сойдёт, но когда уровень развития таков, что уже чужая реализация может быть неверной, то лучше сделать свою.

Тому пример: Не так давно реверсил алго на 222. В одной из прошивок вместо привычного алгоритма была простая проверка seed == key при условии X, а иначе seed.reverse() == key. Так вот, в одном небезызвестном калькуляторе были перепутаны эти условия, поэтому расчёт ключа в нём был неверным.
 
Последнее редактирование:
Частично с Вами согласен. "Своей головой" пользоваться всегда полезнее, но в данном случае речь идет не про алгоритм. Вы на 100% знаете в чем отличие реверса алгоритма расчета ключа от поиска обработчика неизвестных команд. (повторюсь: неизвестных команд. неизвестного содержания, неизвестного условия, при неизвестных входящих). К тому же, как Вы говорите, "тупое решение" лежит на поверхности. Логи сейчас не снимают только совсем ленивые, либо кому это не нужно от слова "совсем". Я не считаю этот путь неправильным или менее интересным. Это не конечное решение в виде готового софта или калька. Это всего лишь более "легкий и быстрый" путь к ответу, но не сам ответ.
 
неизвестного содержания, неизвестного условия, при неизвестных входящих
Так вам в ответ прилетает conditions not correct, 99% что это movea 0x22/mov 0x22. Уже хотя бы что-то есть)
Ищем второе место где задаётся CTBP, это начало пользовательской прошивки. Там же рядом должны лежать стартап скрипты. Соответственно всё что до неё, можно отсеивать из поиска.
Согласен, не просто, но это не прям уж что-то неизвестное.

я хочу сказать что в стандартной диагностической сессии нет режимов например 70 и 71, но панель на них соглашается
Точку входа в главный обработчик UDS команд также можно найти и попытаться понять расчёт смещений соответствующих обработчиков сервисов. Реверсим обработчик сервиса 10, находим участок в RAM куда пишется текущая сессия, находим кросс-ссылки на этот участок и смотрим где происходит сравнение на 70 и 71. Как вариант поиск по cmp 0x70, cmp 0x71. И там дальше уже пытаемся найти связь с movea 0x22 в других сервисах.

На примере бутлоадерной части прошивки IC204, все UDS обработчики находятся рядышком, друг к другу. Это наблюдение можно попытаться использовать и здесь.
Адреса регистров периферий можно получить из даташита непосредственно на этот МК или хотя бы посмотреть по похожим (или этой же серии). Определяем на чём висит eeprom, если spi, то ищем ссылки на эти адреса.

А вообще возможно что ничего из этого и не выйдет вовсе. Но пробовать точно стоит
 
Последнее редактирование:
За "ликбез" спасибо, конечно... В любой информации можно найти что-либо полезное или уже забытое. :) Но как реверсить прошивки мне рассказывать не стОит. 22й признак прилетает по множеству других событий, вообще не связанных с проблемой. А поиск по сессиям 70 - это ежик в тумане. Я всего лишь предположил, что это может быть связано, но с таким же успехом можно предположить что "провода CAN должны быть зеленые" :) тогда заработает. Если Вы подтверждаете, что моя "догадка" верна, то естественно я продолжу в эту строну. Где находится таблица переходов UDS я знаю, но сравнивать ее с 204 -, скажем так, бессмысленно. (и даже проводить аналогию).
"...на чём висит eeprom, если spi..." А если не spi,? и не "висит" а встроенный? Что тогда?
Я действительно Вам благодарен за ответ и рад пообщаться, поскольку эта тема для меня что-то среднее между хобби и ... Но в плане полезности пока "мимо". Если Вы этим живете и зарабатываете, то понятно что Вам нет смысла делится своими знаниями. Одного очень попрошу -не давайте заведомо ложных советов. Для этого есть ChatGPT. :)

И еще, чисто к Вам (flush2002) вопрос: что скажете о SW 2139026613 ? Если Вы настолько глубоко разобрались, то возможно понимаете о чем я.
 
И еще, чисто к Вам (flush2002) вопрос: что скажете о SW 2139026613 ? Если Вы настолько глубоко разобрались, то возможно понимаете о чем я.
У меня нет ничего что касалось бы 213, в том числе и алгоритма. И реверсом я не зарабатываю, и вообще возможно не занимаюсь им так, как вы)

-не давайте заведомо ложных советов
Ну тогда верьте в лучшее и ждите чуда)
 
Последнее редактирование:
За "ликбез" спасибо, конечно... В любой информации можно найти что-либо полезное или уже забытое. :) Но как реверсить прошивки мне рассказывать не стОит. 22й признак прилетает по множеству других событий, вообще не связанных с проблемой. А поиск по сессиям 70 - это ежик в тумане. Я всего лишь предположил, что это может быть связано, но с таким же успехом можно предположить что "провода CAN должны быть зеленые" :) тогда заработает. Если Вы подтверждаете, что моя "догадка" верна, то естественно я продолжу в эту строну. Где находится таблица переходов UDS я знаю, но сравнивать ее с 204 -, скажем так, бессмысленно. (и даже проводить аналогию).
"...на чём висит eeprom, если spi..." А если не spi,? и не "висит" а встроенный? Что тогда?
Я действительно Вам благодарен за ответ и рад пообщаться, поскольку эта тема для меня что-то среднее между хобби и ... Но в плане полезности пока "мимо". Если Вы этим живете и зарабатываете, то понятно что Вам нет смысла делится своими знаниями. Одного очень попрошу -не давайте заведомо ложных советов. Для этого есть ChatGPT. :)

И еще, чисто к Вам (flush2002) вопрос: что скажете о SW 2139026613 ? Если Вы настолько глубоко разобрались, то возможно понимаете о чем я.
Оффтоп убрал, предупреждения раздал. Хорошего дня. Уважительнее к участникам форума, Вам плохого и грубого слова не сказали.
 
  • Like
Реакции: ZeVVs и flush2002
Да уж... Ну как бы я тоже никому не грубил, даже наоборот, если удосужетесь вникнуть в написанное. Ну это на Вашей совести. Хотелось бы собственно все-таки вернуться к вопросу о работе с панелью. Есть у кого нибудь еще мысли или логи? Чтобы не делать пустую работу хочется получить опровержение или подтверждение догадки о выборе сессии.
 
Во-первых, давайте не будем такими наивными.
Во-вторых, давайте будем реалистами.
В-третьих, давайте не будем переходить на личности и обвинять меня в том что я сторонник Сергея Кленова!

Я крайне сомневаюсь, что тут вам кто-то решение на блюдечке выложит и распишет что за что отвечает. Поэтому ждите чуда!
Смотрите сами. Из всех кто сюда написал, только я пытался вам помочь и направить вас на путь возможно истинный. Но вместо этого вы просите меня не учить вас как заниматься реверс-инжинирингом. Затем вы пишите что все мои советы такие же что даёт вам ChatGPT, то есть бесполезные. Затем вы пишите что я - ЧСВшник и у меня корона.

Так вот, из нас двоих корона здесь явно не у меня. Вы сюда пришли не в детский сад играть в игры. Если вам не нужны мои советы, вас не надо учить работать, тогда всё просто - ждите чуда! Может быть повезёт и кто-нибудь ответит. Такие темы годами стоят без ответа! Давайте уважать администратора этого форума, он расплачивается за это своими деньгами. За каждую висячую тему, каждый символ в ней, приходится платить и делает это администратор. Он платит деньги из своего кармана за аренду соответствующего оборудования, в то время пока вы пытаетесь получить решение бесплатно. Поэтому мы все должны ему быть благодарны.

И из всех кто продвигается в подобных направлениях, только я могу дать совет как и что сделать, в отличие от той массовки, которая только и умеет кукарекать: "а у меня есть решение", "а у меня есть алгоритм", "а я вам его продам за кучу денег", "а ничего не скажу, это всё конфиденциальная информация".

И после того как у вас хватило мозгов узнать алгоритм, корректно интерпретировать ассемблерные инструкции с сохранением типов данных, с сохранением типа расширения числа и т.д. и т.п. Вы берёте и пишите: "а я вот такой крутой, я это сделал, но вот что-то дальше заниматься поисками решения не хочу, сделайте за меня", "а тут файл большой", "а это искать долго", "а меня учить не нужно". Как по мне, это уже наглость. И был бы я маленьким обидчивым мальчиком, как некоторые, я бы вас уже давно заблокировал. Но к сожалению, или к счастью, я не такой, ни на кого не обижаюсь и ни кого принципиально не блокирую. Так что даже при таком уровне наглости, вы можете продолжать получать помощь в этой теме и дальше.

Есть у кого нибудь еще мысли или логи?
И дублировать свой вопрос лишний раз не нужно. Все и так поняли что вам нужно, но даже если тут кто-то есть кто знает решение, то он об этом сюда не напишет. Поэтому я вам советую не ждать, а заниматься поисками решения самостоятельно.
 
Последнее редактирование:
  • Like
Реакции: vovansuz
после того как у вас хватило мозгов узнать алгоритм, корректно интерпретировать ассемблерные инструкции с сохранением типов данных, с сохранением типа расширения числа и т.д. и т.п. Вы берёте и пишите: "а я вот такой крутой, я это сделал, но вот что-то дальше заниматься поисками решения не хочу, сделайте за меня", "а тут файл большой", "а это искать долго", "а меня учить не нужно". Как по мне, это уже наглость.
есть прекрасный фразеологизм - "А был ли мальчик?"
 
  • Haha
  • Like
Реакции: antonkarton12 и flush2002
Поэтому я вам советую не ждать, а заниматься поисками решения самостоятельно.
Большое спасибо за совет. Непременно им воспользуюсь. Позвольте дать Вам встречный: вдумчиво перечитайте, то что я писал раньше, возможно ваша реакция изменится. И при чем здесь Кленов? Ни в коем контексте не упоминал... К его работе - никак не отношусь. (не хорошо - не плохо) Я помню еще те времена когда он тыкался по форумам задавая вопросы начального уровня, но это нисколько не уменьшает объема проделанных им трудов. Это его путь, как бы кто (в том числе и я) к этому не относился.
И еще к Вам вопрос - Что Вы подразумеваете под "готовым решением"? Логи обмена CAN? Я не знал что это "тайна"... Простите.