本文目录一览:
- 1、怎么在电脑上查手机QQ聊天记录
- 2、如何实现聊天记录显示
- 3、聊天工具包括微信QQ等的服务器后台数据库是用什么数据库什么结构什么方式存储聊天记录的
- 4、用.net做局域网聊天工具,那个查看聊天记录应该如何做
怎么在电脑上查手机QQ聊天记录
去网上搜一个破解软件 追问: 如果你能告诉我在什么地方下载就更好了, 回答: 1、聊 天记 录 存储 方式 QQ聊天记录保存在MsgEx.db文件中。以前很早的版本是保存在Msg.db中, 文件结构 也与现在不同,我们就不分析了。 MsgEx.db采用Storage结构化存储。关于Storage复合文档的知识请查阅Microsoft相关文档,我们不做赘述。 大家可以用VC自带的DocFile View工具查看该文件的内容,可以看到文件结构大致如下: |----MsgEx.db | |----C2CMsg | |----QQ号码 | |----Data.msj | |----Index.msj | |----IMInfo | |----info.dat | |----Matrix | |----Matrix.db | |----SysMsg | |----10000 | |----Data.msj | |----Index.msj | |----DiscMsg | |----GroupMsg | |----MobileMsg |---------TempSessionMsg 消息内容都存储在每个号码下面的Data.msj中,通过Index.msj 索引 。消息内容是经过加密处理的,必须经过解密才能看到。 2 、解密方法 消息内容采用BlowFish分组加密。每8个 字节 为一个分组。 密钥 Key通过QQ号码生成,具体 算法 稍后讨论。 解密方法: a.取前8个字节,通过BlowFish解密, 得到decryptKey; b.decryptKey与后面8个字节XOR,对结果再进行一次BlowFish解密; c.将decryptKey与前8个字节XOR,得到第一组结果; d.decryptKey与后面8个字节XOR,重复b,c两步; e.最终全部数据解密完毕。 最后会剩下一组8字节无法解密,这个实际上是 冗余 数据,似乎是用来作为校验。 3、具体步骤 以 上解 密时,BlowFish的密钥是一个全局公用密钥Key。Key要通过QQ号码生成,具体步骤是: a.将QQ号码进行MD5变换,得到Md5Key b.取Matrix.db的数据,对其进行解码。简单说一下Matrix.db文件的结构: Matrix.db采用 分块 存储,每个Record包含类型、名字长度、名字、内容长度、内容几个字段组成。用 数据结构 表示就是: struct Record{ char rType; short nLen; char Name[nLen]; int rLen; char Content[rLen]; }; 初始内容也是通过加密存储的。解密方法很简单:将长度的低位字节和高位字节XOR,得到key;将内容逐个与key进行XOR,就得到结果。对名字和内容分别进行解密即可。解密后会看到STL, TIP, CRK, CPH, CAH等字段,不清楚具体的啥含义,感兴趣的同学可以自己去研究研究。我们要用到的是CRK字段,长度为32字节(如果本地聊天记录加密,可能会有变化,没试过)。将得到的CRK字段作为pData。 c.用Md5Key对pData进行BlowFish解密,得到全局密钥Key 4、结论 以上讨论的都是本地聊天记录没有加密的情况。如果选择了加密,没有密码是肯定解不出来滴,大伙就不用费心了。
如何实现聊天记录显示
个人意见,仅做参考使用。
1、设计数据结构,需要包括发送人,消息窗口(单聊还是群聊),发送时间,发送内容。
2、设计加密解密算法。
3、在了解界面刷新接口中调用“追加聊天记录”的API。
4、在“聊天记录”按钮的处理函数中调用“显示聊天记录”的API。
聊天工具包括微信QQ等的服务器后台数据库是用什么数据库什么结构什么方式存储聊天记录的
下文是我猜测的:
持久存储,采用的是mysql
消息中间件 里面使用了很多nosql技术,
请采纳!
用.net做局域网聊天工具,那个查看聊天记录应该如何做
用Access或者轻量级的数据库做聊天记录。然后在数据库中建立一张表,简单一点的数据结构:
编号(采用GUID),内容来源地址(IP或计算机名或者用户名),内容发送目标(IP、计算机名或用户名等),内容,时间
然后数据来了,就insert到数据库里。查询,就select了呗。。要是合并,GUID,永远都不会有重复值,自然合并也可以搞定。。。.NET中用GUID:System.Guid.NewGuid()就好了。
这个不难吧。。。。