什么样的软件才叫良心软件?
我自己用微信,经常遇到需要导出聊天记录、通讯录等等内容的需求。但是微信自己不提供聊天记录导出的功能。所以我就自己写了个获取安卓平台微信数据库密钥、解密数据库的小工具。10m大,纯绿色,不依赖什么.net之类的东西,就一个单文件。功能也很简单,就是自动查找到UIN和IMEI,算出加密密钥,然后解密数据库。拿到解了密的数据库之后,你就可以按需要导出聊天记录啊、通讯录啊啥啥的,愿意导成excel也成,愿意导成文本也成,都随意。当然,也可以不解密,找支持打开加密数据库的工具,用算出的密钥直接打开用也可以。
补充:看回复发现我确实没说清楚。这玩意儿是这么个用法,在手机上用备份功能把微信数据备份了,拷到电脑上解压缩。然后用这个工具在解压缩出来的目录里找到数据库算key。手机备份微信全量不需要root。用的时候也不需要联网,也不会往什么地方写什么东西,也不产生临时文件……总之主打一个省事。
我的手机是小米,小米备份出来的是几个压缩包,体积最大的后缀是bak的那个是需要的包,就解压这个就行。至于其它手机我没有,不知道备份出来长啥样,估计应该都差不多。
我是因为工作需要,很多时候需要查几个月前甚至几年前的消息,看看当时是在什么情况下谁说了什么,做了什么决定,提了什么建议……要在微信客户端上干这个事情简直要命到几乎完全不可行。所以我迫切的需要一个能够把聊天记录导出来,方便我用excel这类超轻量级的数据管理工具来查,按时间也可以,按人头也可以,按群组也可以。这样方便回溯某个想法某个案例某个关系的来源啊发展啊啥啥的。所以做了这么个工具。然后导出messages、rcontact两个表,在excel里做查询捋线就很方便容易。等这两天我把我用的excel表再整理整理,再发个模板上来,方便大家用。
界面极简单:
就仨按钮,一个选择微信备份目录,一个帮助,一个解密数据库。
夸克网盘分享win11下运行可能会弹出这么个蓝色窗口:
Windows 已保护你的电脑
Microsoft Defender SmartScreen 阻止了无法识别的应用启动。运行此应用可能会导致你的电脑存在风险。
更多信息
这个不是病毒,就是我自己写的小工具,没处去弄个微软信任的数字签名……点更多信息,仍要运行就可以了。win11会记住这个工具的位置,下次运行就不提示了。但是如果你把工具挪到别的路径下运行,它还会再提示一遍,照章办理即可。我遇到这个提示好像是更新了24H2之后,之前没有印象会出现这个提示。可能之前windows不查签名?
我没有苹果手机,所以没法研究苹果的数据库……PC端我觉得没有做的意义,因为所有记录都会同步到手机上,所以搞一个手机就够了。
数据库软件推荐几个:
SQLiteStudio,免费,支持中文,缺点是不能导出为excel文件,而且下载需要到github,可能需要梯子~~~
连接加密数据库所需的加密参数如下:
PRAGMA cipher_compatibility = 3;
PRAGMA cipher_use_hmac = OFF;
PRAGMA cipher_page_size = 1024;
PRAGMA kdf_iter = 4000;
Navicat Premium,有免费的精简版,支持中文,界面漂亮,可以导出excel文件。可惜就是要钱…………
连接数据库的时候,在密码那里填入前面算出来的key,在高级页面里,密码名称那里选sqlcipher legacy v1。
数据库打开以后,里面有很多表,最常需要的是这么几个:
messages,好友及群聊的聊天记录。
rcontact,通讯录,包括好友、群聊、公众号等等,微信ID、昵称、备注名的对应关系都在此处。
chatroom,群聊专用表,记录各群成员、昵称等等。
具体各个字段的说明得空再更新吧~~~
——————————————————
对共通问题的统一回复:
关于开源。为啥不开源呢………………因为我不会用那些开源平台………………我不是吃这行饭的,写个小工具就是为了自己用,所以不仅不会用开源平台,而且还懒得查bug,要的功能能跑通就得了。开发工具是aardio,你说多严谨想来也未必,单纯就图一个小、快、方便。等啥时候我有心情有空了,把代码打扮的好看点,变量名啥的都起的规范点了,直接贴在这里就得。
关于企鹅家警告。反正目前还没收到警告,等收到再说呗~~~大不了就撤了下载呗~~~不过我觉着企鹅家大概也懒得理我……不过我也不知道鹅厂的警告逻辑是个啥,是不能发布算法?还是不能发布成品软件?还是不能收钱?还是别的啥啥……