Наконец-то закончил парсер для Paradox с учетом дешифровки данных.
Правда нужно еще дописать decrypt для BLOB-ов, но пока оставлю – надоело.
А вообще защита на нулевом уровне. Сам пароль как таковой вообще не нужен для расшифровки – необходимых hash лежит прямо в заголовке файла.
Маразм – расчет идет только на “честных” программеров, которые запросят пароль, сравнят вычисленный hash с хранимым и в случае несовпадения ругнутся юзеру.
Зачем такая слабая защита – просто от тупых текстовых вьюеров типа Notepad? Так все-равно там только текстовые строки можно посмотреть, а числа, даты и блобы хранятся в своем формате.
Похожая фигня и у DBISAM – в версиях 1, 2 и 3 целый оригинальный пароль (даже не его хеш) лежит в заголовке таблицы (проксоренный). Правда уже в 4-ой версии Тим навернул BlowFish для crypt и сам пароль перестал хранить в заголовке.
Вот в итоге думаю – в своем Paradox Viewer дать возможность смотреть зашифрованные данные без запроса пароля или быть “честным” и спрашивать у юзера все-равно…
PS: прямо как у героя Фарады в Чародеях: “ну кто так строит?”