使用root访问和修改Android上受保护的数据库

时间:2012-03-13 21:04:35

标签: android sqlite root

我正在尝试创建一个能够在/data/data/内访问和修改受保护数据库的应用。这个过程显然需要root权限,我在root设备上测试它。访问SQLite数据库的一般代码已经完成,并且可以对位于其他地方(/sdcard/)的测试数据库起作用。

但是当我希望应用程序访问/data/data/内的数据库时,它显然会失败,因为我试图以普通用户的身份访问它。我已经阅读了关于在Android上使用su二进制文件的主题,并且据我所知,它通常仅用于执行shell命令。

所以我最初的想法就是在应用程序启动时简单地更改文件的权限,并在退出时将其更改回来。因此,在实际操作应用程序本身之前,我使用文件资源管理器将权限更改为rw-rw-rw-。但是我的应用程序仍然无法打开数据库。

我的下一个想法是直接从shell使用sqlite3程序,但我发现,我的ROM没有附带它,所以我必须自己分发它( Titanium Backup < / em>似乎那样做。)

然而有些东西让我想知道是否有更好的方法:我使用Root Explorer作为我的文件浏览器,它有一个内置的方式来浏览任何 SQLite数据库。鉴于它似乎没有附带自定义sqlite3二进制文件,并且我的手机本身没有自己的,所以访问似乎是使用普通的Java工具进行的。但是应用程序如何获得root权限呢?

有没有办法让Android应用程序以root身份运行?或者我忘了为早先的权限设置某些内容阻止我访问它?或者有人知道 Root Explorer 是如何做到的吗?

1 个答案:

答案 0 :(得分:0)

据我所知,您无法提升已在运行的进程的权限。最简单的答案是使用root shell /命令行将其复制到某处,然后再将其复制回root。是的,我确实读过你的问题,只是没有完全解释答案。希望现在很清楚。不确定root explorer是否会执行该操作或其他操作,但它可以正常工作。