eXeL@B —› Основной форум —› Взлом прошивки |
Посл.ответ | Сообщение |
|
Создано: 02 июня 2014 02:48 · Личное сообщение · #1 Всем привет. Смотрю на дату регистрации и понимаю, что прошло уже 10 лет с момента переезда с фэстбб на этот форум. Вот время-то летит... Теперь собственно вопрос по теме Не совсем от меня, но пишу от первого лица. По сути там проблема выглядит так: есть екзешник, при нем конфигурационный файл с тем- же именем. И файл акцесс с прошивкой. Пароль на посмотреть - TelePrg. В данном случае в ini файле критична секция, описывающая блок EDC7UC31. Какие либо изменения в секциях [EDC7UC31_AREE_1] [EDC7UC31_AREE_2] Даже если не менять ничего в самой прошивке приводят к сбою процесса прошивки. Что касается самого файла с прошивкой: я для удобства ковыряния перегнал его в бинарник. Сравнивая бинарники от совершенно разных прошивок, были найдены внутри места с различной информацией (нужной для корректировки) а также некие 4 байта, по моим подозрениям хранящие контрольную сумму какого то блока этого бинарника. Собственно вопрос в том, как изменив хоть что то по адресам от 1C0000 понять кс какого куска прописана в этих 4 байтах? И что при этом надо прописать в инишнике. Я нарисовал программульку, которая с побайтным приращением сегмента считала кс. Ничего не совпало. пару сотен тысяч результатов прогнал. Может оно и не контрольная сумма там по этим адресам. У меня есть еще один комплект екзешник- ини и база. Там отличия только на одну вифра в ВИНе и в прочих номерах : номере движка, клапанов... На сравнении видно, что вся эта текстовка лежит начиная от 1С0000 до собственно этого адреса с 4 байтами. Счас по памяти может ошибусь... 1FDFF4 Указатели на этот адрес есть в секции инишки [TRIMM_CHECK] но ремаркирование строк этой секции при прошивке не приводит к сбою. А какие либо изменения в тех, о которых чуть раньше писал - сбой программирования. Причем это при неизмененном датафайле. Если кто сможет помочь, буду очень благодарен. Добавлено спустя 1 минуту Архив с прогой: http://rghost.ru/private/56075421/409e313a05b2a424e8218ff3f26502cd |
|
Создано: 02 июня 2014 08:40 · Личное сообщение · #2 |
|
Создано: 02 июня 2014 10:42 · Личное сообщение · #3 Изначально всё шьётся. Смысл в том, чтобы в прошивке поменять VIN автомобиля. Если в ней меняешь какие-то поля: ВИН, номер двигателя и т.д., то процесс уже не идёт. Добавлено спустя 0 минут То есть где-то контрольная сумма проверяется. Но вот где... не получается найти. Добавлено спустя 5 минут Смысл в том, что с некоторой периодичностью выпускаются апгрейды мозгов грузовиков. Но забунорные барыги за каждую требуют денег. А машины одной серии отличаются только номером двигателя, катушек зажигания, вином, ну и всей той текстовкой, что лежит в ini файле. Тоже самое и в прошивке. У меня есть несколько файлов, и даже написана программа онлайн замены любых значений. Кроме этих четырех байт. Есть вообще две идентичные прошивки, в которых ВИН отличается на одну цифру. На основе этого и проведен анализ. И суть с том, что машины автопредприятий, уже в постгарантийный срок апгрейдятся за чувствительные бабки. А забить на этот апгрейд мозгов нельзя. Просто перестанет заводиться. |
|
Создано: 02 июня 2014 11:45 · Личное сообщение · #4 WELL я достаточно много разных настрогал.. для разных машин.. разные прошивки.. схемы в каждом случае разительно отличаются.. от СРС самой прошивы (ее надо выдирать или из сервисных фирменных прог или рыть саму прошиву) до фантазии с разнообразными блоками переменных, в которых суммрано считается пробеги ТО и инфа с датчиков.. каждый конкретный случай разбирать приходится отдельно ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 02 июня 2014 13:07 · Поправил: zds · Личное сообщение · #5 WELL пишет: А забить на этот апгрейд мозгов нельзя. Просто перестанет заводиться. если честно бред какой-то... первый раз о таком слышу...хотя не отрицаю, что ошибаюсь. обычно в прошивках исправлют какие-то ошибки, правят топливные карты для более ровной работы - это я об офф.прошивках. а чтобы устанавливать лимит на запуск))) а если ты едешь к диллеру за апдейтом через Сибирь например и сломался где-то по дороге и не успел вовремя...то все чтоли? вызывай эвакуатор т.к. даже устранив поломку машина не заведется? по теме: 1) самый простой способ отредактировать - WinOls + нужный конфиг файл. открыл твою прошу в нем с нужным конфиг файлом - все карты кроме 2 определись. нашел и вин и SN. единственно у меня winols ломанный - для даннного блока нет модуля подсчета CRC. как вариант найти человека с лицензионным Winols. если нужно подправить только в этой одной проше - могу попросить своего друга - у него есть. если нужен большой объем и постоянно, то врпинципе можно договориться 2) попробуй посмотреть офф прогу - Iveco Easy. она правда работает вроде со своим адаптером - ECI. но там посмотри в папке \EOL\00000148\ должны быть exe прошивальшика под этот блок. может сможешь его адаптировать под свой адаптер - не знаю чем пользуешься. знаю точно, что этот же файл прошивальщика использует прога CNH EST и там можно прошить либо через DPA5 либо любым k-line адпатером. 3) разрабатывал несколко тулз для редактирования прошивок под такой же блок правда для агротехники Case и NewHolland. остались наброски тулзы для подсчета CRC, правда мне не пригодилось т.к. там оказалось что CRC вообще не проверяется при прошивки - причем используется такой же прошивальщик....вечером попробую изменить для примера VIN и прогнать через свою тулзу - может подойдет для твоей проши. | Сообщение посчитали полезным: WELL |
|
Создано: 02 июня 2014 13:51 · Личное сообщение · #6 zds я вот пол года назад.. делал для дальнобойщиков.. из харватии.. там каждые Ннное кол-во км.. блок лочит движок.. и ехать можно 60км в час.. и пиздос... т.е. до ТО ты доедиш.. но работать так.. врядли буш.. я про то.. что винолс хорош.. для анализа.. но ЦРЦ ты не поймаеш.. извтратов хватает ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 02 июня 2014 15:48 · Личное сообщение · #7 VodoleYя конечно понимаю, что Европе совсем другое отношение к ремонту и вообще к грузоперевозкам - там большая часть обслуживается у дилеров или имеет годовой контракт обслуживания в специализированном сервисе...но я думаю это маразм даже для них. Купив трак за 5млн считаю, что я должен иметь возможность выбора где обслуживаться - у дилера, у друга в сервисе или вообще самому... Хотя возможно такие траки куплены со скидкой по контракту с обязательным условием обслуживания.... Типа как телефоны за 100р у операторов связи с контрактом. По теме: не знаю что здесь за трак, но у меня друг без проблем редактирует прошивки для траков Ивеко в Винолс |
|
Создано: 02 июня 2014 16:32 · Личное сообщение · #8 |
|
Создано: 04 июня 2014 08:50 · Личное сообщение · #9 Вкратце так: машина не не заводится, она не едет, тут ошибка трансляции мысли. Мощность снижается до тележки с водителем. Ни скорость ни груз взять. В общем "не едет". Это что касается актуализации прошивок. Про winOls не слышал, буду искать возможность найти этот софт. Грузовики действительно ивеко, тут верно определили. Ниже ссылка, там ДВЕ прошивки, с разницей в одну цифру в вине. Обе полностью рабочие и шьющиеся. И в сравнении этих двух прошивок можно будет увидеть, что вся различающаяся инфа - это текст в принципе. Его я легко выдергиваю из прошивки, меняю как надо и пишу обратно. Но там есть 4 байта, которые , imho, есть КС какого то куска. Вот границы этого куска я и хотел найти. Вот ссылка на архив с двумя прошивками http://yadi.sk/d/cgPBcLHVS92JZ Также там обе прошивки, перегнанные в бинарники, по разнице между ними виден адрес, где эти непонятные четыре байта окопались. |
|
Создано: 04 июня 2014 11:37 · Поправил: BfoX · Личное сообщение · #10 я могу ошибаться, но в файле TeleProgrammazioneECS.ini есть [TRIMM_CHECK] 'TC#=ADDR_START_M;ADDR_END_M;ADDR_CHECK_M;TRIMM_V;ADDR_START_V;ADDR_END_V;ADDR_CHECK_V TC1=1C0000;1FDFF3;1FDFF4;1BFF00;1B0000;1BFFFB;1BFFFC TC2=1A0000;1EDFF3;1EDFF4;1BFF00;1F0000;1FFFFB;1FFFFC что странно совпадает с Вашим: "Сравнение файлов res86.bin и RES87.BIN 001FDFF4: D8 D3 001FDFF5: 6F 79 001FDFF6: 54 5D 001FDFF7: 5B 23 " думается, что искомый кусок это 1C0000...1FDFF3 по поводу кс: интересно покопать тут, но у меня прога ругается на ActiveX 004473A0: 55 push ebp 004473A1: 8BEC mov ebp,esp 004473A3: 83EC14 sub esp,014 ----- ...или ты работаешь хорошо, или ты работаешь много... |
|
Создано: 05 июня 2014 09:20 · Личное сообщение · #11 Спасибо всем, за ответы. Насчет 1C0000...1FDFF3. Этот "искомый кусок" я нашел сразу же. Это не оно. Или оно, но не црц32 , а какой то иной алгоритм. Проверить легко: в винхексе этот кусок проверить. Бинарник же есть. Там засада именно в том, что эти 4 байта не совсем црц32, имхо, а какой то ксор на црц. И чтобы это понять , имхо, надо найти вызов на этот адрес и посмотреть, чего же там сравнивается с этими 4 байтами. А инишку я прочел, и нашел эти сегменты сразу же может те байты, что после этих адресов стоят и есть искомое слово для ксора? Или может это маска для црц? Непонятно. Понятно, что нестандартный алгоритм проверки контрольной суммы... |
|
Создано: 05 июня 2014 09:47 · Личное сообщение · #12 |
|
Создано: 05 июня 2014 09:51 · Личное сообщение · #13 ну а кто мешает в crc32 заменить стандартный polynom=0xEDB88320 на кастомный типа 0xCAFEAFFE или 0xFADECAFE? кроме того, при загрузке в WinOls-тест у меня было выделение цветом их как два слова, а не дворд. может конечно и не принципиально. сам WinOls-тест считает по прошивке стандартную црц. ----- ...или ты работаешь хорошо, или ты работаешь много... | Сообщение посчитали полезным: WELL |
|
Создано: 05 июня 2014 17:57 · Личное сообщение · #14 |
|
Создано: 05 июня 2014 18:37 · Поправил: Veliant · Личное сообщение · #15 Сдается мне в самом ехе нет проверяющего кода, он вынесен в COM-объект EcsCentrInterfaccia2380. Советую поискать по диску ECSCENTRINTERFACCIA*.DLL или ECSCENTRINTERFACCIA*.ocx. Гугл знает про некоторую ECSCENTRINTERFACCIA2_370.DLL, но где скачать не нашел P.S. А вообще думаю там банальный xor будет или сложение P.P.S Там банальная сумма. Складываем diff байты на позициях mod 0,mod 1,mod 2,mod 3, и получаем что суммы байт отличаются ровно на столько, сколько и байты контрольной суммы на тех же позициях. Можете сами найти от какого блока и с каким стартовым значением суммируется, а можете на основе имеющейся суммы считать коррекцию для своего патча Code:
Code:
Возвращает Code:
Что и требовалось доказать.. тупо сумма | Сообщение посчитали полезным: zds, WELL |
|
Создано: 06 июня 2014 13:10 · Личное сообщение · #16 |
|
Создано: 07 июня 2014 13:29 · Личное сообщение · #17 |
|
Создано: 10 июня 2014 04:15 · Личное сообщение · #18 |
eXeL@B —› Основной форум —› Взлом прошивки |
Эта тема закрыта. Ответы больше не принимаются. |