DBD::SQLite basically gets compiled from the SQLite source code, together with some Perl-specific C code ("XS code"). Simply replacing the SQLite.dll with a DLL that was not compiled from the XS code in DBD::SQLite will not work. You will have to recompile DBD::SQLite with the sqlcipher source code and then also think hard about the new API to pass the decryption key around.
Recompiling DBD::SQLite with the sqlcipher code should be fairly easy:
- Download the sqlcipher package
- Download and change into the DBD::SQLite package directory:
cpan> look DBD::SQLite
- Replace the sqlite3.c and sqlite3.h files with the files from sqlcipher
- Use the standard invocation to compile and install the module: