BlackFeather'S Blog 我的技术小博 -- C/C++,Python,Golang

安卓微信数据库解密

 

微信聊天记录备份恢复助手正式发布!

微信聊天记录恢复助手 软件下载地址http://www.fenloger.com/  同时支持安卓和苹果设备哦!~

 

刚刚开通了群,欢迎各位加入参与互动讨论与问题反馈!!群号:330726869

 ///////////////////////////////////////// /////////////////////////////////////////

 

 正文开始:

 

1.uin怎么获取?

这个uin不是登录的帐号,而是属于内部的、程序界面上不可见的一个编号。

至于查看,最简单的方法就是登录web微信后,按F12打开网页调试工具,然后ctrl+F搜索"uin",可以找到一串长长的URL,里面的uin就是当前登录的微信的uin。

 

2.串号和uin怎么都正确的怎么还是没办法解密

先说说串号这个玩意,几个热心的朋友反馈了这个问题,经过博主测试发现不同的手机使用的不一定是IMEI,也可能是IMSI等等,而且串号也不一定是标准的15位,可能是各种奇葩,比如输入*#06#出来的是一个,但是在微信程序里用的却是另一个非常奇葩的东西,这种情况多在双卡双待和山寨机中出现,经过严格的测试,现在已经能做到精确识别,那几位热心的朋友也赠与了不同的代码表示鼓励。

 

3.计算出来了正确的key为什么无法打开数据库文件

微信这个变态用的不是标准的sqlite数据库,那个帖子也提到了不是数据库加密,是文件的内容加密,其实是sqlcipher。官方上竟然还卖到149$,不过倒是开放了源码,水平够高的可以自己尝试编译。google还能搜索到sqlcipher for windows这个很好编译,不过博主不知是长相问题还是人品问题,编译出来的无法打开微信的数据库,后来改了这份代码才完成。这里为了方便各位测试查看,我提供一个小工具:

点击下载:SQLCipher数据库查看器

4.数据库文件内容是加密的,怎么还原

这个是某些特殊情况下用到的,比如聊天记录删除了数据库中就没了,但是某个网友测试说数据库无法查询出来了,但是在文件中还是有残留的。这个情况我没测试过,不过想想感觉有这个可能,就跟硬盘上删除了文件其实就是删除了文件的硬盘索引,内容还是残留在硬盘上可以还原一样,sqlite数据库删除的条目只是抹去了索引,内容还存在这个文件中。

网上的都是直接打开读取,并没有解密还原这个文件成普通的sqlite数据库,使用sqlcipher的导出方法也只是将可查询的内容导出。后来博主花了时间通读了内容加密的方式,做了一个小程序将加密的文件内容直接解密,不操作修改任何数据,非数据库转换,直接数据流解密,完全还原出来了原始的未加密数据库文件,大小不变,无内容损失,可以直接用sqlite admin等工具直接打开。

 

 

 

 

 

5.已经删除的聊天内容可以恢复么

通过上述第4的方式还原出原数据后,经测试可以恢复。sqlite的删除并不会从文件中彻底删掉,而是抹掉索引,所以可以通过扫描原始文件恢复。前提是没有重装过微信。。。

 

 

各位还有什么问题可以留言继续补充,帮助各位解决问题。

联系博主请点击页面最上方的红色按钮。

 

2013年8月7日 | 发布:blackfeather | 分类:C/C++代码 | 评论:15

留言列表:

  • steelarmor 发布于 2015/12/12 9:42:26  回复
  • 博主您好,请问“把加密内容直接解密的小程序”能共享一下吗,谢谢。
    • blackfeather 发布于 2015/12/15 14:54:14  回复
    • 搜索fenlog软件,有一个微信助手,带有完全解密的功能。
  • charlesh 发布于 2014/10/20 15:47:05  回复
  • 我就是单纯的来感谢楼主的
  • administration 发布于 2014/4/25 21:32:54  回复
  • 最近在研究这个,请给一份QQ/微信的代码,不胜感激,fujiahua@qq.com
    • fenlog 发布于 2014/4/27 0:29:00  回复
    • 请点击页面顶部链接联系博主
  • wa 发布于 2014/3/18 16:21:15  回复
  • 能共享一下将加密数据库导出成明文数据库的工具么
  • 午夜飘雪 发布于 2014/2/2 20:17:56  回复
  • 楼主, 那个UIN 在CompatibleInfo.cfg 还是systemInfo.cfg中? 哪个地方?怎么得到啊?
  • roger 发布于 2014/1/14 11:19:15  回复
  • 博主 key是用什么算法计算的 能否略微指点下
    • blackfeather 发布于 2014/1/15 13:16:27  回复
    • 仔细看本文第一行的内容和链接。
  • E朦胧 发布于 2013/12/25 18:44:52  回复
  • SQLCipher数据库查看器 的下载链接失效了,能重新上传一下吗?谢谢。
    • blackfeather 发布于 2013/12/26 10:01:45  回复
    • 已经修复了。因为备份还原的时候360压缩出了问题导致这个文件没有正确的解压出来,垃圾软件。。。
  • 无法打开 发布于 2013/11/7 15:13:55  回复
  • 我用了博主的方式和网上流传的dos命令获取的key是一样的,但是用博主共享的sqlcipher软件还是无法打开数据库,我不知道自己究竟哪里出了错,苦恼,不知道是不是微信5.03改变了key的算法
    • blackfeather 发布于 2013/11/7 17:35:03  回复
    • 算法没变
  • 无法打开数据库文件 发布于 2013/10/25 11:19:09  回复
  • 4.计算出来了正确的key为什么无法打开数据库文件 ?

    博主你好,
    请问一下怎么解决官方下载的源代码编译,不能打开微信的数据库,能方便给一个思路吗?

    现在调试微信的数据库时,发现微信数据库文件的前16字节的salt是2*8的重复,不知是什么原因。
  • 大师指点下 发布于 2013/10/12 10:32:27  回复
  • 请问博主如下打印的cfg里哪个是uin,我试了都不对唉,从web网页飞信取到的uin和imei结合起来md5也都不对唉,请指点下

    CompatibleInfo.cfg {
    258=354960050015079,
    259=samsungGT-I8268: swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls: ARMv7 Processor rev 0 (v7l): 7: PXA988: 0000000000000000,
    256=A35496005001507}

    systemInfo.cfg {
    17=0,
    34=270000,
    16=1381447873,
    1=-1846960212,
    32=,
    2=6,117.135.171.159,2048|9,140.206.160.179,4024|9,140.206.160.179,4024|17,101.226.76.175,2048|17,101.226.76.175,2048|,
    18=6a34903464d6f3e273fc404f552b1b2a,
    3=6,117.135.171.194,2048|9,140.206.160.215,2048|9,140.207.54.36,2048|17,101.227.131.105,2048|17,101.226.76.145,2048|,
    33=600000,
    6=8080:443:80,
    7=5:5,
    25=long.weixin.qq.com,
    24=short.weixin.qq.com}
    • w 发布于 2013/10/14 18:02:09  回复
    • 525738C1
      是这个么,另外想问下你是怎么转出这种格式来的,。。
    • 496715493 发布于 2014/12/25 16:28:15  回复
    • 能知道一下怎么转换出来吗?qq496715493
  • chonour 发布于 2013/10/10 0:53:08  回复
  • 求楼主获取一个设备下所有UIN的方法,或者给一点点思路,膜拜!
  • hkey 发布于 2013/10/6 1:22:25  回复
  • 博主,我又发现了一种可以获知uin的渠道,就是微信公众平台。登录微信公众平台后,就可以从网页代码中获知每个粉丝的uin值,代码中把它叫fakeid,我对比了下和我先前找到的uin值一模一样
    • hkey 发布于 2013/10/11 22:13:29  回复
    • 我说错了,代码中叫id,在粉丝列表页面查看
  • 数据库小拿 发布于 2013/9/19 7:56:53  回复
  • 测试了一下,UIN和IMEI都拿到(通过.cfg拿到)不过用博主说的方法MD5出来取前七位不能打开数据库。还有micromsg里面的用户目录(就是一大串数字那个)用MM+UIN的方式md5出来也不对啊?

    另外不知道博主有没有研究过5.0的方法变动过了吗?一直担心变化过不敢升级。
    • blackfeather 发布于 2013/9/19 16:38:59  回复
    • 那是你操作过程中有错误。。。微信5.0跟4.x版本加密一模一样
    • 大神请指教 发布于 2013/10/12 12:20:02  回复

    • cfg里怎么拿到uin的,imei很明显,uin我试了几个都不对?
    • 博主看看 发布于 2013/10/12 12:22:09  回复
    • 跟楼主一样,试了借个貌似的uin md5后都不对,到底哪个是uin?
    • nmweizi 发布于 2013/10/16 23:48:24  回复
    • 如何从cfg中拿到的uin,可以指导一下吗?
    • 继续烦恼 发布于 2013/12/12 11:42:36  回复
    • cfg其实是个java的hashmap流,简单地写个java程序读回就行了。如果你懂点java就很容易搞定的。如果不懂的话,解释起来也比较困难。
    • lxwhw 发布于 2014/6/17 15:20:43  回复
    • uin的获取方法: data/data/com.tencent.mm/shared_prefs/system_config_prefs.xml中uin=后面的数值就是
  • 妮梅德赫赫 发布于 2013/9/10 22:31:25  回复
  • 哇 膜拜楼主
  • v 发布于 2013/8/28 23:30:48  回复
  • 楼主这个“WEB在线版本的安卓聊天记录查看” 出了么
    • blackfeather 发布于 2013/8/29 0:22:35  回复
    • 已经出了,我在写操作说明,明天就贴出来,注册送金币~
    • v 发布于 2013/8/29 20:21:16  回复
    • 期待,在线等。。。

发表留言: