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

Найти алгоритм контрольной суммы.


aiselcms

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

Доброго дня. Ужа давно мучаюсь с поиском алгоритма контрольной суммы.

Имеется кусок дампа:

69 55 69 56 a9 76 1a aa 60 93 a5 6f aa 9f ab ba
ae f6 70 49 61 be 96 5b da 55 bf ab d9 76 9c 6a
06 df 95 6a e5 56 48 9c

и кусок из второго дампа:

65 55 69 56 a9 76 9a aa 20 1f a5 6f aa 9f ab ba
ae f6 70 49 61 be 96 5b da 55 bf ab d9 76 93 6a
05 df 95 6a e6 56 48 93

и кусок из третьего дампа (для сравнения):

66 55 69 56 a9 76 9a 9a 20 2c a5 6f aa 9f ab ba
ae 85 f0 3a 65 61 96 5b da 55 bf 5b da 5d 93 55
05 9f 95 6a e6 56 40 ec

Последние два байта (в первом случае 48 9с, а во втором 48 93) - вероятнее всего контрольная сумма.

Если в первом куске заменить первые 4-ре байта 69 55 69 56 на 5а 55 55 55, то контрольная сумма не меняется и всё продолжает работать как нужно с некоторыми нужными мне изменениями. Заметил особенность:

69 xor 55 xor 69 xor 56 = F и 5a xor 55 xor 55 xor 55 = F.

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

Куски из дампа приборной панели Honda Civic X (10 поколение). 93с86 eeprom. В данных кусках записаны данные для включения нужных функций и параметров приборной панели, таких как температура в C или F, язык, опции авто, дизель/бензин и тд.

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

вообще, обсуждение алгоритмов на форумах признак дурного тона. а на многих вообще баней пахнет.

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

Что в этом плохого? Человек пытается разобраться с алго.Да и пишет он на профильном форуме а не на драйве

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

3 часа назад, shadows сказал:

Что в этом плохого? Человек пытается разобраться с алго.Да и пишет он на профильном форуме а не на драйве

такие вещи в личках обсуждаются, а не в открытых разделах.

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

12 минут назад, Megadeth сказал:

такие вещи в личках обсуждаются, а не в открытых разделах.

Например кому мне написать в личку, и обратиться за помощью? Вам например?

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

12 минут назад, Megadeth сказал:

такие вещи в личках обсуждаются, а не в открытых разделах.

А что будет если будет здесь он учит кто-то останется без работы что ли 

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

В 19.03.2020 в 13:53, aiselcms сказал:

69 xor 55 xor 69 xor 56 = F

Странно.А как у Вас получилось F ? Несколько раз пересчитал , но получается 3.

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

2 часа назад, Stok сказал:

Странно.А как у Вас получилось F ? Несколько раз пересчитал , но получается 3.

Извиняюсь, немного не то написал. Да, получается 3, F получалось в другом дампе.

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

16 часов назад, aiselcms сказал:

Lo siento, escribí un poco mal. Sí, resulta 3, F resultó en otro basurero.

привет. Не могли бы вы объяснить, как работает эта контрольная сумма? пожалуйста

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

Вот какие на данный момент подвижки:

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

69 55 69 56 a9 76 1a aa 60 93 a5 6f aa 9f ab ba ae f6 70 49 61 be 96 5b da 55 bf ab d9 76 9c 6a 06 df 95 6a e5 56 48 9c
65 55 69 56 a9 76 9a aa 20 1f a5 6f aa 9f ab ba ae f6 70 49 61 be 96 5b da 55 bf ab d9 76 93 6a 05 df 95 6a e6 56 48 93 
66 55 69 56 a9 76 9a 9a 20 2c a5 6f aa 9f ab ba ae 85 f0 3a 65 61 96 5b da 55 bf 5b da 5d 93 55 05 9f 95 6a e6 56 40 ec

Каждый 10-тый (10, 20, 30, 40) байт скорее всего контрольная сумма вычисленная не известным алгоритмом.

Разберем байты с 01 до 05:

1. Их можно менять местами без потери целостности КС.

2. Если вычислить КС по алгоритму XOR: 69 xor 55 xor 69 xor 56 xor a9, то если вычислить последовательность, которая будет давать такое же значение, те  69 xor 55 xor 69 xor 56 xor a9 = x1 xor x2 xor x3 xor x4 xor x5, то её можно записать без потери целостности КС.

Байт в позиции 06 нельзя менять местами с соседними байтами. Так же байты в позиции 10, 20, 30, 40 так же нельзя менять местами с соседними байтами.

Так же есть закономерность: по 20 и 30 байтам: если взять 9 предыдущих байтов

a5 6f aa 9f ab ba ae f6 70 49, то если 9 байтов будут одинаковые, то и 10-тих будет такой же, но это работает только для 20 и 30 байта.

 

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

  • 1 год спустя...

@aiselcms
69 XOR 55 XOR 69 XOR 56 XOR a9 XOR 76 XOR 1a XOR aa XOR ff = 93
65 XOR 55 XOR 69 XOR 56 XOR a9 XOR 76 XOR 9a XOR aa XOR ff = 1F
66 XOR 55 XOR 69 XOR 56 XOR a9 XOR 76 XOR 9a XOR 9a XOR ff = 2C

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

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

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

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

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

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

Войти

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

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

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