Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Кто-нибудь знает как по известной CRC32 от массива длиной 26 байт вычислить последние 4 байта(21...25) если первые 22 байта(0...21) известны?
Отправлено
Ale3000
07 июня 2007 г. 09:14
Составить ответ
|
Вернуться на конференцию
Ответы
этот цикл for (i=0;i <= 0xffffffff;i++) {} у меня прогнался за какие то минуты..... намек: 4 байта как раз в лонг укладываются, а теперь просто перебираем все комбинации, вычисляем crc и дампим:))
—
ы
(07.06.2007 14:03:34
80.92.98.211
,
пустое
)
а, уже предложили:)
—
ы
(07.06.2007 14:06:20
80.92.98.211
,
пустое
)
на всякий случай: "CRC and how to Reverse it"
—
NAUT
(07.06.2007 12:30:20
85.140.110.172
,
пустое
,
ссылка
)
"Фарш невозможно провернуть назад, и мясо из него не восстановишь"(с)
—
=AVR=
(07.06.2007 11:04:52
80.92.96.19
,
пустое
)
...из котлет... (пардон :-))
—
grayprapor
(07.06.2007 13:26:47
69.41.173.145
,
пустое
)
Тем более если искомые 4 байта и есть CRC32 :)
—
Quasy
(07.06.2007 11:13:45
80.243.9.34
,
пустое
)
Если бы длина посылки сотавляла кратное 4 число байт(+)
—
misyachniy
(07.06.2007 10:41:14
212.90.165.14
, 109 байт)
Могу сделать 28 байт если надо, ошибок точно нет. Скажите алгоритм
—
Ale3000
(07.06.2007 11:14:57
87.241.198.38
,
пустое
)
Алгоритм простой...
—
-mse-
(07.06.2007 11:47:36
83.239.86.98
, 282 байт)
;О) Атас...В книжке одного знатока этого дела есть целая глава, где описываются механизьмы замены части содержимого без изменения общего ЦРЦ. И похрен, есть где ошибки, нет где ошибок, кратно 4 или 6...
—
-mse-
(07.06.2007 11:02:25
83.239.86.98
,
пустое
)
образно говоря(шоп на пальцАх, типо не умничяйте, кто в теме ;О), ЦРЦ это остаток деления числа, размером в твои 26 бутес, на некий делитель. А теперь подумай, что ты сможешь вытащить из этого остатка, кроме инфы, что случилось стращное...Где-то там, унутре...
—
-mse-
(07.06.2007 10:26:4
83.239.86.98
,
пустое
)
короче, нада применять коды, исправляющие ашыпки. И ффсё.
—
=L.A.=
(07.06.2007 10:36:48
213.134.214.10
,
пустое
)
Обычно если подсчитать CRC вместе со значением CRC, должен получиться ноль. Решив уравнение получите результат
—
Vit
(07.06.2007 09:31:1
77.123.150.96
,
пустое
)
Вроде так - заводишь цикл(+)
—
Vit
(07.06.2007 12:01:26
83.170.240.226
, 264 байт)
Т.е. прямой перебор из 4 милиардов комбинаций? Мне тоже это первым делом на ум пришло, но это слишком долго. У меня это будет в атмеге на 8МГц работать
—
Ale3000
(07.06.2007 13:45:37
87.241.198.38
,
пустое
)
:))) это на компе лабораторку решить. А в процессе - ИМХО, какая-то нафиг ненужная задача, но если сильно надо, то смотри ниже от argus98
—
Vit
(07.06.2007 13:55:51
83.170.240.226
,
пустое
,
ссылка
)
$) Это тоже работать не будет(+)
—
Vit
(07.06.2007 14:19:4
83.170.240.226
, 108 байт)
Навряд ли получится однозначный результат. Скорей их будет сотня и все правильные.
—
=L.A.=
(07.06.2007 09:54:44
213.134.214.10
,
пустое
)
видимо так: CRC(первые байты) XOR CRC(общая)
—
argus98
(07.06.2007 09:30:11
81.22.205.230
,
пустое
)
... и для этих 4х байт сделать обратную CRC
—
argus98
(07.06.2007 09:39:58
81.22.205.230
,
пустое
)
А что за обратная CRC?
—
Ale3000
(07.06.2007 10:07:30
87.241.198.38
,
пустое
)
Чуток ошибся, получается таким образом (+):
—
argus98
(07.06.2007 11:03:2
81.22.205.230
, 203 байт)
Обед прошел не зря. Обратная CRC(+):
—
argus98
(07.06.2007 12:57:49
81.22.205.230
, 230 байт)
Я проверил. Не работает. Смотрите исходник
—
Ale3000
(07.06.2007 13:58:33
87.241.198.38
, 494 байт)
Не очень понятно (+):
—
argus98
(07.06.2007 14:22:2
81.22.205.230
, 185 байт)
Старший бит полинома не влезает в 4 байта т.е. полином=0x154C11DB7 ведь это CRC32 и полином должен быть 32. Единица подразумевается.
—
Ale3000
(07.06.2007 15:17:11
87.241.198.38
, 329 байт)
Ответ (+):
—
argus98
(07.06.2007 16:19:53
81.22.205.230
, 591 байт)
Забыл слово: Полином должен быть 32 степени.
—
Ale3000
(07.06.2007 15:18:20
87.241.198.38
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
скольким Омам равен эквивалент двух резисторов по 10 Ом, соединённых параллельно?:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru