powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Восстановить поврежденный файл базы данных (сделать дамп запароленного файла базы данных)
5 сообщений из 5, страница 1 из 1
Восстановить поврежденный файл базы данных (сделать дамп запароленного файла базы данных)
    #39044086
Aleksy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем не понятно после чего перестал открываться файл базы данных с ошибкой - "database disk image is malformed".

Нашел способ восстановления файла, путем создания дампа файла базы данных.
Для этого нужно использовать SQLite command tool, и сделать следующее:
sqlite3 metadata.db < .dump > dump.sql
del metadata.db
sqlite3 metadata.db < dump.sql

Но на мой файл был установлен пароль, то есть зашифрован, как открыть файл базы данных через sqlite command tool указав пароль?

Я делаю так:
.open password databasefile.db

Но это не работает...
...
Рейтинг: 0 / 0
Восстановить поврежденный файл базы данных (сделать дамп запароленного файла базы данных)
    #39044159
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksyНо на мой файл был установлен пароль, то есть зашифрован,Поздравляю, у вас не SQLite. У вас какая-то другая база данных. В SQLite нету шифрования, и нет паролей.

Есть конечно возможность взять более-менее стандартное дополнение http://www.hwaci.com/sw/sqlite/see.html и использовать его.
А можно взять любую другую процедуру шифрования и подключать ее либо как расширение, либо запихнуть ее в ядро.
В любом случае это уже не будет стандартным SQLite файлом. И не будет обрабатываться стандартной консолью.

Так что бери много денег (или паяльник с утюгом) и иди к тем кто твою программу написал. Может они смогут восстановить данные.
...
Рейтинг: 0 / 0
Восстановить поврежденный файл базы данных (сделать дамп запароленного файла базы данных)
    #39044195
Aleksy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlAleksyНо на мой файл был установлен пароль, то есть зашифрован,Поздравляю, у вас не SQLite. У вас какая-то другая база данных. В SQLite нету шифрования, и нет паролей.

Есть конечно возможность взять более-менее стандартное дополнение http://www.hwaci.com/sw/sqlite/see.html и использовать его.
А можно взять любую другую процедуру шифрования и подключать ее либо как расширение, либо запихнуть ее в ядро.
В любом случае это уже не будет стандартным SQLite файлом. И не будет обрабатываться стандартной консолью.

Так что бери много денег (или паяльник с утюгом) и иди к тем кто твою программу написал. Может они смогут восстановить данные.

Эх, программу я сам писал... на c#, подозреваю что шифрование осуществил провайдер .Net библиотека System.Data.SQLite.dll.

Пробовал программно удалить пароль, для этого можно использовать метод SQLiteConnection.ChangePassword(""); но он может вызываться только после метода SQLiteConnection.Open(); который и вызывает исключение "database disk image is malformed".

Жалко очень, год пользовался базой и все было норм.... 2 вывода для себя сделал: 1) не использовать пароль 2) делать резервные копии постоянно.

Если кто владеет .Net и знает какие-нибудь выходы из этой ситуации - буду очень благодарен... Как я понял нужно просто удалить пароль, после этого можно будет восстановаить данные с помощью стандартной консолью.
...
Рейтинг: 0 / 0
Восстановить поврежденный файл базы данных (сделать дамп запароленного файла базы данных)
    #39045223
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не знаю деталей работы SQLite .Net провайдера, но предположу, что будучи стандартным он не
использует шифрование. И если так, то тупо игнорирует пароль. Самое просто - создать новую БД
хотя бы с одной таблицой, используя SQLite .Net провайдер и шифрование. Далее посмотреть на
его содержимое, если там не видать create table и т.д., то видать шифрование все-таки работает,
ну и тогда скорее всего конец основной БД - ее врядли восстановить. Если же видать, то шифрование
не работает, и тогда БД реально порушилась. Что делать в этом случае - STFW.

PS: защищаться нужно, вопрос от чего и по чем ...
...
Рейтинг: 0 / 0
Восстановить поврежденный файл базы данных (сделать дамп запароленного файла базы данных)
    #39045297
Aleksy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шифрование работает, в запароленном файле если открыть блокнотом китайские иероглифы... В не запароленном файле читабельные куски информации.

Где-то вычитал что System.Data.SQLite использует CryptoApi шифрование (которое вроде встроенно в виндоус и его можно использовать с помощью WinApi), пароль известен... и если сначала расшифровать файл, то потом возможно он станет читабельным, то есть подлежащим востановлению.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Восстановить поврежденный файл базы данных (сделать дамп запароленного файла базы данных)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]