Dev*_*per 5 encryption android sqlcipher
我在android中使用SQLCipher开发了应用程序.这是保护数据库文件到应用程序的安全方法.它适用于加密,但我想解密加密的DB文件,并希望查看SQLite浏览器.
实际上我有很多表及其数据可用.现在,如果我想查看加密的数据库数据,就无法查看它(只有可用于查看数据的日志).但是使用SQLite浏览器我看不到它.
我正在使用"info.guardianproject.database.sqlcipher.SQLiteDatabase"
我已经尝试了很多方法来解密它并查看SQLite浏览器,但它给出了错误"An Error Occured:file is not a sqlite3 database".
任何人都可以帮我解密加密的DB文件.
或者我应该复制加密DB文件并使用"info.guardianproject.database.sqlcipher.SQLiteDatabase"解密它 并使用它来查看所有表.
谢谢,
Mishal Shah
我通过从设备中提取数据库并对其进行解密来解决这个问题.下面的脚本将生成一个解密的数据库文件.可以使用SQLite-viewer打开此文件.
#!/bin/bash
# Bashscript to decrypt databases
echo "pull db from device.."
adb pull /data/data/com.example/databases/database.db
echo "removing previous decrypted db, if existent.."
rm -r decrypted_database.db
echo "decrypting database.db into decrypted_database.db"
sqlcipher -line database.db 'PRAGMA key = "encryption_key";ATTACH DATABASE "decrypted_database.db" AS decrypted_database KEY "";SELECT sqlcipher_export("decrypted_database");DETACH DATABASE decrypted_database;'
Run Code Online (Sandbox Code Playgroud)
应该在你的路径中:
替换脚本:
注意:设备应该是root
| 归档时间: |
|
| 查看次数: |
9093 次 |
| 最近记录: |