Bazı android uygulamaları bunun ilk kez kurulmadıklarını nasıl hatırlıyorlar?


33

Bazı android uygulamaları daha önce aynı cihaza kurulup kurulmadığını hatırlayabilir. Bir uygulamayı bir yıl önce kaldırdığınızı varsayalım. Bir yıl sonra aynı uygulamayı tekrar yüklerseniz, bu uygulama daha önce aynı telefonda yüklü olduğunu tanıyabilecektir.

Bu teknik, çevrimiçi uygulamalar tarafından, hizmeti bir kez kullanmalarının yasaklanması durumunda, kullanıcıların tekrar yeni bir hesap oluşturmasını kalıcı olarak yasaklamak için kullanılır. Bu tür kullanıcılar daha sonra uygulamayı yeniden yükleyerek yeni bir hesap oluşturduklarında, bu uygulamalar "ilk kez bulunduklarını" tespit edebiliyor ve bu bilgileri sunuculara gönderebiliyor, böylece kullanıcı tekrar yasaklanabilir.

Verilerini temizledikten ve tamamen kaldırdıktan sonra bile bunu nasıl yapıyorlar? Telefonun bir yerinde bazı dosyaları tuttukları anlamına gelir; bu, kaldırma işleminden sonra silinmez. Bu algılamayı nasıl devre dışı bırakırım?


Bu bilgiyi neden silmek istiyorsun? Uygulama oluşturucuların hakları var mı? Bunun popüler bir yorum olmasını beklemiyorum, ancak uygulama oluşturmak için zaman ve sıkıntı alıp almadığınızı düşünün.
S. Mitchell

6
@ S.Mitchell Bugün Bazı uygulama geliştiricileri ve büyük reklam şirketleri, masum kullanıcılardan gereksiz ayrıntılara erişmeye çalışıyor. Sadece MAC Adresini değil, aynı zamanda wifi SSID'nizi de bilmek istiyorlar. Android, 6'da hangi izinleri vermek istemediğinizi uygulayarak onlara iyi bir ders verdi. Ancak, reklamverenler burada durmuyor, her zaman bir dolaşmanın yolu. Bu gizlilik sistemini sağlamak istiyorum.
16'ya

1
@ S. Mitchell Merhaba Mitchell. Sorumu yüzünden beni yanlış yargılıyor olabilirsiniz. Hayır Herhangi bir sosyal veya çevrimiçi hizmetten ve hiçbirinden şüphelenmezseniz borsadan yasaklanmam. Ama benim için bilmek, öğrenmektir. Burada aldığım cevaplarla pratik bir iş yapmıyorum. Ama kesinlikle birisinin işlerin nasıl yürüdüğünü bilmesine yardım ediyorlar. Birisi, hacklemenin nasıl yapılacağını bilmiyorsa, korsanlığa karşı güvenlik oluşturamaz. Aynı benzetme burada. Uygulamaların nasıl çalıştığını öğrenemezsem bir anlamı yoktur. Bir tane yapabilirim.
defalt

7
@ S.Mitchell: Do app creators have rights?Aslında, benim telefonumda değil. Ben belki izin onlara kod çalıştırmasına ve telefonuma kendi veri depolamak, ancak bir yok hakkına ve benim takdirine hem ayrıcalıkları iptal etme hakkını saklı tutar.
dotancohen

2
@ S. Mitchell, neden var olduklarını düşündüğünüzden bağımsız olarak tüm soruların cevaplarını teşvik ediyorum. iyi ki bu siteyi işletmiyorsun!
Özür dileyin ve Monica

Yanıtlar:


33

Benzersiz bir cihazı veya kullanıcısını tanımlamanın birden fazla yolu vardır:

  1. Bir dosyayı bazı (varsayılan olmayan) dizinde tut : Bunu zaten söyledin; uygulamalar genellikle bir cihazın dahili belleğine yazabilir. Bu yöntem kolaydır, çevrimdışı çalışır ve tespit edilmesi en kolay değildir (dosyayı sistem benzeri bir dizine yerleştirin ve kimse onu silmeye zahmet etmeyecektir).
  2. Cihazları benzersiz tutun ANDROID_ID(yeni kurulum başına benzersiz) : bu yöntem basit ancak en azından ilk kullanımda internet erişimi gerektiriyor. Çok müdahaleci değil ve fabrika ayarlarına sıfırlama durumunda kalıcı değildir. Aynı zamanda kullanıcı başına benzersiz. Bu bilgilere bakınız .
  3. IMEI : Çok müdahaleci, değiştirilemez ancak SIM özellikli bir cihaz gerektirir. IMEI, her cihaz için benzersizdir, değiştirilemez ve kullanıcıyı takip etmez; bu, cihazınızı satarsanız, yeni sahibine, uygulamanın zaten telefonda olduğunu söyleyen bir ekranla karşılanacağı anlamına gelir.
  4. Bir kullanıcının Google hesabını takip edin : Bu, ANDROID_IDyaklaşımla hemen hemen aynıdır, ancak kullanıcının erişmesi için açık izin (Android 6.0+) gerektirir. Google hesap ekosisteminden (örneğin oyunlarda yüksek puanlar ve başarılar) yararlanan uygulamalar, belirli bir kullanıcıyı izleyebilir ve uygulamanın kurulup kurulmadığından daha fazla bilgi edinebilir.

2, 3 ve 4, bir ağ bağlantısı ve geliştiricinin tarafında bir sunucu gerektirir.


2,3 ve 4'üncü kısımları Xprivacy'i kullanarak yönetebilirim. Her birini taklit edeceğim. Ama ilki, bunu tespit etmek kolay değil. Yine de bu güvenlik açığını tespit edebildiğim var mı?
defalt

3
Bu bir güvenlik açığı değil, yalnızca suistimal edilmiş bir özellik. Dosyaları kayıt defterinde tutan uygulamalara çok benzer. Telefonunuzun dahili deposundaki tüm dizinleri gözden geçirmek ve şüpheli dosyaları aramak dışında yapabileceğiniz pek bir şey yok.
GiantTree

1
Bulmak / bu uygulamayı yaparken iyi şanslar. Sistem, dahili depolamadaki bazı eksik dosyalar nedeniyle çökemez. Genellikle, uygulamalar aynı dosyaları kullanan aynı çerçeveleri kullanma eğilimindedir, ancak önceden belirttiğiniz gibi, bu dosyaları bulmak imkansızdır (her zaman değil, çoğu zaman). "ID", "user" veya benzeri şeyleri içeren dosyalar genellikle böyle bir kimlik içerir ve bu ID'ler genellikle reklamcılık için kullanılır.
GiantTree

2
@ S.Mitchell Hayır Hiçbir çevrimiçi hizmetten, web uygulamasından ve çevrimiçi oyundan yasaklanmadım. Ancak sistemin arayüzünün arkasında nasıl çalıştığını bilmek, android gelişiminde ileriye doğru adım atmanın doğru olduğuna inanıyorum.
defalt

8
@ user334283 "aradığınız dosya adını asla bilemezsiniz". Bu yanlış. Linux işletim sistemi olan Android, stracetüm sistem çağrılarını takip etmek için kullanılabilecek bir yardımcı programa sahiptir . Bu nedenle, uygulamanızı stracecihazınızdaki dosyalarla ilgili tüm sistem çağrılarını kullanarak başlatmanız ve kontrol etmeniz gerekir ve uygulamanın varlığını kontrol eden tüm dosyaları görürsünüz. Tabii: muhtemelen akıllı telefonda yapmak oldukça zor ama kesinlikle mümkün .
Bakuriu

2

Depolamaya bağlı değil, buluta bağlı. Verilerinizi silmiş olsanız bile bu şekilde hatırlıyor. Bunu kapatmak için, cihazınızın ayarlar uygulamasına gidin, kişisel altındaki google hesaplarına dokunun (birden fazla hesabınız varsa istediğiniz hesaba dokunun), ardından otomatik senkronizasyon yapmak istemediğiniz uygulamaları kapatın.


Otomatik senkronizasyon, kök problem değildir. Üçüncü taraf parti sunucuları, uygulamalarının MAC Adresinizi, IMEI'yi, Cihaz Kimliğini, Reklam Kimliğinizi toplayabildiğinden emin olur ve gelecekte cihazı tekrar algılamak için bunu sunuculara depolar. Bu ayrıntıları gizlemek gizliliğinizi koruyacaktır, ancak bir uygulama Windows'taki gibi "kayıt defteri girdileri" yazıyorsa, saptanamayacaktır.
16'ya

2

GiantTree'nin cevabı en iyisini kapsar, ancak düşünülmesi gereken başka bir nokta vardır. Açıkça bir " karanlık model " olurdu, ancak bu tanımlama belirli kullanıcı verilerinin parmak izi ile de yapılabiliyordu - bu onun ilk noktasında bir değişken olarak görülebilir ("bir dosyayı sakla"), ancak tespit edilmesi daha zor ve daha az uygun olacaktır. kaçınmak.

Bunun ne kadar esnek olduğu seçilen verilere bağlıdır. En belirgin yöntem iletişim ayrıntılarına bakmak ve bunun parmak izi formunu kullanmak; Bir alternatif, fotoğraf zaman damgalarının ve diğer meta verilerin kullanılması olabilir. Açıkça bu değişiklikler zaman içerisinde değişir, bu nedenle hangi yöntem kullanılırsa kullanılsın değişiklikten sonra hala yakın bir cevap vermesi gerekir (bu yüzden geleneksel bir karma işlevinden farklıdır). Ayrıca, kullanıcının izlenen verileri basitçe silmemesi garantisi yoktur, ancak çoğu durumda insanlar bunu yapmamayı tercih eder.

Telefon donanımı tipik olarak PC donanımından daha tekdüze olduğundan, biraz farklı olmasına rağmen, bunun nasıl çalıştığını anlamak için tarayıcı parmak izine bakmak isteyebilirsiniz. Bununla birlikte, bazı telefon ayrıntılarının eklenmesi , parmak izini biraz daraltmanıza yardımcı olabilir .

Bu yaklaşımın özellikle dağıldığı nokta, bir kullanıcının telefon değiştirmesi ve ayrıntılarını onlarla birlikte yeni bir telefona götürmesidir (bu durumda (telefon ayrıntıları parmak izine girmezse), yeni telefon zaten bir kurulum yapmış gibi algılanabilir. sorulan gibi. Ancak, bir uygulamanın bir kullanıcıyı yasaklamaya çalıştığı bir senaryoda, bu aslında istenen bir sonuç olabilir (belirli bir telefonun kendisini yasaklamak yerine)

Lütfen aklınızda bulundurun: Hiçbir şekilde, uygulamalar yazıyorsanız çalışmanın bir yolu olarak bunun doğru veya "iyi" olduğunu söylemiyorum, ancak insanların tartışıp konuşmadıklarını anlayacağından yalnızca tartışma yoluyla olduğu gibi tartışmak makul görünüyor. Bununla ilgili bir şeyler yapacak kadar endişeli.


1

Bir SharedPreferences sınıfı var - https://developer.android.com/reference/android/content/SharedPreferences.html - bazı uygulamaların tercih verilerini depolamak için kullandığı. Uygulama kaldırıldığında bu veriler silinmez. Uygulama daha sonra yeniden kurulursa, önceden kaydedilmiş herhangi bir SharedPreferences anahtarı hala kullanılabilir durumdadır.


6
SharedPreferencesuygulama kaldırıldığında aslında silinir . Geliştiricilerin yedeklemeleri ayarlama yolları vardır, ancak bunlar varsayılan olarak kaldırma sırasında kaldırılır. (Kaynak: Geliştirici olarak, tercihleri ​​silmek için uygulamalarımı kaldırırım. Ayrıca bkz .: stackoverflow.com/a/9815641/1438733 )
Eric

1

Başka bir olasılık var - kalıcı çerezlerin kullanımı çok büyük "süresi dolmuş". Sanırım, aynı geliştiriciden birden fazla uygulamanın, geleneksel olarak kimlik bilgilerini paylaşmak için kullandığı, hesap özellikleri aracılığıyla depolanan kimlik bilgileri kamuya açık / bilinmediği zaman.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.