Android projenize üçüncü taraf API'leri (paket bağımlılık enjeksiyonu, oluşturulan kitaplıklar, kaynak kodu vb.) Içe aktardığınızda, bunların reklamı yapılan gibi davranacağını varsaymış olursunuz. Çoğu zaman kod açık kaynak değildir, gizlenmiştir veya sadece derlenmiştir.Üçüncü taraf API'lerinin Android sistem kaynaklarına erişimini denetleme?
Bu API'ların erişimini ağ, kişiler, video ve ses, konum gibi önemli sistem kaynaklarına denetlemenin bir yolu var mı?
En iyi yaklaşım, sistem kaynakları için bunlara bir proxy
sağlamaktır. Bu, aşağıdaki yararları olurdu:
- Testler Vekaletnamelerde uydurma veriler sağlayarak gerçekleştirilebilir
- Başvurunuz gerekli değilse API gerektiren tüm izinleri sağlamak olmazdı ve proxy izin verecek API reklam veya kötü niyetli kullanılan
- Filtre olası veri kullanıcı hakkında yerel toplanmış ve bir API ev repo gönderilen verilen izin, benzemeye çalışarak nedeniyle izin kırmak değil
nasıl böyle bir bulamamışlardır soluti Kullanıcının tanımladığı faaliyetler ve hizmetler üçüncü taraf API'larının hizmetlerini kontrol edemediği veya hatta herhangi bir Android genel arayüzüne doğrudan çağrı yapmalarını engelleyemediği için uygulanabilir. Bu denetimin kendi uygulamanızın sınırları dışında olmasını istemediğiniz için, çözüm kök erişimi gerektirmemelidir. (network requestslog data of content providers, - bunun için bir cevap araştırma sırasında bana bu sorunun düşünmek lazım)
Bu sorunun içeriği bu geniş soruya Bölümünün özelliklerini ele birkaç soru ile bağlantılıdır
Not: kısa cevap hayır, ama bir tane yaratıcı olabilir (belki yerel düzeydeki hackler bu sorunu çözebilir - idk)
Bu kodu, izinleri olmayan ayrı bir korumalı alanda çalıştırabilirsiniz. Ancak, genellikle bu kod belirli izinlere sahip olmasını beklediğinden, bu kod muhtemelen çökecektir. Kütüphane bağımlılık enjeksiyonunu destekliyorsa, belki de test edilmek için alay ile ilgili bir gözle, korumalı API'lere yönetilen erişim için, sanal alandan IPC'yi kullanan bir "alay" ın enjekte edilmesi için bir araç hazırlayabilirsiniz. Ancak, birkaç kütüphane bunu destekleyecektir. – CommonsWare
@CommonsWare, bunun için test etmenin iyi bir yoludur, ancak bazı kötü amaçlı yazılımlar, eğer kötü niyetli bir niyetiniz varsa, test altındayken bunu tespit edebilir. Ancak, yeni bir çerçeve oluşturmayı ve API'yi kullanmaya devam etmeyi düşünüyorsanız, soru hala geçerli –