![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
SyncMaster |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Всем привет, извиняюсь за названия темы, наверное, не много не правильно, но суть такая.
Есть файл, не текстовый, вообще без расширения, в файле есть ИД, но он зашифрован, к ИДу, привязывается блок с текстом, можно посмотреть на картинке. Как мы видим, ИД из 10 быйт (если я не ошибаюсь) сильно не ругайте, я в этом не особо разбираюсь. Так вот вопрос, как разделить этот файл по блокам, я вот думаю можно найти эти 10 байт, взять этот блок и дальше до 10 байта (хотя бред получается). Вообщем прощу помощи, заранее большое спасибо. Это сообщение отредактировал(а) SyncMaster - 8.7.2010, 13:12 Присоединённый файл ( Кол-во скачиваний: 23 ) ![]() |
|||
|
||||
PsiMagistr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
Ну Seek позволяет в любом месте файла оказаться побайтно. Что тебе надо так и не понял толком. Вопрос более чем туманно ставишь.
Добавлено через 6 минут и 18 секунд Что значит по блокам разделить? Seek ставит указатель в любое место файла. Оттуда считывается информация в переменную. И вообще ты же о структуре файла ничего не рассказал. Очень важно знать как файл построен. Где у тебя число, где строка, а где булевское что-то. Это сообщение отредактировал(а) PsiMagistr - 8.7.2010, 13:19 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
SyncMaster |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Мне надо так сказать выбрать текст, из это файла, адреса, телефоны и.т.д Напишете мне пожалуйста в аську - 4891441 два нуля, попробую объяснить. Это сообщение отредактировал(а) SyncMaster - 8.7.2010, 13:55 |
|||
|
||||
PsiMagistr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
Я не могу считать себя профи в этих вопросах и ни на что не претендую, но...
Чтобы разумно и с пользой считать файл в любом случае надо иметь представление о том как он организован. Если мы попытаемся считать строку скажем в переменную интегерского типа ничего хорошего у нас не выйдет. Кстати, если это база импульс - попробуй открыть прогой, читающей этот формат. Можно даже попытаться искусственно расширение добавить. Но в любом случае, чтоб к файлу обращаться надо по меньшей мере знать, где у тебя, что лежит... Если файл зашифрован каким либо образом, вряд ли ты его вообще просто так вскроешь. Вернее даже если вскроешь, смысла в этом найдешь не больше чем в халдейских письменах. Алгоритм дешифрования как правила встроен в шифрующую программу, но и ей надо будет скормить какой нибудь ключ для дешифрации. Это сообщение отредактировал(а) PsiMagistr - 8.7.2010, 14:07 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
SyncMaster |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
хотя в файле irunin.ini есть такие строки - VarValue29=D:\Program Files\Common Files\Microsoft Shared\DAO VarName30=%BDEPATH% VarValue30=C:\Program Files\Common Files\Borland Shared\BDE мне же просто надо текст от туда взять, вид мы же знаем что первый байт 2E(.) и последний всегда заканчивается 22 (") между ними 10 байт 00 00 00 10 00 00 02 9F 00 11. Это сообщение отредактировал(а) SyncMaster - 8.7.2010, 14:25 |
|||
|
||||
PsiMagistr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
Ну во первых если файл есть, то есть и программа каким-то образом его читающая. Иначе зачем он вообще нужен? Во вторых надо хотя бы знать, что за файл ты читать собираешься. Может это вовсе никакая не БД, а какие нибудь внутренние настройки того же импульса, которые вне него довольно бесполезны.
Ты пишешь файл из программы Асу Импульс. Но это ни о чем не говорит, мало ли файлов в этой программе? Если же это точно БД Импульс, то ищи прогу читающую этот формат. Даже если делать это из среды программирования Дельфи, наверняка нужно подключить драйвер чтения базы этого формата. Читать голыми руками все равно что мясо отверткой резать - много будет мороки и останешься голодным. -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
SyncMaster |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
вот часть текста файла, явно это не настройки, это список участников -
P у E"РОСАГРОЛИЗИНГ", РОССИЙСКАЯ АГРОПРОМЫШЛЕННАЯ ЛИЗИНГОВАЯ КОМПАНИЯ, ОАО Россия, г. Москва (495)782-19-76/77....82 (495)782-19-85/86 [email protected] http://www.rosagroleasing.ru/Председатель Совета директоров - Алексей Васильевич Гордеев, вице-премьер Правительства, Министр сельского хозяйства РФ.Генеральный директор - Елена Борисовна Скрынник.Главная цель - государственная поддержка российского сельхозтоваропроизводителя на основе новой национальной системы аграрного лизинга. Это сообщение отредактировал(а) SyncMaster - 8.7.2010, 14:50 |
|||
|
||||
PsiMagistr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
Хм... Так в чем проблема, вот же ты считал текст? Если ты хочешь чтоб это именно программа делала и делала правильно - нужно драйвер управления данной БД подключать. Ну минимум - знать особенности организации данных, поскольку информация так или иначе считывается в переменные соответствующих типов.
-------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
SyncMaster |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Это мне понятно, а вот как определить что этот блок так сказать закончин -
P у E"РОСАГРОЛИЗИНГ", РОССИЙСКАЯ АГРОПРОМЫШЛЕННАЯ ЛИЗИНГОВАЯ КОМПАНИЯ, ОАО Россия, г. Москва (495)782-19-76/77....82 (495)782-19-85/86 [email protected] http://www.rosagroleasing.ru/Председатель Совета директоров - Алексей Васильевич Гордеев, вице-премьер Правительства, Министр сельского хозяйства РФ.Генеральный директор - Елена Борисовна Скрынник.Главная цель - государственная поддержка российского сельхозтоваропроизводителя на основе новой национальной системы аграрного лизинга. и потом начался новый. если посмотреть на текст то видно, что он разделен - Названия организации - Адрес - телефон - Мыло Сайт - и Описание. |
|||
|
||||
PsiMagistr |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
Хм. Никак. Комп не человек, ему надо все популярно объяснять.
Ну вот к примеру тип. Пишу на коленке:
Теперь объявим переменную:
Если мы начнем в эту переменную считывать данные из файла то они начнут сразу считываться этим блоком, ведь ты задаешь размер переменной, определяя какой именно объем считывать. Вот наш Файл. Первая запись: Имя Иван Фамилия Иванов Возраст 23 Вторая запись: Имя Ирина Фамилия Нестерова Возраст 18. и тд. Так блоки идут друг за другом в файле. Если указатель файла установлен на начало считается первая запись, если указатель стоит в конце первого блока, считается второй. Все считывается таким образом, чтобы целиком заполнить собой переменную. Размер каждого блока нам известен, благодаря чему мы можем помещать головку в начало того места откуда хотим начать считывание.
Это сообщение отредактировал(а) PsiMagistr - 8.7.2010, 16:07 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
||||||
|
|||||||
SyncMaster |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Ну блоки там явно не будут одинаковыми - вот залил этот файл http://depositfiles.com/files/2nggysy9i посмотри плиз :(
|
|||
|
||||
PsiMagistr |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
Они могут и не быть одинаковыми. Важно знать размер каждого блока. Ты ставишь головку:
Именно это определяет откуда начинаем считывать.
Нужно четко ориентироваться в файле, знать размер каждого блока и где блок именно такого размера расположен и к какому типу переменной относится. Это сообщение отредактировал(а) PsiMagistr - 8.7.2010, 16:23 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
||||
|
|||||
PsiMagistr |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
Попробую тебе по схеме объяснить.
Допустим каждый минус это байт. номера - это номера блоков. 0---1----------2--------------------3 Мы видим блоки разного размера. допустим хотим считать отрезок от нуля до 1 то есть начальный блок. (блоки нумеруются с нуля.) Значит мы должны установить указатель в 0 байт от начала.
Если хотим считать второй блок (Отрезок от 1 до 2) то:
Тип переменной должен совпадать. Если строка - строка. Запись запись. Число- число. Это сообщение отредактировал(а) PsiMagistr - 8.7.2010, 19:16 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
||||
|
|||||
SyncMaster |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Еще заметил если взять в начале каждого блока строки -
00 00 00 0C 00 00 02 3C 00 1A = 12 00 00 00 0D 00 00 03 4E 00 23 = 13 00 00 00 0E 00 00 01 49 00 12 = 14 и.т.д Получает идентификатор например - 00 00 00 0E 00 00 01 49 00 12 "ИНВЕ-Восток", ООО M143362, Россия, Московская обл., Наро-Фоминский р-н, д. Мартемьяново, вл. 135 (495)785-83-67/68 (495)785-83-63 [email protected] http://www.inve.ru ™Генеральный директор - Дуарте Мануэль Ладислаович. Мебель для ванных комнат. Дочернее испанское производство INDUSTRIAS VELASCO, S.L. в России с 2001 г. получается что у этого блока ИД 14. |
|||
|
||||
PsiMagistr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
SyncMaster, Друг, в общем то прочитать совсем незнакомый тебе файл я думаю весьма трудно. В первую очередь потому, что необходимо как я писал выше четкое понимание структуры. Иначе это будет чревато ошибками чтения и т.д.
-------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |