Поиск:

Ответ в темуСоздание новой темы Создание опроса
> нужно решение циклической формулы 
:(
    Опции темы
okulski
Дата 8.3.2010, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



в общем всё достаточно просто 

есть файл
состоящий из блоков определённой длинны

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

в каждом блоке есть контрольная сумма рассчитывается(проверяется) она по формуле CHECKSUMb = 65535 - SUMMb(32бит целое) +1

у файла тоже есть контрольная сумма рассчитывается(проверяется) она по формуле CHECKSUMf = 65535 - SUMMf(32бит целое) +1

проблема в том что контрольная сумма файла включает в себя контрольную сумму блока и контрольная сумма последнего блока включает в себя сумму файла
выглядит это так
CHECKSUMb = 65535 - (SUMMb(32бит целое) + CHECKSUMf )+1
CHECKSUMf = 65535 - (SUMMf(32бит целое) + CHECKSUMb )+1

народ подкажите как посчитать эту формулу 
реально уже мозг в раскоряку  smile 
PM MAIL   Вверх
nworm
Дата 9.3.2010, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 502
Регистрация: 22.10.2005

Репутация: 4
Всего: 8



Походу систему уравнений надо решить?

CHECKSUMb=x
CHECKSUMf=y

x = 65535 - SUMMb(32бит целое) - y +1
y = 65535 - SUMMf(32бит целое) - x +1

x+y =  65535 - SUMMb(32бит целое) +1
x+y =  65535 - SUMMf(32бит целое) +1

в твоих условиях, если SUMMb(32бит целое)!=SUMMf(32бит целое), нерешаемое уравнение получается...
PM MAIL WWW   Вверх
okulski
Дата 21.3.2010, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



в том то и смысл что математики так и говорят

но факт остаётся фактом что когда проверяеш по формуле проверки каждую контрольку а надостающее число берёш из файла то всё сходится

а коли прошивки всётаки существуют в огромном множестве должен быть вариант для вычисления данных контрольных сумм

для примера ftp.dlink.ru wireless dwl-2100ap к примеру, там файлов гора с расширением .tfp


PM MAIL   Вверх
Onyma
Дата 3.7.2010, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 26.11.2009

Репутация: нет
Всего: нет



подскажите, что обозначает SUMM(b/f) (какую точно функцию)?
PM MAIL   Вверх
okulski
Дата 4.7.2010, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



SUMM(b/f) 
f - file блок данных всего файла в который включено несколько блоков b (всего в файле "заголовок файла + блок f один + контрольная сумма f")
b - block один из блоков данных в файле f (количество блоков зависит от объёма начального файла "заголовок блока(включая контрольную сумму блока b) + блок b" последний же блок "заголовок блока(включая контрольную сумму блока b) + блок b(включает контрольную сумму блока f)")

SUMM - сумма байтов блока данных с логикой вычислений 32бит целое.

PM MAIL   Вверх
skyboy
Дата 5.7.2010, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



а контрольная сумма всего файла точно входит в последний блок? 
PM MAIL   Вверх
okulski
Дата 5.7.2010, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



в том то вся и проблема
я уже всяко проверял
PM MAIL   Вверх
slowmen
Дата 21.7.2010, 06:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 21.7.2010

Репутация: нет
Всего: нет



Может последний блок модифицируется? Добавляется байт для подгонки.
PM MAIL   Вверх
okulski
Дата 22.7.2010, 05:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



нет

во многих прошивках проверено не однократно

PM MAIL   Вверх
nmn
Дата 7.9.2010, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

Репутация: нет
Всего: 1



Цитата(okulski @  4.7.2010,  23:27 Найти цитируемый пост)
сумма байтов блока данных с логикой вычислений 32бит целое.

что такое "логика вычисления 32 бит целое"?
PM Skype   Вверх
okulski
Дата 9.9.2010, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



это когда 65536+1=0 (или 1 не помню точно) тоесть цифра увеличивается до предела 32битного целого числа после чего идёт обнуление
PM MAIL   Вверх
ksnk
Дата 9.9.2010, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 386



Контрольная сумма блока и файла строится так, чтобы сумма всех слов в блоке/файле была равна 0 ? Тогда какая разница сколько блоков и какая контрольная сумма файла? Посчитай контрольную сумму блоков и предварительно поставь случайную контрольную сумму файла  smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
nmn
Дата 9.9.2010, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

Репутация: нет
Всего: 1



Цитата(okulski @ 9.9.2010,  13:04)
это когда 65536+1=0 (или 1 не помню точно) тоесть цифра увеличивается до предела 32битного целого числа после чего идёт обнуление

может не 65536, а 2^32-1?
как то неопределенно, может 0, а может и 1...
PM Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0781 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.