dbfp_pub/docs/devnotes

136 lines
3.7 KiB
Plaintext

[[ TODO ]]
Action Items from the code review:
xx1) Change table name from "metadata" to "app_details"
xx1) Regression Testing of all Features
2) Unit Tests
a) create modified fingerprints for testing
b) select databases for testing
3) Documentation
4) Look at SQL statements parsing errors
xx5) Fingerprint compare feature
xx-Add function to query the index for a specific MD5 table (database schema)
xx-Add a feature to add a fingerprint to the existing index (it currently recreates an index)
xx-Add a table to the Index to list all the applications that have a fingerprint (include the app version)
xx-more functionality can result from this information in the index
-Create a document describing the index file and include an example
-Create an example of the FingerprintDB class usage with a standalone tool
-Add automated app version discovery to the android pull feature
Get App Version
http://stackoverflow.com/questions/11942762/get-application-version-name-using-adb
[ Regression Testing ]
android pull, data dir, comparison
[ Pull Apps from Internet ]
http://www.aptoide.com/webservices/docs/2/getApkInfo
[ Static Code Analysis ]
AFL (python port)
http://lcamtuf.coredump.cx/afl/
https://bitbucket.org/jwilk/python-afl/src/af96425344b992ba6b8ea2c446e8eeea5dc43ccd/doc/?at=default
[ Hashing ]
Hash the SQL create string.
Also hash the json schema created.
[ Android Pull ]
-test android pull (regression testing)
-try VM android pull?
-use adb bridging technique
[ MD5 Index ]
-test modified databases and the fingerprints created
-index integrity
-get number of fingerprints processed, compared to # in folder
SELECT SUM (fp_count) FROM md5_all
-add "-idxf" "--index_force" to force a re-index
-first give info about current index
-next, create a new index
-give info about new index
"152 fingerprints in the index"
"Creating a new index. Moved previous to backup"
"Creating... FINISHED."
"168 fingerprints in the new index"
[ Android Data ]
-Processing of android data
-removed verbose messsage for each fingerprint
-fix error message to look good
[ Module Cleanup ]
-remove print statements (from modules)
-add logging statements
-add exception throwing
-add unit testing
-test md5 sum create of tables
-test md5 sum create of entire db (tables concatenated)
[ Incorporate with another Product ]
-add module to other python project
-add unit test to other python project
[[ Code Snippets ]]
self.db_conn.execute('''
CREATE TABLE md5_index (
md5_all TEXT PRIMARY KEY,
md5_list TEXT,
file_name TEXT);
''')
[[ Testing ]]
[ Fingerprint modified by me for testing ]
[ Regression testing of Android pull ]
[ Regression testing of data directory parse ]
[[ Errors ]]
file is encrypted or is not a database
WARN: field definition not recognized: "[version] INTEGER"
WARN: field definition not recognized: "[corpus_name] STRING PRIMARY KEY"
WARN: field definition not recognized: "[incarnation] STRING"
WARN: field definition not recognized: "[seqno_table_complete] INTEGER"
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database
file is encrypted or is not a database