android – 在Rooted手机上阅读/data/data/****/**.db

我正在制作一个应用程序,可以读取来自Whatsapp,Viber,邮件等的消息并对其进行分组,这样您就可以在一个应用程序中阅读一个人对您说的所有信息.

为此,我试图读取每个App在/ data / data目录中的* .db文件,但遇到了两个问题.

由于我刚接触为root手机编程,我不知道它是如何工作的,并没有找到一个好的教程或任何文档.你有任何我能读懂的东西吗?

一旦我知道如何使用root访问/ data / data,如何在不复制的情况下读取* .db.许多其他主题说我应该将* .db文件复制到一个文件夹并在那里阅读,但是从它的位置读取它不是更简单吗?

解决方法:

无论手机是否植根,应用程序都只能读取自己拥有的文件或公共文件(例如,在SD卡上).这是因为虽然手机可能已植根,但应用程序本身无法获得root访问权限.

相反,在手机上,您有一个名为su的可执行文件,可让应用程序运行root命令.但是,认情况下,它拒绝让任何应用程序运行任何根命令.当您使用手机时,可以使用新的修改版本替换此可执行文件,该版本允许已批准的应用程序运行root命令.通过使用这些根命令,您可以获得对系统的间接root访问权限.

现在,由于您只对应用程序进行间接root访问,因此您不能只读取文件系统中的任何文件.但是,如果您运行root命令将其复制到您自己的私人目录,您有权阅读它,您的应用程序可以直接从那里读取它.

(注意:你可以通过使用su可执行文件在技术上读取文件而不先复制它们,但除非有一个真正的原因你不能先复制,而你实际上知道你在做什么,你可能甚至不应该打扰因为它总是很值得麻烦,特别是对于sqlite数据库.)

有关如何使用su运行root命令的详细信息,请参阅this link(Gumbo在上面的注释中发布).

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能