如何确定操作系统是否是来自应用程序的自定义ROM?

时间:2010-10-02 00:27:27

标签: android digital-signature rom

我正在开发一个Android应用程序,但我想限制我的应用程序只能由未运行root /自定义ROM的硬件访问。我知道Android的Forward Locking内容保护,但我想在我的应用程序中仔细检查这种保护。有没有办法使用Android API获取设备的签名以及ROM的可信签名,以便我从自定义ROM中锁定我的应用程序?

3 个答案:

答案 0 :(得分:6)

我没有想到的防错方法,抱歉。 ROM或root的要点是你可以改变你想要的任何东西。因此,没有Android API调用可以安全地修改,例如没有通话会100%让你知道你在合法的设备上运行。

更新:查看Google Safety Net,它可能允许您确保设备未被修改。根据我的阅读,安全网应该让你检查一个设备是否与谷歌所说的“android”API“兼容”

答案 1 :(得分:2)

此问题包含有关确定设备是否正在运行自定义ROM的一些信息:

How to find out who the ROM provider is?

答案 2 :(得分:1)

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

使用此功能,然后将其与Google图片

进行比较