Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2013, 02:28   #1
qwerc1
Пользователь
 
Регистрация: 15.06.2010
Сообщений: 10
По умолчанию Данные из фрейма ZDATA протокола ZMODEM

Ситуация - на руках файл, содержащий фреймы, созданные по протоколу ZMODEM передатчиком. Иначе - кадры, полученные приемником, но еще не обработанные. Задача - достать данные из фрейма ZDATA. Найден ZRQINIT, ZFILE, ZDATA, ZEOF, ZFIN, oo.

В заголовке ZDATA указан ZBIN32, следовательно будет CRC32. После заголовка, состоящего из ZPAD ZDLE ZBIN32 ZDATA f1 f2 f3 f4 СRC1 СRC2 СRC3 СRC4 начинаю разбирать бинарные данные. Кроме простых символов на пути встречаются 18d0, 18d1, 18d3, 1850, 1853, 1858, 1851, 18cd, 184d, 1869. У всех кроме 1869 инвертирую 6 бит второго символа, записываю. При встрече 1869(ZCRCG) пропускаю 4 байта контрольной суммы. Если в этих 4х байтах CRC вдруг встречается один из приведенных выше замаскированных символов, ну вроде 1869 41 0Е 18 51 0A пропускаю лишний байт, предполагая, что CRC = 41 0E 11 0A. Если дошел до 1868(ZCRCE) — останавливаюсь. Мне нужны лишь данные. Если все так собираю, получаю на 4 байта больше нужного. В данных zip файл, поэтому точность должна быть норм) Всякие zip recovery не помогают восстановить.

Что делаю не так? Правильно ли, что я при встрече 18d0, 18d1, 18d3, 1850, 1853, 1858, 1851, 18cd, 184d записываю измененный второй символ? Или вообще по-другому надо интерпретировать их?
qwerc1 вне форума Ответить с цитированием
Старый 26.10.2013, 08:02   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Есть полное описание структуры файла?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 26.10.2013, 12:44   #3
qwerc1
Пользователь
 
Регистрация: 15.06.2010
Сообщений: 10
По умолчанию

Проблема решена, найден маленький баг.
qwerc1 вне форума Ответить с цитированием
Старый 26.10.2013, 13:19   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Так выкладывайте решение, иначе ваша тема бесполезна для форума.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разобор HID протокола ??? redradist Общие вопросы C/C++ 5 27.07.2013 16:57
Исследование протокола m1kx Безопасность, Шифрование 3 28.08.2012 12:53
Описание протокола maska228 Помощь студентам 0 12.06.2011 21:31
Спецификация протокола ICQ russian-stalker Свободное общение 5 10.04.2011 14:47
Разработка протокола OrdJONY Общие вопросы по программированию, компьютерный форум 2 04.10.2007 13:21