2010-05-07 2 views
3

У моего друга есть система управления клиентами. Программа per si ужасна, и мой друг потерял контакт с разработчиками.Как узнать тип базы данных, проверяя файл

Дело, теперь мой друг потерял доступ к программе (что-то, что разработчики говорят «заперты к машине» поэтому, когда переехал в другой компьютер, он потерял доступ к программе и данным.

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

Теперь мне нужно узнать, какая база данных была использована разработчиками. Я знаю, что программа была создана с использованием Visual Basic, потому что требуется MSVBVM60.DLL.

Существует некоторая программа для чтения метаданных в файле .dat fil es и обнаружить, какая база данных была использована?

+0

Я полагаю, что с «per si» вы подразумевали «per se» (само по себе), не так ли? – MaD70

+0

Не могли бы вы предоставить нам часть содержимого базы данных (всего несколько строк сделают это)? –

+0

Не стоит дешево и связываться и платить разработчикам как-то код/​​предоставить вам доступ к db.Если они не согласятся, либо вы сделали что-то плохое по отношению к ним, либо они - дебилы, с которыми вы не должны были работать в первую очередь. –

ответ

2

Вы можете попробовать Determining File Format инструменты.

К сожалению, вполне возможно, что ваш .dat файл является «случайный доступ к файлам», не базы данных.

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

1

Если файл является random access file (смысл VB), то это не должно быть слишком сложно, чтобы перепроектировать формат.

Первым шагом будет определение размера записей, которые вы должны будете делать с небольшим передовым knowlegde: это всего лишь вопрос поиска, где строки начинаются и заканчиваются и ищут повторы. Например, найдите строку, которая выглядит как чье-то имя, а затем сканирование вперед, пока вы не найдете следующую строку, которая выглядит как имя. Это ваш рекорд.

Следующим шагом будет разработка фактических полей. Для этого потребуется немного больше работы, но в основном вы захотите найти запись в исходном программном обеспечении, а затем попытаться найти соответствующую запись в первой (например, искать имя или фамилию, которые должны быть относительно легко). Тогда это просто вопрос совпадения полей в пользовательском интерфейсе с тем, что находится в файле. Например, целые числа дат и т. П.

Конечно, это общий обзор, и предполагается, что файл находится в собственном формате «произвольного доступа» VB. Удачи!

1

Как и пытается перепроектировать сам файл, как это было предложено в других ответов, вы можете также попробовать обратный инжиниринг приложения (DLL или EXE.)

Есть несколько декомпиляторов доступны, например VB P-code/native compiler. Доступна пробная версия. Я не пробовал это программное обеспечение, но он может дать вам достаточно, чтобы понять, что хранится в файле данных, или помочь заполнить пробелы, где вы не можете понять значение данных из самого файла данных.