发布网友 发布时间:2022-05-07 01:02
共1个回答
热心网友 时间:2023-11-01 02:55
在你QQ文件佳里 打开这个文件需要用到工具分析User.db格式,取的串是User.db里的某个QQ号码的信息;[参考] http://www.pconline.com.cn/pcjob/process/other/others/0508/686354.html 一、User.db原始数据51 44 01 01 58 00 04 03 00 A9 B5 B2 04 00 00 00 9A 4D 1F 04 06 04 00 B5 BA B6 BE 04 00 00 00 35 25 35 29 。。。51 44 -- "QD":数据段标志;01 01 --保留的数据结构;58 00 --总数据段;04 --第一个数据段(简称1S,下同)的类型,可以从0x01到0x0F,04代表本数据没经过加密处理;03 00 --1S标志的长度;BD AF A8 --1S标志(例如AST、UIN、EWH等),是经过简单的异或并求反计算处理的,此处是AST,可能是Algorithm Shift Times 或Axxx Switch Time;04 00 00 00 --1S数据的长度;9A 4D 1F 04 --1S数据,此处为QQ号码:即 69160346 0x041F4D9A(高位在前);06 --第二个数据段的类型(2S);04 00 --2S标志的长度;B5 BA B6 BE --2S标志,此处是昵称标志;04 00 00 00 --2S数据长度;35 25 35 29 --2S数据,经过加密;二、2S数据加密的分析:69160346,此号的昵称是"无我"(不保证不变换),正常用winhex打开显示为:CE DE CE D2 ;User.db显示为:35 25 35 29 ;其转换过程与数据段长度(即04 00 00 00 --2S数据长度有关系):取第一个字节 0x000035(53) 与 0x0000FB(255-2S数据长度=251 ,即0x0000F1)的值异或,得 206 ,进行判断 得数<160,则单字符值(单个可见字符的ASC<160),得值>160,表明应是2字节的字符(此处为"无";),所以取0x00003525 (13605)与0x00FBFB(64507)异或,得到ASC值:52958然后将ASC码转换为字符,是不是"无"啊?(怎么转,我也不知道。)当然后面的 35 29 也是这样转,得到的就是"我"了,HOHO。三、所以,所有的 06 类型的数据段,都可以这样来分析了,包括 电子邮件、联系地址等...