10.07.2015 Views

dissertation

dissertation

dissertation

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C.6 False data from alternate databasesThis is the code for serving false data from alternate databases in response tocontact list queries. It is provided as a patch on top of the instrumentationcode. All patched files are in the directory src/com/android/providers/contacts/. The code for reading the different databases is in the filesContactsDatabaseHelper.java, CellebriteContactsDatabaseHelper.java and XRYContactsDatabaseHelper.java, while the code choosing betweenthem is in ContactsProvider2.java. All files are installed on thephone as part of the contacts provider package, /system/app/ContactsProvider.apk.ContactsDatabaseHelper.java is a helper module which encapsulatesmany details of the contact list database which the contact list providerdoesn’t need to deal with. One of these details is the file name of the database,in the predetermined directory /data/data/com.android.providers.contacts/databases/. Normally, this name iscontacts2.db. Two subclasses are introduced,CellebriteContactsDatabaseHelper.java andXRYContactsDatabaseHelper.java, which instead use the file namescellebrite.db and xry.db, respectively. These files contain databases preparedseparately. The main contact list provider query function, query() inContactsProvider2.java, is changed to select one of the database helpermodules depending on whether the query comes from a known forensics tool,based on the name of the calling program.109

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!