Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2011.02.20;
Скачать: [xml.tar.bz2];

Вниз

Анализ бинарника   Найти похожие ветки 

 
Movement_boy ©   (2010-11-11 13:50) [0]

Здравствуйте.
Стоит задача написать программу анализа бинарного файла. Файл содержит набор принятых кадров, каждый кадр имеет свой идентификатор в теле заголовка. Заголовок имеет фиксированную длину и начинается с синхрослова, одинаковое для всех типов кадров. Требуется найти начало кадра по его синхрослову, проанализировать поле идентификатора кадра и принять данные, следуемые за заголовком. Идентификатор нужен для последующей фильтрации и вывода информации определенного вида кадров. Примерная структура бинарника (начиная с синхрослова заголовка):
AA 71 B1 B8 53 00 00 00 7F 81 (заголовок закончился, пошли данные) B6 E1 00 FF и т.д.
AA 71 - синхрослово
B1 B8 - идентификатор типа кадра
53 00 - количество слов данных
00 00 - резерв
7F 81 - КС

Данные в бинарнике записаны в обратном порядке, т.е. младшими байтами вперед.

Я в delphi новичок, но кое-какие идеи уже имеются. Хотелось бы узнать Ваши предложения. Заранее спасибо.


 
Dennis I. Komarov ©   (2010-11-11 13:56) [1]

А какие тут могут быть идеи?
Читаем файл, анализируем данные...

Или это ТЗ для нас?


 
asail ©   (2010-11-11 14:31) [2]


> AA 71 - синхрослово

А зачем оно тут если есть

> 53 00 - количество слов данных



> Данные в бинарнике записаны в обратном порядке, т.е. младшими
> байтами вперед.

Тут не понял...


 
Anatoly Podgoretsky ©   (2010-11-11 14:37) [3]

> asail  (11.11.2010 14:31:02)  [2]

Вперед это куда, влево или вправо?


 
tesseract ©   (2010-11-11 14:41) [4]


> Данные в бинарнике записаны в обратном порядке, т.е. младшими
> байтами вперед.


Т.е обычно для x86.


> А зачем оно тут если есть


А как определишь, что это  за данные без определителя?


 
Dimka Maslov ©   (2010-11-11 14:41) [5]

Младшими байтами вперёд есть самая что ни на есть прямая запись байт в бинарнике


 
DVM ©   (2010-11-11 14:42) [6]


> Данные в бинарнике записаны в обратном порядке, т.е. младшими
> байтами вперед.

little-endian или big-endian лучше скажи, а то вперед-назад непонятно:
http://ru.wikipedia.org/wiki/Htonl#.D0.9A.D0.BE.D0.BD.D0.B2.D0.B5.D1.80.D1.82.D0.B0.D1.86.D0.B8.D1.8F


 
Anatoly Podgoretsky ©   (2010-11-11 15:29) [7]

> Dimka Maslov  (11.11.2010 14:41:05)  [5]

Специалисты обычно обсуждают какие индейцы большие или малые.


 
Asail ©   (2010-11-11 16:57) [8]


> Anatoly Podgoretsky ©   (11.11.10 14:37) [3]
> > asail  (11.11.2010 14:31:02)  [2]
>
> Вперед это куда, влево или вправо?

Дядь Толь, это Вы меня спрашиваете?!! :)


> tesseract ©   (11.11.10 14:41) [4]

> А как определишь, что это  за данные без определителя?

Я чегой-то решил, что у всех кадров "синхрослово" одинаковое и просто указывет что отсель новый блок пошел.... Если оно уникально для каждого слова, то да - нужно.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2011.02.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.004 c
2-1290758680
Jacksotnik
2010-11-26 11:04
2011.02.20
Edit и кнопка


2-1290639541
Германн
2010-11-25 01:59
2011.02.20
Типизированные константы


15-1289158220
Dzmitry.Loktseu
2010-11-07 22:30
2011.02.20
Threads


3-1253187389
harisma
2009-09-17 15:36
2011.02.20
Помогите оптимизировать скрипт


15-1287691449
bss
2010-10-22 00:04
2011.02.20
Проектирование БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский