Je suis en train de développer une application Android, mais je veux restreindre mon application pour qu'elle ne soit accessible que par du matériel qui n'exécute pas de ROM enracinée/personnalisée. Je connais la protection du contenu de verrouillage d'Android, mais je voudrais vérifier cette protection à partir de mon application. Est-il possible d'obtenir la signature de l'appareil avec une signature de confiance de la ROM en utilisant les API Android pour que je verrouille mon application à partir de ROM personnalisées?Comment déterminer si OS est une ROM personnalisée d'une application?
Répondre
Il n'y a pas de manière infaillible que je puisse penser, désolé. Le point principal d'une ROM ou d'une racine est que vous pouvez changer ce que vous voulez. Par conséquent, aucun des appels d'API Android n'est à l'abri de modifications, par ex. Il n'y a pas d'appel qui vous permettrait de savoir à 100% que vous utilisez un périphérique légitime.
Mise à jour: Consultez Google Safety Net, cela peut vous permettre de vous assurer qu'un périphérique n'est pas modifié. D'après ce que j'ai lu, le filet de sécurité est censé vous permettre de vérifier si un appareil est "compatible" avec ce que google dit les API correctives "android"
Cette question contient des informations sur la façon de déterminer si un périphérique exécute une ROM personnalisée :
System.getProperty("os.version"); // OS version
android.os.Build.VERSION.SDK // API Level
android.os.Build.DEVICE // Device
android.os.Build.MODEL // Model
android.os.Build.PRODUCT // Product
utiliser cette puis le comparer avec les images du google