Beberapa aplikasi android dapat mengingat apakah mereka telah diinstal pada perangkat yang sama sebelumnya. Misalkan Anda menghapus aplikasi setahun lalu. Setelah satu tahun jika Anda menginstal aplikasi yang sama lagi, aplikasi itu akan dapat mengenali bahwa itu telah diinstal sebelumnya pada ponsel yang sama.
Teknik ini digunakan oleh aplikasi online untuk secara permanen melarang pengguna membuat akun baru lagi jika mereka pernah dilarang menggunakan layanan ini sekali pun. Ketika pengguna tersebut membuat akun baru dengan menginstal ulang aplikasi nanti, aplikasi ini dapat mendeteksi "kehadiran pertama kali" mereka dan mengirim informasi ini ke server sehingga pengguna dapat diblokir lagi.
Bagaimana mereka melakukannya bahkan setelah membersihkan data mereka dan menghapus instalan mereka sepenuhnya? Itu berarti mereka menyimpan beberapa file di suatu tempat di telepon, yang tidak dihapus setelah dihapus. Bagaimana cara menonaktifkan deteksi ini?
sumber
Do app creators have rights?
Sebenarnya, di ponsel saya , mereka tidak. Saya mungkin membiarkan mereka menjalankan kode mereka dan menyimpan data mereka di ponsel saya, tetapi mereka tidak memiliki hak untuk dan saya berhak untuk mencabut kedua hak istimewa atas kebijakan saya.Jawaban:
Ada beberapa cara untuk mengidentifikasi perangkat unik atau penggunanya:
ANDROID_ID
(unik per instalasi baru) : metode ini sederhana tetapi membutuhkan akses internet, setidaknya pada penggunaan pertama. Ini tidak terlalu mengganggu dan tidak bertahan jika reset pabrik. Ini juga unik untuk setiap pengguna. Lihat informasi ini .ANDROID_ID
pendekatan tetapi memerlukan izin eksplisit (Android 6.0+) dari pengguna untuk mengakses. Aplikasi yang memanfaatkan ekosistem akun Google (mis. Skor tinggi dan pencapaian dalam game) dengan demikian dapat mengikuti pengguna tertentu dan mendapatkan informasi lebih dari sekadar apakah aplikasi telah diinstal atau belum.2, 3 dan 4 memerlukan koneksi jaringan dan server di sisi pengembang.
sumber
strace
utilitas yang dapat digunakan untuk melacak semua panggilan sistem. Jadi, Anda harus memulai aplikasi menggunakanstrace
dan memeriksa semua panggilan sistem yang terkait dengan file pada perangkat dan Anda akan melihat semua file yang dibaca / diperiksa keberadaannya oleh aplikasi. Tentu: mungkin cukup sulit untuk dilakukan di smartphone tetapi pasti mungkin .Itu tidak terhubung ke penyimpanan, tetapi ke cloud. Begitulah cara mengingat meskipun Anda menghapus data Anda. Untuk menonaktifkan ini, buka aplikasi pengaturan perangkat Anda, ketuk akun Google di bawah pribadi (ketuk akun yang Anda inginkan jika Anda memiliki banyak akun), lalu matikan aplikasi yang tidak ingin Anda sinkronkan secara otomatis.
sumber
Jawaban GiantTree mencakup yang terbaik, tetapi ada hal lain untuk dipikirkan. Ini jelas akan menjadi " pola gelap " tetapi identifikasi ini juga dapat dilakukan melalui sidik jari data pengguna tertentu - ini dapat dilihat sebagai varian pada poin pertamanya ("simpan file") tetapi akan lebih sulit untuk dideteksi dan kurang nyaman menghindari.
Seberapa tangguh hal ini tergantung pada data yang dipilih. Metode yang paling jelas adalah melihat detail kontak dan menggunakan beberapa bentuk sidik jari ini; alternatif mungkin menggunakan cap waktu foto dan metadata lainnya. Jelas perubahan ini dari waktu ke waktu sehingga metode apa pun yang digunakan harus tetap memberikan jawaban dekat setelah modifikasi (sehingga berbeda dari fungsi hash tradisional). Juga tidak ada jaminan bahwa pengguna tidak hanya menghapus data yang dilacak, tetapi dalam banyak kasus orang akan memilih untuk tidak melakukan ini.
Anda mungkin ingin melihat sidik jari peramban untuk mengetahui bagaimana ini bekerja, meskipun akan sedikit berbeda karena perangkat keras ponsel biasanya lebih seragam daripada perangkat keras PC. Yang mengatakan, penambahan rincian telepon tertentu dapat membantu mempersempit sidik jari sedikit.
Di mana pendekatan ini rusak khususnya adalah jika pengguna berpindah telepon dan membawa detailnya ke telepon baru - dalam hal ini (kecuali rincian telepon dimasukkan ke dalam sidik jari) telepon baru mungkin terdeteksi telah memiliki instalasi, seperti pertanyaan yang diajukan. Namun tampaknya sangat mungkin bahwa dalam skenario di mana aplikasi mencoba untuk melarang pengguna, ini mungkin sebenarnya merupakan hasil yang diinginkan (daripada melarang ponsel tertentu itu sendiri)
Harap dicatat: Tidak mungkin saya mengatakan ini benar atau "baik" sebagai cara untuk beroperasi jika Anda sedang menulis aplikasi, tetapi tampaknya masuk akal untuk membahasnya karena hanya melalui diskusi orang-orang akan mengetahui apakah mereka cukup peduli untuk melakukan sesuatu tentang hal itu dan apa itu.
sumber
Ada kelas SharedPreferences - https://developer.android.com/reference/android/content/SharedPreferences.html - yang digunakan beberapa aplikasi untuk menyimpan data preferensi. Data ini tidak dihapus ketika aplikasi dihapus. Jika aplikasi ini kemudian diinstal ulang, kunci SharedPreferences yang disimpan sebelumnya masih tersedia untuk itu.
sumber
SharedPreferences
sebenarnya dihapus ketika aplikasi dihapus. Ada beberapa cara bagi pengembang untuk mengatur cadangan, tetapi secara default mereka dihapus saat dihapus. (Sumber: Sebagai pengembang, saya mencopot pemasangan aplikasi saya untuk menghapus preferensi. Juga lihat: stackoverflow.com/a/9815641/1438733 )Ada kemungkinan lain - penggunaan cookie tetap dengan "waktu untuk kedaluwarsa" yang sangat besar. Saya kira itu adalah bagaimana beberapa aplikasi dari pengembang yang sama digunakan untuk berbagi kredensial secara tradisional, ketika kredensial yang disimpan melalui fitur akun tidak begitu terbuka / diketahui publik.
sumber