SMS Avito Опубликовано 22 сентября, 2014 Поделиться Опубликовано 22 сентября, 2014 Имеется блок с двумя контрольками после данных. Данные лежат в явном виде. Пример: 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 Ссылка на комментарий Поделиться на другие сайты Поделиться
serrg Опубликовано 22 сентября, 2014 Поделиться Опубликовано 22 сентября, 2014 Так просто не посчитаешь, последняя КС считается посредством полинома. Первая КС (инверсия пробега) в подсчете второй КС не участвует. Ссылка на комментарий Поделиться на другие сайты Поделиться
wise_one Опубликовано 23 сентября, 2014 Поделиться Опубликовано 23 сентября, 2014 а можно весь дамп в студию ? Ссылка на комментарий Поделиться на другие сайты Поделиться
pionersurg Опубликовано 23 сентября, 2014 Поделиться Опубликовано 23 сентября, 2014 а можно намёк на полином? в каких авто аналогичное встречается? Ссылка на комментарий Поделиться на другие сайты Поделиться
Xor Опубликовано 23 сентября, 2014 Поделиться Опубликовано 23 сентября, 2014 Может вторая контролька связана с другими значениями, не из этого кусочка дампа? Ссылка на комментарий Поделиться на другие сайты Поделиться
SMS Avito Опубликовано 23 сентября, 2014 Автор Поделиться Опубликовано 23 сентября, 2014 Может вторая контролька связана с другими значениями, не из этого кусочка дампа? Вторая контролька имеет отношение только к тем данным, что я указал. Проверено 100%. Так просто не посчитаешь, последняя КС считается посредством полинома. Первая КС (инверсия пробега) в подсчете второй КС не участвует. Можете привести пример, где встречается аналогичный алго? P.S. Благодаря особенностям данной прошивки метод лобовой атаки сокращается ровно в два раза, но всё равно долго по времени. Если поменять местами два соседних байта - вторая контролька становится недействительной, первая остаётся без изменений. Если поменять местами два байта, расположенных через одну ячейку - вторая контролька становится недействительной, первая остаётся без изменений. При значении 0км. - как может получиться вторая контролька 6B?: 000000FF6B - пробег 0 км., первая контролька FF, вторая контролька 6B. Ссылка на комментарий Поделиться на другие сайты Поделиться
serrg Опубликовано 23 сентября, 2014 Поделиться Опубликовано 23 сентября, 2014 На то он и полином, что при изменении одного бита данных меняется весь байт КС. А 6B - это маска нуля. Ссылка на комментарий Поделиться на другие сайты Поделиться
goga Опубликовано 23 сентября, 2014 Поделиться Опубликовано 23 сентября, 2014 Что за конспирация? Трудно указать модель, выложить весь дамп и указать еепром..., про фотки я даже молчу... Ссылка на комментарий Поделиться на другие сайты Поделиться
SMS Avito Опубликовано 23 сентября, 2014 Автор Поделиться Опубликовано 23 сентября, 2014 Контролька взламывается методом лобовой атаки максимум за 128 минут, если автоматизировать процедуру с помощью компьютера. Наверное минимум можно сломать минут за двадцать (по 10 секунд на вариант). Вручную понадобится максимум часа три (все варианты). Мне повезло и контролька подошла через полтора часа, примерно на 50%. Если кто-то когда-то разберётся как правильно высчитывать последнюю контрольку - стукните пожалуйста мне в личку. Тему можно закрывать. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sergeyer Опубликовано 24 сентября, 2014 Поделиться Опубликовано 24 сентября, 2014 (изменено) Это с вазовской панели считается элементарно пробег в явном виде, инверсия тысяч пробега, и сумма всех чисел не забыть бит перехода. Контрольная сумма одна тут. Изменено 24 сентября, 2014 пользователем Sergeyer Ссылка на комментарий Поделиться на другие сайты Поделиться
wise_one Опубликовано 24 сентября, 2014 Поделиться Опубликовано 24 сентября, 2014 Это с вазовской панели считается элементарно пробег в явном виде, инверсия тысяч пробега, и сумма всех чисел не забыть бит перехода. Контрольная сумма одна тут. Если не трудно, можно развернутый пример ? Ссылка на комментарий Поделиться на другие сайты Поделиться
SMS Avito Опубликовано 24 сентября, 2014 Автор Поделиться Опубликовано 24 сентября, 2014 Это с вазовской панели считается элементарно пробег в явном виде, инверсия тысяч пробега, и сумма всех чисел не забыть бит перехода. Контрольная сумма одна тут. Контролек тут две штуки. По какой формуле считать 78.454 км., чтобы получилась контролька 33?: 07 84 54 20 33 - пробег 78.454 км., первая контролька 20, вторая контролька 33. Ссылка на комментарий Поделиться на другие сайты Поделиться
Пёстренький Опубликовано 24 сентября, 2014 Поделиться Опубликовано 24 сентября, 2014 Контролек тут две штуки. По какой формуле считать 78.454 км., чтобы получилась контролька 33?: 07 84 54 20 33 - пробег 78.454 км., первая контролька 20, вторая контролька 33. Автор, если по-твоему первая контролька =20, то по какому алго она высчитывается. Я разобрался от 0 до 100 км это очень просто. Но для твоего пробега 78454 контролька не может быть просто равна 20, тем более, если ты утверждаешь, что твои первые примеры от 0 до 100 верны. Ссылка на комментарий Поделиться на другие сайты Поделиться
serrg Опубликовано 24 сентября, 2014 Поделиться Опубликовано 24 сентября, 2014 Автор, если по-твоему первая контролька =20, то по какому алго она высчитывается. Я разобрался от 0 до 100 км это очень просто. Но для твоего пробега 78454 контролька не может быть просто равна 20, тем более, если ты утверждаешь, что твои первые примеры от 0 до 100 верны. Сложение ни кто не отменял, плюс ^ 0xFF Ссылка на комментарий Поделиться на другие сайты Поделиться
SMS Avito Опубликовано 24 сентября, 2014 Автор Поделиться Опубликовано 24 сентября, 2014 (изменено) Автор, если по-твоему первая контролька =20, то по какому алго она высчитывается. Я разобрался от 0 до 100 км это очень просто. Но для твоего пробега 78454 контролька не может быть просто равна 20, тем более, если ты утверждаешь, что твои первые примеры от 0 до 100 верны. Во прикол. Вроде я тут помощи просил. Как высчитывается перавая контролька - я понял на третьей минуте анализа алгоритма. А вот как сичтается вторая контролька - не понял и через неделю. Поэтому открыл тему. После слова "полином" подумал - да ну его на фиг, этот алго, и сломал его методом атаки в лоб. Кстати, первую контрольку я правильно посчитал для нового пробега. В этой теме все мои примеры верны, взяты из реальных показаний прошивки. Для трёх байт похдходят две формулы подсчёта первой контрольки, а для пяти байт только одна из двух формул. P.S. Самую грамотную мысль в этой теме высказал serrg, мой земляк, спасибо ему огромное. Sergeyer прогнал пургу, не подумав. Сразу видно, кто тут профи, а кто мышей не ловит (Пёстренький тоже касается). Изменено 24 сентября, 2014 пользователем SMS Avito Ссылка на комментарий Поделиться на другие сайты Поделиться
Пёстренький Опубликовано 25 сентября, 2014 Поделиться Опубликовано 25 сентября, 2014 Во прикол. Вроде я тут помощи просил. Как высчитывается перавая контролька - я понял на третьей минуте анализа алгоритма. А вот как сичтается вторая контролька - не понял и через неделю. Поэтому открыл тему. После слова "полином" подумал - да ну его на фиг, этот алго, и сломал его методом атаки в лоб. Кстати, первую контрольку я правильно посчитал для нового пробега. В этой теме все мои примеры верны, взяты из реальных показаний прошивки. Для трёх байт похдходят две формулы подсчёта первой контрольки, а для пяти байт только одна из двух формул. P.S. Самую грамотную мысль в этой теме высказал serrg, мой земляк, спасибо ему огромное. Sergeyer прогнал пургу, не подумав. Сразу видно, кто тут профи, а кто мышей не ловит (Пёстренький тоже касается). Ну, хорошо, попиарился а теперь раскажи в чем фишка , очень хочется мышей ловить. Ссылка на комментарий Поделиться на другие сайты Поделиться
SMS Avito Опубликовано 25 сентября, 2014 Автор Поделиться Опубликовано 25 сентября, 2014 Ну, хорошо, попиарился а теперь раскажи в чем фишка , очень хочется мышей ловить. Глянь примеры больше 100 километров. Все контрольки в примерах валидные. Ссылка на комментарий Поделиться на другие сайты Поделиться
wise_one Опубликовано 27 сентября, 2014 Поделиться Опубликовано 27 сентября, 2014 О какой помощи может идти речь ? Нет ни полного дампа, ни названия авто, ни желания разобраться в чексумме... Есть только умозаключения автора, который ни согласен с мнениями других в принципе. Ссылка на комментарий Поделиться на другие сайты Поделиться
SMS Avito Опубликовано 27 сентября, 2014 Автор Поделиться Опубликовано 27 сентября, 2014 О какой помощи может идти речь ? Нет ни полного дампа, ни названия авто, ни желания разобраться в чексумме... Есть только умозаключения автора, который ни согласен с мнениями других в принципе. Полные дампы от таких блоков вряд ли кто будет выкладывать. Названия авто тоже нет, так как блок не имеет отношения к автомобилям. Пробег в километрах указан чисто символически - там другая единица измерения, например количество попугаев или световых лет, к алгоритму и контрольной сумме это не имеет отношения. Согласен с мнением serrg, что это полином и посчитать его проблематично. С мнением тех, кто что-то ляпнул не подумав, конечно я не согласен (не - на конце пишется е, а не и). Тему можно закрывать, задача решена. Выше в теме выложено и решение задачи, и формула первой контрольки. Ссылка на комментарий Поделиться на другие сайты Поделиться
balodiya Опубликовано 27 сентября, 2014 Поделиться Опубликовано 27 сентября, 2014 наверно это всетаки byd f3 ? что то очень похож алгоритм Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти