UPD: updated the documents, updated the version #, ready for release

This commit is contained in:
JohnE 2016-01-12 23:39:16 -08:00
parent e3872e159f
commit 85f7e474e2
4 changed files with 33 additions and 98 deletions

View File

@ -24,6 +24,9 @@ The fingerprint can be used for historical comparisons to see what has changed i
1. Generate a fingerprint in JSON format.
2. Compare a sqlite database with a fingerprint.
3. Rip all apps from a phone and create fingerprints for all SQLite databases
4. Lightning fast fingerprint comparison
a. creates an index of fingerprints
b. query the index for quick fingerprint comparison
-------------
@ -34,19 +37,29 @@ The fingerprint can be used for historical comparisons to see what has changed i
DB Fingerprint
***** ***** ***** *****
usage: dbfp.py [-h] [-f FILE] [-fd FPDIR] [-fp FP] [-an APP_NAME]
[-av APP_VERSION] [-n NOTES] [-pull] [-v]
usage: dbfp.py [-h] [-db DATABASE] [-fd FPDIR] [-fp FINGERPRINT]
[-dd DATA_DIR] [-idx INDEX_FINGERPRINTS] [-an APP_NAME]
[-av APP_VERSION] [-n NOTES] [-pull] [-v] [-l]
Fingerprint a sqlite database based on its schema
optional arguments:
-h, --help show this help message and exit
-f FILE, --file FILE
-db DATABASE, --database DATABASE
path to file to be fingerprinted
-fd FPDIR, --fpdir FPDIR
path to dirctory of fingerprint files
-fp FP, --fp FP fingerprint file to use in comparison
path to directory of fingerprint files
-fp FINGERPRINT, --fingerprint FINGERPRINT
fingerprint file to use in comparison
-dd DATA_DIR, --data_dir DATA_DIR
path to a directory with sqlite files
-idx INDEX_FINGERPRINTS, --index_fingerprints INDEX_FINGERPRINTS
path to a directory with sqlite files
-an APP_NAME, --app_name APP_NAME
-av APP_VERSION, --app_version APP_VERSION
-n NOTES, --notes NOTES
-pull, --pull
-v, --verbose
-pull automated pull of applications from a physical android
phone
-v, --verbose will set logging level to DEBUG
-l, --logging will supercede the -v option and send all logging to a
file, logging.DEBUG

View File

@ -2,17 +2,23 @@
---------------
Future Work
---------------
1. Folder Support
a. Read fingerprints from a folder
b. Create fingerprints from files in a folder
- Fuzzy Logic database schema detection
- Finish adding hash of each database table CREATE string
------------
History
------------
version 0.96
-new feature, creates and index of the fingerprints for quick comparisons
-"-fd" fingerprint directory, this directory should contain a lot of fingerprints
-an index file will be automatically created if none exists
-there are two index tables
-added the "-v" to make the output more verbose
-removed most print statements, replaced the logging
-modified commandline switch to be "-db" for database to be scanned
-fixed bugs with fingerprints that are created in a batch
version 0.95
-improve sql create parsing
-improved database and fingerprint comparison

View File

@ -53,93 +53,9 @@
[[ Testing ]]
[ fingerprint modified by me for testing ]
com.google.android.gms__fitness.db.johnegq_gmail.com__dbfp.json
"Account143": "1921c8925235e313a92f2591f8d3c8b4",
[ Fingerprint modified by me for testing ]
ADDED
"addedField1" : {
"datatype": "INTEGER",
"default": "0",
"notnull": true
},
"addedField2" : {
"datatype": "INTEGER",
"default": "0",
"notnull": true
},
"addedField3" : {
"datatype": "INTEGER",
"default": "0",
"notnull": true
}
com.google.android.gms__keys.db__dbfp.json
REMOVED
"AccountEventIndex": "CREATE TABLE AccountEventIndex ( account_name TEXT NOT NULL, event_index INTEGER NOT NULL, UNIQUE(account_name))",
"AccountEventIndex": "c39a79a61eb08300945a8f88493c9c79",
"AccountEventIndex": {
"account_name": {
"datatype": "TEXT",
"notnull": true,
"unique": true
},
"event_index": {
"datatype": "INTEGER",
"notnull": true
}
},
com.google.android.youtube__youtube_upload_service__dbfp.json
"OfflineHttpRequestProto": "162c915fb22c0efd19d6988215982a1a",
"transfers": "81cef0b7868db82186d659eb188d92e8"
REMOVED
"insertionOrder": {
"autoincrement": true,
"datatype": "INTEGER",
"primarykey": true
},
"network_uri": {
"datatype": "TEXT"
},
"output_extras": {
"datatype": "BLOB"
},
"priority": {
"datatype": "INTEGER",
"default": "0"
},
"status": {
"datatype": "INTEGER"
},
"status_reason": {
"datatype": "INTEGER"
}
ADDED
"addedField1" : {
"datatype": "INTEGER",
"default": "0",
"notnull": true
},
"addedField2" : {
"datatype": "INTEGER",
"default": "0",
"notnull": true
},
"addedField3" : {
"datatype": "INTEGER",
"default": "0",
"notnull": true
}
tv.periscope.android__com.localytics.android.c685a165210ff465709ae8d359bef6c90f17a12f344206db16d6f2f7f129e34f.profile.sqlite__dbfp.json
[[ Errors ]]

View File

@ -35,7 +35,7 @@ class FingerprintDB:
sqlmaster = "SELECT name, sql FROM sqlite_master WHERE type='table'"
# version of the scanner used to create the fingerprint
scanner_ver = "0.95"
scanner_ver = "0.96"
# version of the json file format, this # is inserted in the json fingerprint file and can be used to determine what is supported at the time of that version
format_ver = "0.91"