Опубликовано 22 сентября, 201411 г. Имеется блок с двумя контрольками после данных. Данные лежат в явном виде. Пример: 00 01 05 F9 BC - пробег 105 км., первая контролька F9, вторая контролька BC. 07 84 54 20 33 - пробег 78.454 км., первая контролька 20, вторая контролька 33. Первая контролька учитывает данные до неё, вторая возможно учитывает и первую контрольку. Если любая из двух контролек неправильно посчитана - пробег стоит на месте, не увеличивается. Блок производства России, год выпуска 2005. Других данных о блоке не имеется. Если первая контролька считается элементарно, то вторая мне пока непонятна. Может кто подтолкнёт в нужном направлении? Как нужно калькулировать вторую контрольку? Если сам не разберусь - готов оплатить услугу по пересчёту пробега. Предложения в личку. Нужно 105.217км.: 10 52 17 86 ?? - пробег 105.217 км., первая контролька 86, вторая контролька неизвестна. Ниже прилагаю примеры правильных контролек для пробега от 0 до 110 километров и пару других значений: Примеры правильных пятибайтных последовательностей (три байта данных + две контрольки): 000000FF6B 000001FE00 000002FD18 000003FC82 000004FB00 000005FAAB 000006F942 000007F8D8 000008F781 000009F61B 000010EF44 000011EEDE 000012EDEA 000013EC00 000014EB1E 000015EA84 000016E96D 000017E84B 000018E7B1 000019E634 000020DF54 000021DE13 000022DDFA 000023DC60 000024DB00 000025DAF5 000026D9A0 000027D83A 000028D763 000029D6F9 000030CFA6 000031CE3C 000032CDD5 000033CC00 000034CBFC 000035CA66 000036C933 000037C815 000038C74C 000039C60B 000040BFB6 000041BE90 000042BDC5 000043BC5F 000044BB00 000045BA76 000046B99F 000047B805 000048B75C 000049B6C6 000050AF99 000051AE03 000052AD56 000053AC00 000054ABC3 000055AA59 000056A9B0 000057A8A8 000058A7CF 000059A6E9 0000609FE8 0000619ECE 000029D27 000039CBD 0000649B00 0000659A73 000066997D 00006798E7 00006897BE 0000699624 0000708F7B 0000718EE1 0000728D08 0000738C00 0000748B21 0000758ABB 000076898F 00007788C8 0000788791 00007986B7 0000807FC8 0000817E8F 0000827DBB 0000837C21 0000847B00 0000857A08 00008679E1 000087787B 0000887722 00008976B8 0000906F24 0000916E7A 0000926D98 0000936CC6 0000946B45 0000956A1B 00009669F9 00009768A7 00009867E6 00009966B8 000100FEC0 000101FDE6 000102FCED 000103FBF4 000104FA9A 000105F9BC 000106F8E9 000107F7EE 000108F6A8 000110EEEF 0784542033 0784571D2C
Опубликовано 22 сентября, 201411 г. Так просто не посчитаешь, последняя КС считается посредством полинома. Первая КС (инверсия пробега) в подсчете второй КС не участвует.
Опубликовано 23 сентября, 201411 г. Может вторая контролька связана с другими значениями, не из этого кусочка дампа?
Опубликовано 23 сентября, 201411 г. Автор Может вторая контролька связана с другими значениями, не из этого кусочка дампа? Вторая контролька имеет отношение только к тем данным, что я указал. Проверено 100%. Так просто не посчитаешь, последняя КС считается посредством полинома. Первая КС (инверсия пробега) в подсчете второй КС не участвует. Можете привести пример, где встречается аналогичный алго? P.S. Благодаря особенностям данной прошивки метод лобовой атаки сокращается ровно в два раза, но всё равно долго по времени. Если поменять местами два соседних байта - вторая контролька становится недействительной, первая остаётся без изменений. Если поменять местами два байта, расположенных через одну ячейку - вторая контролька становится недействительной, первая остаётся без изменений. При значении 0км. - как может получиться вторая контролька 6B?: 000000FF6B - пробег 0 км., первая контролька FF, вторая контролька 6B.
Опубликовано 23 сентября, 201411 г. На то он и полином, что при изменении одного бита данных меняется весь байт КС. А 6B - это маска нуля.
Опубликовано 23 сентября, 201411 г. Что за конспирация? Трудно указать модель, выложить весь дамп и указать еепром..., про фотки я даже молчу...
Опубликовано 23 сентября, 201411 г. Автор Контролька взламывается методом лобовой атаки максимум за 128 минут, если автоматизировать процедуру с помощью компьютера. Наверное минимум можно сломать минут за двадцать (по 10 секунд на вариант). Вручную понадобится максимум часа три (все варианты). Мне повезло и контролька подошла через полтора часа, примерно на 50%. Если кто-то когда-то разберётся как правильно высчитывать последнюю контрольку - стукните пожалуйста мне в личку. Тему можно закрывать.
Опубликовано 24 сентября, 201411 г. Это с вазовской панели считается элементарно пробег в явном виде, инверсия тысяч пробега, и сумма всех чисел не забыть бит перехода. Контрольная сумма одна тут. Изменено 24 сентября, 201411 г. пользователем Sergeyer
Опубликовано 24 сентября, 201411 г. Это с вазовской панели считается элементарно пробег в явном виде, инверсия тысяч пробега, и сумма всех чисел не забыть бит перехода. Контрольная сумма одна тут. Если не трудно, можно развернутый пример ?
Опубликовано 24 сентября, 201411 г. Автор Это с вазовской панели считается элементарно пробег в явном виде, инверсия тысяч пробега, и сумма всех чисел не забыть бит перехода. Контрольная сумма одна тут. Контролек тут две штуки. По какой формуле считать 78.454 км., чтобы получилась контролька 33?: 07 84 54 20 33 - пробег 78.454 км., первая контролька 20, вторая контролька 33.
Опубликовано 24 сентября, 201411 г. Контролек тут две штуки. По какой формуле считать 78.454 км., чтобы получилась контролька 33?: 07 84 54 20 33 - пробег 78.454 км., первая контролька 20, вторая контролька 33. Автор, если по-твоему первая контролька =20, то по какому алго она высчитывается. Я разобрался от 0 до 100 км это очень просто. Но для твоего пробега 78454 контролька не может быть просто равна 20, тем более, если ты утверждаешь, что твои первые примеры от 0 до 100 верны.
Опубликовано 24 сентября, 201411 г. Автор, если по-твоему первая контролька =20, то по какому алго она высчитывается. Я разобрался от 0 до 100 км это очень просто. Но для твоего пробега 78454 контролька не может быть просто равна 20, тем более, если ты утверждаешь, что твои первые примеры от 0 до 100 верны. Сложение ни кто не отменял, плюс ^ 0xFF
Опубликовано 24 сентября, 201411 г. Автор Автор, если по-твоему первая контролька =20, то по какому алго она высчитывается. Я разобрался от 0 до 100 км это очень просто. Но для твоего пробега 78454 контролька не может быть просто равна 20, тем более, если ты утверждаешь, что твои первые примеры от 0 до 100 верны. Во прикол. Вроде я тут помощи просил. Как высчитывается перавая контролька - я понял на третьей минуте анализа алгоритма. А вот как сичтается вторая контролька - не понял и через неделю. Поэтому открыл тему. После слова "полином" подумал - да ну его на фиг, этот алго, и сломал его методом атаки в лоб. Кстати, первую контрольку я правильно посчитал для нового пробега. В этой теме все мои примеры верны, взяты из реальных показаний прошивки. Для трёх байт похдходят две формулы подсчёта первой контрольки, а для пяти байт только одна из двух формул. P.S. Самую грамотную мысль в этой теме высказал serrg, мой земляк, спасибо ему огромное. Sergeyer прогнал пургу, не подумав. Сразу видно, кто тут профи, а кто мышей не ловит (Пёстренький тоже касается). Изменено 24 сентября, 201411 г. пользователем SMS Avito
Опубликовано 25 сентября, 201411 г. Во прикол. Вроде я тут помощи просил. Как высчитывается перавая контролька - я понял на третьей минуте анализа алгоритма. А вот как сичтается вторая контролька - не понял и через неделю. Поэтому открыл тему. После слова "полином" подумал - да ну его на фиг, этот алго, и сломал его методом атаки в лоб. Кстати, первую контрольку я правильно посчитал для нового пробега. В этой теме все мои примеры верны, взяты из реальных показаний прошивки. Для трёх байт похдходят две формулы подсчёта первой контрольки, а для пяти байт только одна из двух формул. P.S. Самую грамотную мысль в этой теме высказал serrg, мой земляк, спасибо ему огромное. Sergeyer прогнал пургу, не подумав. Сразу видно, кто тут профи, а кто мышей не ловит (Пёстренький тоже касается). Ну, хорошо, попиарился а теперь раскажи в чем фишка , очень хочется мышей ловить.
Опубликовано 25 сентября, 201411 г. Автор Ну, хорошо, попиарился а теперь раскажи в чем фишка , очень хочется мышей ловить. Глянь примеры больше 100 километров. Все контрольки в примерах валидные.
Опубликовано 27 сентября, 201411 г. О какой помощи может идти речь ? Нет ни полного дампа, ни названия авто, ни желания разобраться в чексумме... Есть только умозаключения автора, который ни согласен с мнениями других в принципе.
Опубликовано 27 сентября, 201411 г. Автор О какой помощи может идти речь ? Нет ни полного дампа, ни названия авто, ни желания разобраться в чексумме... Есть только умозаключения автора, который ни согласен с мнениями других в принципе. Полные дампы от таких блоков вряд ли кто будет выкладывать. Названия авто тоже нет, так как блок не имеет отношения к автомобилям. Пробег в километрах указан чисто символически - там другая единица измерения, например количество попугаев или световых лет, к алгоритму и контрольной сумме это не имеет отношения. Согласен с мнением serrg, что это полином и посчитать его проблематично. С мнением тех, кто что-то ляпнул не подумав, конечно я не согласен (не - на конце пишется е, а не и). Тему можно закрывать, задача решена. Выше в теме выложено и решение задачи, и формула первой контрольки.
Для публикации сообщений создайте учётную запись или авторизуйтесь