[转载]安卓微信数据库解密 - C/C++代码 - BlackFeather'S Blog

[转载]安卓微信数据库解密 – C/C++代码 – BlackFeather’S Blog.

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

微信聊天记录恢复助手 软件下载地址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的删除并不会从文件中彻底删掉,而是抹掉索引,所以可以通过扫描原始文件恢复。前提是没有重装过微信。。。

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

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

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏