Перейти к содержанию
AUTO TECHNOLOGY

Алгоритм пробега с двумя контрольками


SMS Avito

Рекомендуемые сообщения

Имеется блок с двумя контрольками после данных. Данные лежат в явном виде.

 

Пример:

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 километров и пару других значений:

 

  Показать контент

 

Ссылка на комментарий
Поделиться на другие сайты

Так просто не посчитаешь, последняя КС считается посредством полинома. Первая КС (инверсия пробега) в подсчете второй КС не участвует.

Ссылка на комментарий
Поделиться на другие сайты

а можно намёк на полином? в каких авто аналогичное встречается?

Ссылка на комментарий
Поделиться на другие сайты

  В 23.09.2014 в 03:38, Xor сказал:

Может вторая контролька связана с другими значениями, не из этого кусочка дампа?

Вторая контролька имеет отношение только к тем данным, что я указал. Проверено 100%.

 

  В 22.09.2014 в 22:41, serrg сказал:

Так просто не посчитаешь, последняя КС считается посредством полинома. Первая КС (инверсия пробега) в подсчете второй КС не участвует.

Можете привести пример, где встречается аналогичный алго?

 

P.S. Благодаря особенностям данной прошивки метод лобовой атаки сокращается ровно в два раза, но всё равно долго по времени.

Если поменять местами два соседних байта - вторая контролька становится недействительной, первая остаётся без изменений.

Если поменять местами два байта, расположенных через одну ячейку - вторая контролька становится недействительной, первая остаётся без изменений.

 

При значении 0км. - как может получиться вторая контролька 6B?:

000000FF6B - пробег 0 км., первая контролька FF, вторая контролька 6B.

Ссылка на комментарий
Поделиться на другие сайты

Контролька взламывается методом лобовой атаки максимум за 128 минут, если автоматизировать процедуру с помощью компьютера. Наверное минимум можно сломать минут за двадцать (по 10 секунд на вариант).

 

Вручную понадобится максимум часа три (все варианты). Мне повезло и контролька подошла через полтора часа, примерно на 50%.

 

Если кто-то когда-то разберётся как правильно высчитывать последнюю контрольку - стукните пожалуйста мне в личку.

Тему можно закрывать.

Ссылка на комментарий
Поделиться на другие сайты

Это с вазовской панели считается элементарно пробег в явном виде, инверсия тысяч пробега, и сумма всех чисел не забыть бит перехода. Контрольная сумма одна тут.

Изменено пользователем Sergeyer
Ссылка на комментарий
Поделиться на другие сайты

  В 24.09.2014 в 02:30, Sergeyer сказал:

Это с вазовской панели считается элементарно пробег в явном виде, инверсия тысяч пробега, и сумма всех чисел не забыть бит перехода. Контрольная сумма одна тут.

Если не трудно, можно развернутый пример ?

Ссылка на комментарий
Поделиться на другие сайты

  В 24.09.2014 в 02:30, Sergeyer сказал:

Это с вазовской панели считается элементарно пробег в явном виде, инверсия тысяч пробега, и сумма всех чисел не забыть бит перехода. Контрольная сумма одна тут.

Контролек тут две штуки.

По какой формуле считать 78.454 км., чтобы получилась контролька 33?:

07 84 54 20 33 - пробег 78.454 км., первая контролька 20, вторая контролька 33.

Ссылка на комментарий
Поделиться на другие сайты

  В 24.09.2014 в 08:00, SMS Avito сказал:

Контролек тут две штуки.

По какой формуле считать 78.454 км., чтобы получилась контролька 33?:

07 84 54 20 33 - пробег 78.454 км., первая контролька 20, вторая контролька 33.

Автор, если по-твоему первая контролька =20, то по какому алго она высчитывается. Я разобрался от 0 до 100 км это очень просто. Но для твоего пробега 78454 контролька не может быть просто равна 20, тем более, если ты утверждаешь, что твои первые примеры от 0 до 100 верны.
Ссылка на комментарий
Поделиться на другие сайты

  В 24.09.2014 в 18:57, Пёстренький сказал:

Автор, если по-твоему первая контролька =20, то по какому алго она высчитывается. Я разобрался от 0 до 100 км это очень просто. Но для твоего пробега 78454 контролька не может быть просто равна 20, тем более, если ты утверждаешь, что твои первые примеры от 0 до 100 верны.

Сложение ни кто не отменял, плюс ^ 0xFF

Ссылка на комментарий
Поделиться на другие сайты

  В 24.09.2014 в 18:57, Пёстренький сказал:

Автор, если по-твоему первая контролька =20, то по какому алго она высчитывается. Я разобрался от 0 до 100 км это очень просто. Но для твоего пробега 78454 контролька не может быть просто равна 20, тем более, если ты утверждаешь, что твои первые примеры от 0 до 100 верны.

Во прикол. Вроде я тут помощи просил. Как высчитывается перавая контролька - я понял на третьей минуте анализа алгоритма. А вот как сичтается вторая контролька - не понял и через неделю. Поэтому открыл тему. После слова "полином" подумал - да ну его на фиг, этот алго, и сломал его методом атаки в лоб. Кстати, первую контрольку я правильно посчитал для нового пробега.

 

В этой теме все мои примеры верны, взяты из реальных показаний прошивки. Для трёх байт похдходят две формулы подсчёта первой контрольки, а для пяти байт только одна из двух формул.

 

P.S. Самую грамотную мысль в этой теме высказал serrg, мой земляк, спасибо ему огромное. Sergeyer прогнал пургу, не подумав. Сразу видно, кто тут профи, а кто мышей не ловит (Пёстренький тоже касается).

Изменено пользователем SMS Avito
Ссылка на комментарий
Поделиться на другие сайты

  В 24.09.2014 в 19:29, SMS Avito сказал:

Во прикол. Вроде я тут помощи просил. Как высчитывается перавая контролька - я понял на третьей минуте анализа алгоритма. А вот как сичтается вторая контролька - не понял и через неделю. Поэтому открыл тему. После слова "полином" подумал - да ну его на фиг, этот алго, и сломал его методом атаки в лоб. Кстати, первую контрольку я правильно посчитал для нового пробега.

 

В этой теме все мои примеры верны, взяты из реальных показаний прошивки. Для трёх байт похдходят две формулы подсчёта первой контрольки, а для пяти байт только одна из двух формул.

 

P.S. Самую грамотную мысль в этой теме высказал serrg, мой земляк, спасибо ему огромное. Sergeyer прогнал пургу, не подумав. Сразу видно, кто тут профи, а кто мышей не ловит (Пёстренький тоже касается).

Ну, хорошо, попиарился а теперь раскажи в чем фишка , очень хочется мышей ловить.
Ссылка на комментарий
Поделиться на другие сайты

  В 25.09.2014 в 20:27, Пёстренький сказал:

Ну, хорошо, попиарился а теперь раскажи в чем фишка , очень хочется мышей ловить.

Глянь примеры больше 100 километров. Все контрольки в примерах валидные.

Ссылка на комментарий
Поделиться на другие сайты

О какой помощи может идти речь ? Нет ни полного дампа, ни названия авто, ни желания разобраться в чексумме...

Есть только умозаключения автора, который ни согласен с мнениями других в принципе.

Ссылка на комментарий
Поделиться на другие сайты

  В 27.09.2014 в 01:16, wise_one сказал:

О какой помощи может идти речь ? Нет ни полного дампа, ни названия авто, ни желания разобраться в чексумме...

Есть только умозаключения автора, который ни согласен с мнениями других в принципе.

Полные дампы от таких блоков вряд ли кто будет выкладывать.

Названия авто тоже нет, так как блок не имеет отношения к автомобилям.

Пробег в километрах указан чисто символически - там другая единица измерения, например количество попугаев или световых лет, к алгоритму и контрольной сумме это не имеет отношения.

Согласен с мнением serrg, что это полином и посчитать его проблематично. С мнением тех, кто что-то ляпнул не подумав, конечно я не согласен (не - на конце пишется е, а не и).

Тему можно закрывать, задача решена. Выше в теме выложено и решение задачи, и формула первой контрольки.

Ссылка на комментарий
Поделиться на другие сайты

наверно это всетаки byd f3 ? что то очень похож алгоритм

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...
Рейтинг@Mail.ru Яндекс цитирования