dbfp_pub/docs/devnotes

123 lines
3.4 KiB
Plaintext

[[ TODO ]]
Action Items from the code review:
-Create a document describing the index file and include an example
-Add a table to the Index to list all the applications that have a fingerprint (include the app version)
-more functionality can result from this information in the index
-Create an example of the FingerprintDB class usage with a standalone tool
-Add a feature to add a fingerprint to the existing index (it currently recreates an index)
-Add function to query the index for a specific MD5 table (database schema)
-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