我正在使用Genymotion在root设备上运行易受攻击的Android应用程序,我正在尝试读取共享首选项和不同Android应用程序内的文件目录中的文件,如: /data/data/xxxx/config.xml和 /data/data/xxx/files/xxxx.xml
我正在尝试使用示例java应用程序以编程方式读取此数据以在logcat中显示数据,但是当我尝试读取文件时,我在logcat上获得了权限问题。
有趣的是应用程序在root设备上运行,所以我想可以访问其他应用程序sharedpreferences.I需要这样的东西,但是在logcat中显示: https://lightsec.wordpress.com/2014/04/28/android-sharedpreferences-insecure-storage/
我也试过这个答案,但它不起作用:
Android: Retrieving shared preferences of other application
如何从共享偏好中检索所有可用的密钥并在logcat中显示?
答案 0 :(得分:1)
这两个链接都描述了使用WORLD_XX常量,就像您尝试阅读的应用一样。
世界上没有人会使用这些常数,因为他们不希望别人阅读他们的共享偏好。每个人都使用MODE_PRIVATE常量,因此他们无法读取它们。
要实现这一目标,您需要执行以下操作:
1)在您的应用程序中请求Root访问权限(具有root权限的电话是不够的)。 (像RootTools这样的库可以帮助你这样做)
2)获得root访问权限后,您必须从文件系统中读取原始.xml文件,并相应地解析它。然后你可以阅读所有数据,甚至可以写信给你。
听起来有点像你让根电话和你的应用具有超级用户权限令人困惑,这些是不同的事情。