Расчет контрольной суммы

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить
Родился
Сообщения: 1
Зарегистрирован: Пн мар 26, 2012 21:27:10

Сообщение icsn »

Здравствуйте!
Помогите востановить алгоритм расчета контрольной суммы в прошивке IP телефонов.
Когда в телефоне ломается флеш-память - можно востановить заменой микросхемы и перезаписью прошивки с рабочего телефона. НО... Надо корректировать MAC адрес, иначе будут проблемы в сети из-за одинакового МАС адреса. Адрес лежит в прошивке в открытом виде но контролируется дополнительной контрольной суммой. Именно этот алгоритм расчета суммы и прошу помочь восстановить.

Входные данные:
mac: 000b825151d9 sum: b8b9
mac: 000b82515605 sum: b48d
mac: 000b825156b6 sum: b3dc
mac: 000b825158b7 sum: b1db
mac: 000b82515e20 sum: ac72
mac: 000b82515e40 sum: ac52
mac: 000b82516809 sum: a289
mac: 000b825168f4 sum: a19e
mac: 000b8253fd4a sum: 0d46
mac: 000b8253fd54 sum: 0d3c
mac: 000b826e4e70 sum: 9856

эти данные вычитаны из рабочих прошивок. все числа в шестнадцатеричном формате. Спасибо.

P.S. Сервисные центры не берут такие телефоны на ремонт аргументируя очень старой и морально устаревшей техникой.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 17027
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Сообщение mickbell »

Там что-то ещё, кроме мака, защищается этой контрольной суммой. В некоторых строчках это что-то одинаково, но не во всех. Сама сумма считается просто: берёте четыре цифры и считаете их числом, прибавляете к ним число из следующих четырёх цифр, потом из четырёх последних и добавляете контрольную сумму. В результате должно было получиться круглое число - с четырьмя младшими нулями.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Сообщение B@R5uk »

Я всегда раньше думал, что контрольная сумма — это сумма всех двоичных единичек в строке байтов. А если что-то по-сложнее, что это уже всякие CRC и так далее. В любом случае, контрольная сумма считается не для одной строчки байт, а для какого-то довольно большого блока (например всё содержимое флэша). То есть, вам надо пересчитать контрольные суммы начиная со строчки, где были внесены изменения, и далее по списку до самого конца блока (флэша).
Друг Кота
Аватара пользователя
Сообщения: 17027
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Сообщение mickbell »

Как считать контрольную сумму (побайтно), расписано, насколько я помню, в описании протокола Modbus-ASCII. Это - не количество единичных битов в защищаемом блоке, а именно сумма побайтно, но не вся, а только её младший байт. Также контрольная сумма применяется в формате Intel HEX, правда, его описания я не видел.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
Реклама
Эиком - электронные компоненты и радиодетали
Ответить

Вернуться в «Теория»