Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: CL | DM;

Вниз

Как можно открыть типизированый файл, не зная его структуры?   Найти похожие ветки 

 
Diver   (2004-06-11 23:21) [0]

Как можно открыть типизированый файл, не зная его структуры?


 
default ©   (2004-06-11 23:24) [1]

тогда на основании чего ты жестоко обозвал его типизированным?


 
KilkennyCat ©   (2004-06-11 23:24) [2]

очень просто:

Var
f : file of byte;
b : byte;
begin
assignfile(f,"....");
reset(f)
while not EOF(f) do begin
  read(f, b);
// а вот тут уже надо делать анализ
 end;
closefile;
end;


 
KilkennyCat ©   (2004-06-11 23:25) [3]


> default ©   (11.06.04 23:24) [1]

почему нет? другая прога его записала типизированно...


 
default ©   (2004-06-11 23:26) [4]

KilkennyCat ©   (11.06.04 23:25) [3]
так если он не знает формата для него он нетипизированный


 
Anatoly Podgoretsky ©   (2004-06-11 23:27) [5]

А может просто слово красивое


 
KilkennyCat ©   (2004-06-11 23:29) [6]


> default ©   (11.06.04 23:26) [4]


точнее, для его программы :) Он-то знает, что типизированный :)
ИМХО, разработка алгоритма для анализа - охренеть. Того, кто разработает, без собеседования возьму к себе на работу :)


 
default ©   (2004-06-11 23:33) [7]

KilkennyCat ©   (11.06.04 23:29) [6]
имеется ввиду размер записи определить?
может попробовать перехватить API для работы с файлами в программе которая формир-ет этот файл, там посмотреть какими кусками читается он, может что и вышло бы...


 
Palladin ©   (2004-06-11 23:33) [8]

Хохо... сколько дашь? :)


 
Diver   (2004-06-11 23:35) [9]

он точно не текстовый! и состоит из базы определенных чисел распределенных по категориям...,тип и количество которых очень хотелось бы найти.


 
KilkennyCat ©   (2004-06-12 00:00) [10]


> Palladin ©   (11.06.04 23:33) [8]


400 зеленых :) я не богат. В моей фирме два человека, помимо меня, я им по 400 плачу. Экономлю даже на безине - пользуюсь метро :)


 
Diver ©   (2004-06-12 00:04) [11]

вот это тему изменили, тогда я буду посредником...


 
Anatoly Podgoretsky ©   (2004-06-12 00:27) [12]

Это твое заднее слово?


 
ИМХО ©   (2004-06-12 02:19) [13]

hex-едитор и вперед!


 
KilkennyCat ©   (2004-06-12 02:24) [14]


> ИМХО ©   (12.06.04 02:19) [13]


куда вперед?
предположим, я создал такой тип:

type AAA = record
 a : byte;
 b : byte;
 c : word
 d : word;
 e : integer;
end;


Что Вы увидите в хекс-едиторе?


 
ИМХО ©   (2004-06-12 02:36) [15]

Ну и что ты хочешь этим сказать?


 
Johnmen ©   (2004-06-12 02:46) [16]

>Anatoly Podgoretsky ©  (11.06.04 23:27) [5]
>А может просто слово красивое

:)))


 
GuAV ©   (2004-06-12 02:57) [17]


> Что Вы увидите в хекс-едиторе?

Integerы часто там, где весь их диапазон не нужен, т.е. dword aligned куски с "случайными данными" ближе к началу, с более-менее повторяющимися с нулями на конце :)


 
GuAV ©   (2004-06-12 02:58) [18]

ну т.е. сначало - что угодно, потом повторяющиеся значения, потом 0


 
GuAV ©   (2004-06-12 02:59) [19]

<offtop text="кстати в hex-editore иконки 32х32 клёво смотрятся">


 
KilkennyCat ©   (2004-06-12 03:27) [20]

т.е., если мой тип не знать, то вы его без проблем определите?

а может, он такой?

type AAA = record
s : string[6];
e : integer;
end;


 
Johnmen ©   (2004-06-12 03:41) [21]

>KilkennyCat ©  (12.06.04 03:27) [20]
>т.е., если мой тип не знать, то вы его без проблем определите?

Или даже такой
type AAA = record
s : MySuperType1;
e : MySuperType2;
end;

:)


 
KilkennyCat ©   (2004-06-12 05:05) [22]

вот именно :)
Так что, хекседитор отдыхает.


 
Рамиль ©   (2004-06-12 11:36) [23]


> KilkennyCat ©   (12.06.04 03:27) [20]

Не, ну если он такой, то скорее всего без проблем, так как будут повторяться осмысленные строки, и размер блока, по крайней мере, найти можно.


 
KilkennyCat ©   (2004-06-12 12:10) [24]


> Рамиль ©   (12.06.04 11:36) [23]


А можно поподробней? Каким образом найти размер блока? И как определить смысл, если String[6] я решил использовать для хранения почтовых индексов (ну захотелось мне их в строковом виде) ?


 
Рамиль ©   (2004-06-12 12:28) [25]


> KilkennyCat ©   (12.06.04 12:10) [24]

Строка, обычно, содержит только определенные символы, и в hex редакторе не будет "закорючек" (что я и имел ввиду под осмысленностью). Не, я конечно понимаю, что можно извратиться и хранить в string, все кроме #0, но я бы так не делал.

P. S. Поехал я в деревню, отдохну от города, достало уже... Всем пока:)


 
KilkennyCat ©   (2004-06-12 12:40) [26]

Мда. У меня есть описание. Есть осмысленный текстовый файл, вордовского формата... и у меня пока с трудом получается его разобрать.


 
iZEN   (2004-06-13 10:34) [27]

to KilkennyCat ©   (12.06.04 12:40) [26].

Вам надо вордовский файл не ручками разбирать, а использовать доступ к нему как к объектному хранилищу через COM.
Здесь это доступно описано:
"Разработка COM-приложений в среде Delphi"
Автор(ы): Эрик Хармон
Издательство: Вильямс
Объём: 464 стр.
Год издания: 2000 г.
ISBN: 5-8459-0074-3


 
KilkennyCat ©   (2004-06-13 11:10) [28]


> iZEN   (13.06.04 10:34) [27]


Да? Спасибо. Это будет работать под ДОСом?


 
RealRascal ©   (2004-06-13 11:10) [29]

а если винайсом посмотреть что там и как сохраняется другой прогой?
(может я повторяю [13]?)
а вообще, файл - это как факт, и интепретировать его можно как угодно. Не зная ничего о его происхождении врядли удастся что-нибудь оттудова высосать полезного...
Вот интересно, как формируются эти типизированные файлы?
Я как-то пробовал объявлять тип, содержащий строки, и наполнял типизированный файл переменными этого типа, потом открыл его блокнотом в надежде увидеть буковки... ан нет, там ваще белиберда какая-то была... Не представляю себе, как это происходит...
Может кто просвятит?
Заодно это и автору поможет...


 
iZEN   (2004-06-13 11:26) [30]

/**KilkennyCat ©   (13.06.04 11:10) [28]
> iZEN   (13.06.04 10:34) [27]
Да? Спасибо. Это будет работать под ДОСом?
*/
НЭТ.



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

Текущий архив: 2004.07.04;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.028 c
6-1084343292
Term
2004-05-12 10:28
2004.07.04
FTP-клиент


1-1087461468
AlexXn
2004-06-17 12:37
2004.07.04
Регистренная Delphi или нет


1-1087384147
Фагот
2004-06-16 15:09
2004.07.04
Программа-шпион


4-1085392789
Silver
2004-05-24 13:59
2004.07.04
Проблема с GetRegionData


6-1081291796
LanCoder
2004-04-07 02:49
2004.07.04
Отправка почты с помощью winsock