136 lines
3.7 KiB
Plaintext
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
|
|
|