I was trying to extract data from an Android app which uses SQLcipher. SQLcipher is an extension of SQLite that encrypts database files with 256-bit AES.

Within the APK, the library lies in lib/libsqlcipher.so. I'm curious if I can extract the encryption key simply by modifying libsqlcipher.so(e.g. modify sqlite3_key function so that it logs the encryption key to file). The plan is to compile my own version of libsqlcipher.so, repack APK, install it, and run it on a device.

Will this method work as expected? It sounds too easy to be true:)

  • It will work, you don't need modifing the library, you can use some sort of dynamic instrumentation like Frida.
    – morsisko
    Sep 27 '20 at 11:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.