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

 

 

Примеры правильных пятибайтных последовательностей (три байта данных + две контрольки):

 

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

 

 

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

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

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

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

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

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

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

 

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

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

 

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

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

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

 

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

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

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

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

 

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

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

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Войти

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

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

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