|
作者: yeban [yeban] 论坛用户 | 登录 |
有没有什么软件可以直接制作出QQ上面用的表情(cfc)文件啊?! 我找了很久都没找到,哪位高手告诉我撒~~ |
地主 发表时间: 04-03-15 09:07 |
回复: newmyth21 [newmyth21] 论坛用户 | 登录 |
20CN的文档里有啊,你找找看吧。 |
B1层 发表时间: 04-03-15 09:08 |
回复: ww54334348 [ww54334348] 论坛用户 | 登录 |
有个大便!! 不要听他乱嘴 瞎说!! |
B2层 发表时间: 04-03-15 15:38 |
回复: newmyth21 [newmyth21] 论坛用户 | 登录 |
QQ2003III表情文件格式分析 (阅览 2825 次) QQ作为一款国产优秀网络即时通讯软件,它的功能之强大是毋庸置疑的。每次更新都为我们带来大的惊喜,比如这次QQ2003III build0115的更新,就加入了自定义表情的功能,使原本已经非常丰富的图片表情功能更贴合用户的需要。 在测试过程中发现,虽然QQ允许使用自己的图片导入并生成表情文件,但此项功能只能在线使用,而且没有专用工具,不开QQ2003III Build0115就没法制作表情,而新版QQ占用资源之大实在使我的老机不堪重负,对于我们这种受过良好的DIY教育的网虫,这是不能容忍的。于是,我来到了腾讯官方网站,看到了有表情包下载,但都是些cfc文件,我莫名,cfc是什么文件?我想当然地把它和WINAMP的wsz文件联系到了一起,把扩展名改成zip,试着解压,失败。然后又试着在Google上搜索,未果。 不甘心,便给Tencent的客服发了Email,请他们将此文件的结构发给我。发完信我就后悔了,以前我是QQ会员的时候,他们回个信也得几星期,而且还总是无关痛痒的自动回复,现在让他们透露文件格式?真是做梦,木子工作室和珊瑚虫工作室的修改早已经让Tencent把所以的外来DIY当成商业侵权。 一日后,看信箱果然无信,不理我?好……便又打开了尘封已久的UltraEdit,打开那几个网上下载的表情包。嗯!?其中有一段文字是“GIF89a”,很明显是gif文件的头部,呵呵,看来图片没有加密,太好了。接着继续往下看,又发现了“bm?”,凭经验知道这是bmp文件头部,又连续看了其他几个cfc文件,发现内部的图片都是一个gif一个bmp的放,这就比较奇怪了。于是,把里面两个连续的gif和bmp采用二进制复制的方式分别导出,发现两个文件是同一幅图像,可是bmp的边缘色彩不同。查看0115版本的bug修正表,发现“修正了自定义表情边缘不透明的bug”。哈哈哈,同时又在cfc文件中发现了“fixed.bmp”的字段,凭我多年的游戏开发经验判断,bmp文件是掩模文件,使用掩模是为了使图片显示时边缘透明的一种方法,题关外话,不作详述。 心中大爽,成功了一半,可是在每个gif,bmp组之前的那一段到底是什么,几个间隔的数字以及一大堆乱码,让我又陷入了沉思。试着算内部图片存储的偏移量,发现符合其中几个数字。闲来无聊,便将那几个cfc再次导入QQ,可是QQ提示“文件已存在”,嗯?他是怎么知道这个cfc已经导入过了呢!?顿时眼前一亮,作为一个程序员,判断文件是否唯一的最好方法就是使用MD5(信息-摘要算法)算法,马上将刚才导出的两个gif和bmp用MD5算出了唯一识别码。成功!是GIF的MD5码,经过分析得知,刚才使我极为头痛的那段乱码结构是“MD5 + 快捷键 + 表情名称 + MD5 + “.gif” + MD5 + “fixed.bmp””,为什么要存放三遍MD5我想可能是为了保证数据的完整性。只剩下最头上那三个间隔的数字了,第一个是20H,经过我分析n个cfc发现是固定的,估计是一对gif/bmp组的头部标志。另外两个每对gif/bmp组都不同,肯定是变量,最后通过反复的试验发现分别是表情名称和快捷键字段的长度,值得注意的是,两个字段都是以ANSI而非Unicode存放的,也就是说,中文每字两字节,英文每字一字节,在运算的时候需要多加注意。 现在给出整个文件的结构: 1.第一对GIF/BMP组 1字节20H 头部标志,固定 3字节00H 1字节 快捷键字长 3字节00H 1字节 表情名称字长 3字节00H 1字节24H 文件长度变量开始标志,固定 3字节00H 2字节 GIF文件体长度(字节) 2字节00H 1字节29H GIF/BMP长度字段分隔标志位 3字节00H 2字节 BMP掩模文件体长度(字节) 2字节00H 1字节 未知标志位,一般为01H,修改后发现不影响导入 3字节00H 32字节 GIF文件的MD5码 不定长 快捷键ASC码(依先前定义字长决定) 不定长 表情名称ASC码(依先前定义字长决定) 32字节 GIF文件的MD5码 4字节 “.gif” “.gif”的ASC码 32字节 GIF文件的MD5码 9字节 “fixed.bmp” “fixed.bmp”的ASC码 不定长 GIF文件体 不定长 BMP掩模文件体 2.第二对GIF/BMP组 3.…… 从一名程序员的角度讲,这种文件结构存在着很多不合理之处,另外此功能的系统资源占用也十分严重,可能和这是一项新功能有关,相信Tencent会在不久后推出更先进的结构。我也将在不久后推出我的QQ自定义表情包制作工具,希望Tencent能在我的软件开发完以前将不能离线制作表情包的bug修正或发布独立的制作工具。 如果有疑问,请到我的BBS提出,或加我QQ,我愿与各位高手共同讨论。 BBS: http://bbs.ee67.com QQ: 13454071 =============================================== 本文版权属20CN网络安全小组及其作者所有,如有转载,请保持文章完整性并注明出处 文章类型:原创 提交:Frankiez 核查:NetDemon |
B3层 发表时间: 04-03-15 15:41 |
回复: ww54334348 [ww54334348] 论坛用户 | 登录 |
哎 这个帖子我都看了几千遍了 还拿出来给人家看 太土了吧 |
B4层 发表时间: 04-03-15 15:44 |
回复: newmyth21 [newmyth21] 论坛用户 | 登录 |
晕,你是火星来的啊,那是原创的,才写的 |
B5层 发表时间: 04-03-15 15:46 |
回复: ww54334348 [ww54334348] 论坛用户 | 登录 |
晕 你是刚从坟里面爬出来的吧 这文章是毛泽东写的 你都没看过? |
B6层 发表时间: 04-03-15 15:50 |
回复: newmyth21 [newmyth21] 论坛用户 | 登录 |
|
B7层 发表时间: 04-03-15 16:42 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号