• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Бинарные файлы

  • Автор темы SERGMov
  • Дата начала
S

SERGMov

Проблема такова: есть бинарные файлы созданные прогой на LabView, нужно их читать прогой на VB. Облазил кучу форумов, перепробовал кучу вариантов, но ничего путного так и не получил - то пример реализовать не получается под свои нужды, то получается ерунда. Пробовал еще на LabView написать тестовую прогу, чтоб посмотреть как она пишет числа в бинарные файлы - результаты запутали еще больше.
Теперь конкретнее - есть описание формата данных в файлах и есть файл, из которого известны кой какие значения:
16 байт заголовка должны содержать 3 числа:
64000 - в формате Single (4 байта)
16 - в формате U32 (4 байта)
53340 - в формате Double (8 байт)
в оригинальном файле это выглядит так:
47 7A 00 00
00 00 00 10
41 E8 2F EB B5 80 00 00
тестовая LabView-шная прога записывает эти числа так:
40 EF 40 00 00 00 00 00
40 30 00 00 00 00 00 00
40 EA 0B 80 00 00 00 00
При попытках зачитать все это безобразие под VB естественно никаких правильных десятичных чисел не получается :)
Помог бы кто разобраться
Заранее всем спасибо
 
G

Gamlet

:) :D :D
40 EF 40 00 00 00 00 00
40 30 00 00 00 00 00 00
40 EA 0B 80 00 00 00 00
Это, если я еще не совсем ивт забыл-шестнадцатиричные файлы, но не как не бинарные. Это две разные вещи.
 
S

SERGMov

файлы бинарные, а то что преведено - получается просмотром по F3 в тотал-командере например
 
T

Tanya

Возможно это имеется ввиду?

Dim s As Single, d As Double, L As Long
Open "e:\1.txt" For Binary As #1
Get #1, , s
Get #1, , L
Get #1, , d
Close #1
MsgBox s & vbCrLf & L & vbCrLf & d

здесь второе значение типа long потому как не очень поняла, что за U32 :)))))
поэтому подставила просто тип размером 4 байт
 
J

Jumpy

хым...
00 00 00 10 = 16, никаких вопросов

остальные (сингл и дубль) тож записаны верно.... но чтоб это понять - пришлось изучить это



ваще сложная штука... нужно как то попроще... но суть такая:
47 7A 00 00
00 00 00 10
41 E8 2F EB B5 80 00 00

это есть действительно 3 вышеназванных числа в соотвествующих им типах данных, а следовательно можно прочесть васьком (ток не спрашивайте как, мне того мануала хватит на седня :))) )
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!