用于根设备的Android广播接收器

用于根设备的Android广播接收器,android,broadcastreceiver,root,Android,Broadcastreceiver,Root,我使用RootTools库和RootTools.isRootAvailable()函数来了解设备是否为根设备。当手机在广播接收器中启动时,我会使用它。如果设备是根设备,我将删除所有安全数据。 不久前,我看到了一段视频,在安装了3个应用程序并对其进行了一些操作后,用户在其中设置了手机的根目录。有趣的是,他拥有SU权限,并且可以在不重启手机的情况下查看所有aps数据。 我的问题是,我们如何在手机中保护我们的应用程序数据,也许Android在根访问上有广播接收器,也许我必须监听其他接收器集合,或者我们

我使用
RootTools
库和
RootTools.isRootAvailable()
函数来了解设备是否为根设备。当手机在广播接收器中启动时,我会使用它。如果设备是根设备,我将删除所有安全数据。
不久前,我看到了一段视频,在安装了3个应用程序并对其进行了一些操作后,用户在其中设置了手机的根目录。有趣的是,他拥有SU权限,并且可以在不重启手机的情况下查看所有aps数据。 我的问题是,我们如何在手机中保护我们的应用程序数据,也许Android在根访问上有广播接收器,也许我必须监听其他接收器集合,或者我们必须生成服务,在某个时间段内检查根访问?

  • 没有任何事件(广播或其他)会告诉您“设备已立即根目录”。即使它存在,也很容易失败:只需在生根之前强制停止应用程序。顺便说一下,这也会阻止应用程序接收
    BOOT\u COMPLETED
    事件

  • 没有针对根设备的明确保护。你不能相信一个被破坏的系统会告诉你它已经被破坏了

我能想到的最好的解决办法是

  • 加密您喜爱的数据,因此如果没有密钥,这些数据将毫无用处
  • 每次需要它们时,在内存中解密它们之前,尝试获取一些系统是否安全的线索
  • 这就留下了问题(如果您不想询问用户)

    • 没有任何事件(广播或其他)会告诉您“设备已立即根目录”。即使它存在,也很容易失败:只需在生根之前强制停止应用程序。顺便说一下,这也会阻止应用程序接收
      BOOT\u COMPLETED
      事件

    • 没有针对根设备的明确保护。你不能相信一个被破坏的系统会告诉你它已经被破坏了

    我能想到的最好的解决办法是

  • 加密您喜爱的数据,因此如果没有密钥,这些数据将毫无用处
  • 每次需要它们时,在内存中解密它们之前,尝试获取一些系统是否安全的线索
  • 这就留下了一个问题(如果您不想询问用户)

    使用视频链接使用视频链接