Cariotoglou Mike wrote:
*. new feature : support for encrypted databases (WITH the licenced
version of sqlite)
http://www.singular.gr/sqlite/
Awesome! Thanks! I was hoping that you would add encryption support.
:) (We purchased our license a few weeks ago).
However, I am unable to get it to work. I am 100% sure that I am
entered the encryption key when prompted for it.
I can access the database using the command line version of the
encryption database shell program (made from shell.c).
I rekeyed my database to use the key "hello". I still have no luck with
sqlite explorer.
Any suggestions?
Here are my DLL exports: (from tdump, borland 5.0 compiler). Note that
I compiled the DLL using MSDEV v6.0 (I just like the borland command
line 'tdump' tool for dumping PE (exe, dll) files):
Turbo Dump Version 4.2.16.1 Copyright (c) 1988, 1996 Borland International
Display of File \BIN\SQLITE3.DLL
Old Executable Header
DOS File Size 3B000h (241664. )
Load Image Size 450h ( 1104. )
Relocation Table entry count 0000h ( 0. )
Relocation Table address 0040h ( 64. )
Size of header record (in paragraphs) 0004h ( 4. )
Minimum Memory Requirement (in paragraphs) 0000h ( 0. )
Maximum Memory Requirement (in paragraphs) FFFFh ( 65535. )
File load checksum 0000h ( 0. )
Overlay Number 0000h ( 0. )
Initial Stack Segment (SS:SP) 0000:00B8
Program Entry Point (CS:IP) 0000:0000
Portable Executable (PE) File
Header base: 000000C8
CPU type 80386
Flags 210E [ executable backwards 32bit library ]
DLL flags 0000 [ ]
Linker Version 6.0
Time stamp 42E7860B
O/S Version 4.0
User Version 0.0
Subsystem Version 4.0
Subsystem 0002 [ Windows GUI ]
Object count 00000004
Symbols offset 00000000
Symbols count 00000000
Optional header size 00E0
Magic # 10B
Code size 0002F000
Init Data size 0000B000
Uninit Data size 00000000
Entry RVA 0002F38D
Image base 10000000
Code base 00001000
Data base 00030000
Object/File align 00001000/00001000
Reserved 00000000
Image size 0003B000
Header size 00001000
Checksum 00000000
Stack reserve/commit 00100000/00001000
Heap reserve/commit 00100000/00001000
Number interesting RVAs 00000010
Name RVA Size
------------------ -------- --------
Exports 00033780 00000B07
Imports 0003348C 0000003C
Resources 00000000 00000000
Exceptions 00000000 00000000
Security 00000000 00000000
Fixups 00039000 00001224
Debug 00000000 00000000
Description 00000000 00000000
TLS 00000000 00000000
Callbacks 00000000 00000000
reserved 00000000 00000000
reserved 00030000 0000009C
reserved 00000000 00000000
reserved 00000000 00000000
reserved 00000000 00000000
Object table:
# Name VirtSize RVA PhysSize Phys off Flags
-- -------- -------- -------- -------- -------- --------
01 .text 0002E450 00001000 0002F000 00001000 60000020 [CER]
02 .rdata 00004287 00030000 00005000 00030000 40000040 [IR]
03 .data 0000325C 00035000 00004000 00035000 C0000040 [IRW]
04 .reloc 00001318 00039000 00002000 00039000 42000040 [IDR]
Key to section flags:
C - contains code
D - discardable
E - executable
I - contains initialized data
R - readable
W - writeable
Imports from KERNEL32.dll
DeleteFileA(hint = 007c)
GetFileAttributesA(hint = 0156)
CreateFileA(hint = 004d)
GetTempPathA(hint = 01cb)
CloseHandle(hint = 002e)
ReadFile(hint = 02ab)
WriteFile(hint = 0397)
SetFilePointer(hint = 0310)
FlushFileBuffers(hint = 00e5)
SetEndOfFile(hint = 0305)
GetFileSize(hint = 015b)
GetVersionExA(hint = 01df)
UnlockFile(hint = 0363)
Sleep(hint = 0349)
LockFile(hint = 0259)
LockFileEx(hint = 025a)
GetSystemTime(hint = 01be)
GetFullPathNameA(hint = 0161)
GetSystemTimeAsFileTime(hint = 01c0)
DisableThreadLibraryCalls(hint = 0084)
Imports from MSVCRT.dll
_isctype(hint = 0115)
__mb_cur_max(hint = 0061)
sprintf(hint = 02b2)
_iob(hint = 0113)
_ftol(hint = 00f1)
strncmp(hint = 02c0)
tolower(hint = 02d3)
localtime(hint = 028d)
atoi(hint = 023d)
toupper(hint = 02d4)
malloc(hint = 0291)
free(hint = 025e)
strncpy(hint = 02c1)
realloc(hint = 02a7)
_initterm(hint = 010f)
_adjust_fdiv(hint = 009d)
_pctype(hint = 018e)
Exports from sqlite3dll.dll
92 exported name(s), 92 export addresse(s). Ordinal base is 1.
Ordinal RVA Name
------- -------- ----
0000 0002bda0 sqlite3_aggregate_context
0001 0002beb0 sqlite3_aggregate_count
0002 0002c140 sqlite3_bind_blob
0003 0002c270 sqlite3_bind_double
0004 0002c2b0 sqlite3_bind_int
0005 0002c2d0 sqlite3_bind_int64
0006 0002c310 sqlite3_bind_null
0007 0002c390 sqlite3_bind_parameter_count
0008 0002c420 sqlite3_bind_parameter_index
0009 0002c3a0 sqlite3_bind_parameter_name
0010 0002c330 sqlite3_bind_text
0011 0002c360 sqlite3_bind_text16
0012 00016180 sqlite3_busy_handler
0013 00016210 sqlite3_busy_timeout
0014 00015de0 sqlite3_changes
0015 00015e00 sqlite3_close
0016 00016f80 sqlite3_collation_needed
0017 00016fc0 sqlite3_collation_needed16
0018 0002bf00 sqlite3_column_blob
0019 0002bf80 sqlite3_column_bytes
0020 0002bfa0 sqlite3_column_bytes16
0021 0002bec0 sqlite3_column_count
0022 0002c0e0 sqlite3_column_decltype
0023 0002c120 sqlite3_column_decltype16
0024 0002bfc0 sqlite3_column_double
0025 0002bfe0 sqlite3_column_int
0026 0002c000 sqlite3_column_int64
0027 0002c080 sqlite3_column_name
0028 0002c100 sqlite3_column_name16
0029 0002c020 sqlite3_column_text
0030 0002c040 sqlite3_column_text16
0031 0002c060 sqlite3_column_type
0032 00016540 sqlite3_commit_hook
0033 000237d0 sqlite3_complete
0034 00023ae0 sqlite3_complete16
0035 00016df0 sqlite3_create_collation
0036 00016f10 sqlite3_create_collation16
0037 000162f0 sqlite3_create_function
0038 000164a0 sqlite3_create_function16
0039 0002bee0 sqlite3_data_count
0040 000166e0 sqlite3_errcode
0041 000165e0 sqlite3_errmsg
0042 00016640 sqlite3_errmsg16
0043 000154b0 sqlite3_exec
0044 00016da0 sqlite3_finalize
0045 000162e0 sqlite3_free
0046 00022aa0 sqlite3_free_table
0047 0002bdf0 sqlite3_get_auxdata
0048 00022740 sqlite3_get_table
0049 000162b0 sqlite3_interrupt
0050 0000d810 sqlite3_key
0051 00015dc0 sqlite3_last_insert_rowid
0052 00015db0 sqlite3_libversion
0053 0001ec50 sqlite3_mprintf
0054 00016a70 sqlite3_open
0055 00016d20 sqlite3_open16
0056 00016710 sqlite3_prepare
0057 000169b0 sqlite3_prepare16
0058 000161c0 sqlite3_progress_handler
0059 0000d850 sqlite3_rekey
0060 00016dc0 sqlite3_reset
0061 0002ba70 sqlite3_result_blob
0062 0002baa0 sqlite3_result_double
0063 0002bac0 sqlite3_result_error
0064 0002baf0 sqlite3_result_error16
0065 0002bb20 sqlite3_result_int
0066 0002bb40 sqlite3_result_int64
0067 0002bb60 sqlite3_result_null
0068 0002bb70 sqlite3_result_text
0069 0002bba0 sqlite3_result_text16
0070 0002bbd0 sqlite3_result_text16be
0071 0002bc00 sqlite3_result_text16le
0072 0002bc30 sqlite3_result_value
0073 00003a20 sqlite3_set_authorizer
0074 0002be20 sqlite3_set_auxdata
0075 0001ecc0 sqlite3_snprintf
0076 0002bc50 sqlite3_step
0077 00015df0 sqlite3_total_changes
0078 00016520 sqlite3_trace
0079 0002bd90 sqlite3_user_data
0080 0002b9a0 sqlite3_value_blob
0081 0002b9c0 sqlite3_value_bytes
0082 0002b9d0 sqlite3_value_bytes16
0083 0002b9f0 sqlite3_value_double
0084 0002ba00 sqlite3_value_int
0085 0002ba00 sqlite3_value_int64
0086 0002ba10 sqlite3_value_text
0087 0002ba20 sqlite3_value_text16
0088 0002ba40 sqlite3_value_text16be
0089 0002ba50 sqlite3_value_text16le
0090 0002ba60 sqlite3_value_type
0091 0001ec90 sqlite3_vmprintf