Android打开微信本地数据库详细步骤一

来源:互联网 发布:o reilly 知乎 编辑:程序博客网 时间:2024/05/21 07:34

 特别声明:本文章只是用于技术交流,不可用于非法行为。

以前,我们或许就知道项目数据库的目录是在sdcard中 data/data目录下。确实是如此,但你只能打开模拟机中的这个文件夹。在真机中,你会发现data目录下是空的,那是因为你没有权限。本章讲的是如何获得权限,并取到数据库文件

1.首先,你要给你的手机root权限,下个KingRoot就能搞定。

2.手机连上你的开发工具,stuido和eclipse都行,打开DDMS。

3.打开DOC,定位到sdk目录下的platform-tools。有人或许对这个DOC不熟悉,你也可以在如图下的位置空白处,Shift+鼠标右键,选择——在此处打开命令窗口。

4.在DOC输入命令:

adb shell su -c "chmod 777 /data"(给予data目录操作权限,虽然我也不知道777是多大的权限)

adb shell su -c "chmod 777 /data/data"(给予data/data目录操作权限)

如果(为什么我说如果,因为有可能不成功,我会讲的,不要急)这两句命令成功执行,那么此刻你能打开data/data目录,发现有个文件夹叫:com.tencent.mm。打开它,你会发现打不开,里面是空的,骚年,不要沮丧,继续给读写权限!

adb shell su -c "chmod 777 /data/data/com.tencent.mm"

如果命令执行成功,你又能打开了,但是还是只能看看,里面有好多文件夹,却打不开。举一反三,继续给权限,

adb shell su -c "chmod 777 /data/data/com.tencent.mm/databases"

adb shell su -c "chmod 777 /data/data/com.tencent.mm/MicroMsg"

你想打开哪个给哪个命令。(目标东西在MD5加密后的字符串为名的文件夹下面,下一篇会讲到,现在你就手敲吧)

好,讲一下如果执行不成功,不成功最大的可能是adb端口被占用,输入命令查找谁是占了。命令:

netstat -ano | findstr "5037"

(这也是有时候解决手机连不上eclipse的其中解决办法)。

输入命令后你会找到是谁占了你的adb,如下图:


是720,但720又是什么鬼?打开任务管理器找找,网版网管都玩过任务管理器。


看见PID为720的是360Mobilel..那货。(有人电脑默认不显示PID,选择 查看-->选择列-->勾选PID)我的被360占了,我常用360看流量,卸载腾讯的东西。既然找到了谁占了我的ADB,那结束这个任务,360比较顽强,结束不了怎么办?卸载呗,我的电脑,我的手机我做主!

5.导出数据库文件

是不是看到这儿就觉得剩下的都不是事?那你试试在DDMS, pull a file from device 把数据库文件导出来。你能不能做到我不知道,反正我是做不到,如果有人做到麻烦告诉我一声,谢谢。(我听说,那只能导出来系统文件,导不出用户区的东西,虽然你的手机被root了,但你电脑adb没有被root啊),我被虐了千百遍,只好曲线钓妹。

6.曲线钓妹

思路是,先把文件拷贝到你可操作的sdcard区域下面,然后再用adb 把它pull到电脑。具体DOC命令

6.1进入adb 命令:

adb shell

6.2 给权限 命令

su

6.3 定位到指定位置 命令

cd /data/data/com.tencent.mm/MicroMsg/xxxxxxxx(就那个MD5加密后的字符串为名的文件夹全名)

6.3 复制文件到sdcard可操作区域 命令

cp EnMicroMsg.db /sdcard/

6.4 返回到 platform-tools,并复制数据库文件,复制命令

adb pull /sdcard/EnMicroMsg.db

请参考下图


然后你就会在 platform-tools 下面找打这个数据库文件,把它剪切到任何你想让它去的地方。

这就是曲线钓妹的思路,如果你不能直接钓到妹子,那么就把她介绍给我,我一定不会再还给你的。

还有步骤二,打开数据库,请看我的下篇博文。

欢迎加QQ群:36075538 讨论




2 0
原创粉丝点击