Что нового

Sqlite-шифрование, шифрованные базы

Core2Duo76

Новичок
Сообщения
58
Репутация
1
В расширении sqlite.au3 есть функция открытия файла БД по адресу файлов с параметрами. А когда файл БД зашифрован средствами sqlite, то как его открыть обычным sqlite_open() ?
 

David_i

Новичок
Сообщения
4
Репутация
1
*Некропостинг

На англоязычном форуме Autoit есть решение: https://www.autoitscript.com/forum/topic/174360-sqlite-encryption-with-systemdatasqlitedll/

I just downloaded this version then copied the DLL in the @scriptdir from the zip file. Then this exemple works as intended:
Код:
#include <SQLite.au3>   ; don't include sqlite.dll.au3 !!!

Local $path = @ScriptDir & "\mydb.sql"
_SQLite_Startup ("System.Data.SQLite.dll")
ConsoleWrite(_SQLite_LibVersion() & @LF)
Local $row

; using encryption
_SQLite_Open($path)
_SQLite_Exec(-1, "pragma key = 'Radu is happy!';create table if not exists test (id integer, val text);" & _
                "insert into test values (1, 'abc');")
_SQLite_QuerySingleRow(-1, "select * from test;", $row)
ConsoleWrite($row[1] & @LF)
_SQLite_Close(-1)

; not using encryption over the encrypted DB gives a failure
_SQLite_Open($path)
_SQLite_QuerySingleRow(-1, "select * from test;", $row)
ConsoleWrite(_SQLite_ErrMsg(-1) & @LF)
_SQLite_Close(-1)

; changing back to no encryption
_SQLite_Open($path)
_SQLite_Exec(-1, "pragma key = 'Radu is happy!'")
_SQLite_Exec(-1, "pragma rekey = ''")
_SQLite_QuerySingleRow(-1, "select * from test;", $row)
ConsoleWrite($row[1] & @LF)
_SQLite_Close(-1)

_SQLite_Shutdown()


Автор jchd предложил заменить dll autoit на dll с сайта sqlite. Я думаю можно попробовать и для x64 системы.
Сообщение автоматически объединено:

Прилагаю два DLL для 32 и 64 версии соответственно. (к 64 версии нужно было дописать "_x64" ибо библиотека Autoit почему-то самостоятельно дописывает именно эту приставку к имени файла независимо от факта выбора кастомного DLL)

Шифрование (по слухам) реализовано на алгоритме RC4 128 бит что не является очень надежным. Вот тут есть исходники плагина с нормальным шифрованием.
Сообщение автоматически объединено:

 

Вложения

  • sqlite-netFx451-static-binary-bundle-Win32-2013-1.0.97.0.zip
    2.4 МБ · Просмотры: 7
  • sqlite-netFx451-static-binary-bundle-x64-2013-1.0.112.0.zip
    2.9 МБ · Просмотры: 2
  • Sqlite.zip
    3 МБ · Просмотры: 2
  • Sql Test Script.au3
    1.8 КБ · Просмотры: 2
Последнее редактирование:
Верх