Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Определить тип используемой БД

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

mst1711



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый всем день.
 
Нужно написать скрипт на PHP для парсинга базы данных виндовой программы.
Не могу понять какая там база данных используется.
Вот файл-листинг каталога с программой (не обращайте внимание на формат листинга, делал из юникс консоли):
drwx------  7 root  wheel      512  6 ноя  2012 Journal
drwx------  2 root  wheel      512  6 ноя  2012 PrintForms
-rw-r--r--  1 root  wheel  2254336 27 дек  2004 RClient.DLL
-rw-r--r--  1 root  wheel   348582 22 ноя 12:10 RClient.DtA
-rw-r--r--  1 root  wheel   257175 22 ноя 12:10 RClient.DtB0
-rw-r--r--  1 root  wheel        0 22 ноя 12:10 RClient.DtB1
-rw-r--r--  1 root  wheel        0  7 ноя  2012 RClient.DtB2
-rw-r--r--  1 root  wheel     2024 22 ноя 12:10 RClient.DtC
-rw-r--r--  1 root  wheel       82 22 ноя 12:10 RClient.DtD
-rw-r--r--  1 root  wheel      432 22 ноя 12:10 RClient.DtG
-rw-r--r--  1 root  wheel   178080 22 ноя 12:10 RClient.DtH
-rw-r--r--  1 root  wheel       46 22 ноя 12:10 RClient.DtI
-rw-r--r--  1 root  wheel       58 22 ноя 12:10 RClient.DtL
-rw-r--r--  1 root  wheel     6798 22 ноя 12:10 RClient.Ini
-rw-r--r--  1 root  wheel     5837 26 ноя 14:14 RClient.Ini.test
-rw-r--r--  1 root  wheel        0 22 ноя 12:10 RClient.XtB2
-rw-r--r--  1 root  wheel    21504 19 фев  2003 RClient.exe
-rw-r--r--  1 root  wheel   631967 22 ноя 12:10 RClient.log
-rw-r--r--  1 root  wheel      220 28 июн  2002 info.ini
-rw-r--r--  1 root  wheel     2926 20 дек  2001 logo42x42.bmp
-rw-r--r--  1 root  wheel    52080  3 июн  2002 logo500x102.bmp
-rw-r--r--  1 root  wheel   894548  6 ноя  2012 price.txt
 
Сама программа - это RClient.exe и RClient.dll;
Файлы с базой - это RClient.Dt*
Вот эта база фрагментируется как я понял. Есть некое описание формата в RClient.Ini
[ENVIRONMENT]
Col Name Width=333
Col Producer Width=116
Col Quantity Width=47
Col Price Width=65
Col AdvancedPrice Width=48
Col Demand Width=42
Price=1
Trade Margin=0
State=1
Col Id Width=39
Params Height=48
Show Price By Groups=0
Sort Off=0
Tree Width=181
Col BasePrice Width=43
Dont Show News=0
Col MinCertDate Width=100
Col PiecesInPack Width=56
Col FPieces Width=51
Col PackDemand Width=39
Col BasePriceNestle Width=58
Col ProdName Width=140
CheckList Height=174
CheckList Width=400
Col Apply Width=100
Col NdsRate Width=76
 
Пытался читать файл RClient.DtB0 со смещением 0-39, чтобы считать колонку Id, цифры идентификатора я там вижу, но есть еще какие-то левые символы. В общем база не полностью текстовая, есть еще какие-то информационные символы.
 
Вот ссылка на архив с этой программой: http://itpeoples.ru/rclient.tgz

Всего записей: 5 | Зарегистр. 23-08-2010 | Отправлено: 11:42 26-11-2013
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это обычный структурированный файл. Что бы узнать формат нужно читать побайтово и анализировать, возможно получится узнать какая там структура.

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 13:28 26-11-2013
mst1711



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Порядок полей я так понимаю тоже методом тыка придется выяснять?

Всего записей: 5 | Зарегистр. 23-08-2010 | Отправлено: 13:56 26-11-2013
A_V

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mst1711
методом тыка тяжело что-то выяснить, но можно поискать специалиста, который реверснет RClient.exe/dll и узнает формат

Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 17:19 26-11-2013 | Исправлено: A_V, 17:20 26-11-2013
Dmitry

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
База данных там никакая не используется. ini-файл - это судя по всему настройки программы (сохраненные параметры, настройки внешнего вида и т.д.) rclient.dta похоже на массив записей фиксированного размера 41 байт, где вначале идет некая строка (первый байт - длина строки). rclient.dtb0 - тоже массив записей фиксированного размера, но структура каждой записи сложнее. Чтобы все это расковырять хорошо было бы знать содержимое этих файлов, т.е. как они в родной программе отображаются.

Всего записей: 81 | Зарегистр. 24-09-2003 | Отправлено: 13:54 27-11-2013
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Определить тип используемой БД


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru