Hi Rathi,
Any progress?
Somewhere in libsqlcipher is a call to libeay32.dll. It looks like we can't eliminate it and there is something interesting on sqlite3.c (libsqlcipher) at line no.: 4907-4918, it says:
#ifdef SQLITE_HAS_CODEC
/*
** Specify the key for an encrypted database. This routine should be
** called right after sqlite3_open().
**
** The code to implement this API is not available in the public release
** of SQLite.
*/
SQLITE_API int sqlite3_key(
sqlite3 *db, /* Database to be rekeyed */
const void *pKey, int nKey /* The key */
);
At this point, I am going to follow your lead, to distribute the libeay32.dll
@Daniel:
Perhaps you may have either of these files libeay32.dll or libeay64.dll or libeay.dll, into your system.
BTW my libeay32.dll is located not window system folder but from GetStartUpFolder(). During testing I'd just renaming it. I have a reason for not installing it on the system folder.
Well, I am not successful in embedding the libeay32.dll into the executable and what's left for me is to do a dirty hack out of it by combining the exe + dll file and at run-time write [fcreate()] the dll file somewhere or in the temp folder. But this method will surely irritate the Anti Virus software.
Attached is a hex view of an encrypted SQLite database.
Thanks,
Danny