nandan-desai-extras / PrivacyBreacher

an app built to showcase the privacy issues in Android operating system
141 stars 9 forks source link

List Tracking identifiers #15

Open emanuelb opened 3 years ago

emanuelb commented 3 years ago

App with no prems can use several Tracking identifiers, list them by:

For ANDROID_ID opened issue: #8

Below some DRM IDs: (more info at: https://beltran.work/blog/2018-03-27-device-unique-id-android/)

val COMMON_PSSH_UUID = UUID(0x1077EFECC0B24D02L, -0x531cc3e1ad1d04b5L)
val CLEARKEY_UUID = UUID(-0x1d8e62a7567a4c37L, 0x781AB030AF78D30EL)
val PLAYREADY_UUID = UUID(-0x65fb0f8667bfbd7aL, -0x546d19a41f77a06bL)
val WIDEVINE_UUID = UUID(-0x121074568629b532L, -0x5c37d8232ae2de13L)

val drumIDByteArray = MediaDrm(WIDEVINE_UUID).getPropertyByteArray(MediaDrm.PROPERTY_DEVICE_UNIQUE_ID)
val drumID = android.util.Base64.encodeToString(drumIDByteArray,android.util.Base64.DEFAULT)

Store Random UUID in external-storage App-Specific folder (getExternalFilesDir()) or other place (need to survive re-installation, thus external storage...) more info: https://medium.com/@khambhaytajaydip/android-unique-device-id-414aca1eaa09

var uniqueID = UUID.randomUUID().toString()

getAdvertisingIdInfo https://developers.google.com/android/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient

FID - FirebaseInstallations getId() https://firebase.google.com/docs/reference/android/com/google/firebase/installations/FirebaseInstallations#getId()

more info & more methods in: https://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-id https://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-id?page=2 https://stackoverflow.com/questions/4468248/unique-id-of-android-device https://ssaurel.medium.com/how-to-retrieve-an-unique-id-to-identify-android-devices-6f99fd5369eb https://en.proft.me/2017/06/13/how-get-unique-id-identify-android-devices/ https://developer.android.com/training/articles/user-data-ids