5

AndroidでSQLCipherを使用してアプリケーションを開発しました。データベース ファイルをアプリケーションに保護するための安全な方法です。暗号化は正常に機能していますが、暗号化された DB ファイルを復号化し、SQLite ブラウザーを調べたいと考えています。

実際、私はたくさんのテーブルとそのデータを利用できます。暗号化された DB データを調べたい場合、それを調べる方法はありません (データを表示するにはログのみを使用できます)。しかし、SQLite ブラウザーを使用すると、それを見ることができません。

「info.guardianproject.database.sqlcipher.SQLiteDatabase」を使用しています

私はそれを解読してSQLiteブラウザを調べるために多くの方法を試しましたが、「エラーが発生しました:ファイルはsqlite3データベースではありません」というエラーが発生しています。

暗号化された DB ファイルの復号化を手伝ってくれる人はいますか。

または、DB ファイルを暗号化してコピーし、「info.guardianproject.database.sqlcipher.SQLiteDatabase」 を使用して復号化し、それを使用してすべてのテーブルを表示する必要があります。

ありがとう、

ミシャル・シャー

4

5 に答える 5

5

デバイスからデータベースをプルして復号化することで、これを解決しました。以下のスクリプトは、復号化されたデータベース ファイルを生成します。このファイルは、SQLite ビューアーで開くことができます。

復号化.sh

#!/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;'

あなたのPATHにあるはずです:

スクリプトで置換:

  • com.exampleをパッケージ名に
  • databasefileという名前の database.db
  • 暗号化パスワード付きの encryption_key

注: デバイスはルート化されている必要があります

于 2014-09-11T19:15:20.330 に答える
2

その一部として SQLCipher 拡張機能を持つ SQLite ユーティリティを使用する必要があります。Linux で SQLCipher コードをダウンロードしてビルドできます。これsqlite3により、データベースへのアクセスに使用できるユーティリティが提供されます (PRAGMAパスフレーズを指定するための適切なステートメントなど)。

于 2013-03-13T11:30:27.920 に答える
0

decrypt.shスクリプトはしばらくの間私を助けました。しかし、しばらくして、SQLiteManager が SQLCipher 暗号化データベースのサポートを開始したことがわかりまし。それはかなりのユーザーインターフェースを持っています。無料ではなく、デバイスからデータベース ファイルをプルする必要がありますが、試してみる価値はあると思います。

于 2014-11-25T01:52:21.123 に答える
0

後のAndroidアプリケーションコードで

dbHelper.getReadableDatabase(dbKey); データベースファイルは復号化されます..ファイルコピーコードを書き込むことにより、データベースファイルを外部SDカードファイルパスにコピーし、sqlliteツールで開きます

于 2015-02-11T10:38:08.697 に答える
-1

Gnome の GDA はこれを行うことができます。ここからダウンロードしてください。

于 2013-03-13T10:15:56.263 に答える