完美去除QQ2011表情页面右上角残余空白教程看到愿网上有人问谁知道这个空白怎么去掉,虽然也有人给出了答案,不过仅仅是修改了图片,如果分组较多的话还是需要点左右切换才可以,所以只好自己研究一下了
开了独立博客总要写点什么,不能天天只发软件,我语文又很差,不会写文章,所以只好写一写教程了,希望能对大家有所帮助吧
这个教程,将完全展示我是如何找出修改方法的,希望大家看完了之后不仅知道怎么改,还能知道为什么这样改,如果你只是想知道怎么改的话,请直接翻到文章最后
先看一看修改之前的截图
好,废话结束,我们开始
首先,需要的软件有:
先用解包工具将Resource.1.65.2222\Xtml.rdb解包,根据英文名字,猜测有可能会在ChatFrame文件夹中,找到chatframe.xml_FaceListWnd.gmd,用D4QQxml解密后发现要修改的位置并不在这个文件中,继续寻找,发现AppFramework文件夹里面有个CustomFace文件夹,很有可能在这里,打开发现customface.xml_customFaceWnd.gmd这个文件有十几K,估计就是他了。
用D4QQxml解密,看到customFaceWnd的size=”446,311″,正好就是表情窗口的大小,肯定是这里了,在customFaceWnd的children中沿着对齐的竖线找,很快就看到有个tabFaceGroup,这不就是表情分组标签嘛,就是这里了
?
1
2
3
4
5
6
7
8
9
10
11
| ┣[TD] Address:0x00000566(1382) No.13
┃ ┣<FairyTale_tabFaceGroup />
┃ ┃ ┣[TD] Address:0x0000058B(1419) No.14
┃ ┃ ┃ ┣<FairyTale iid="7E004DA4-85E2-4e73-A502-8C6B1C1FEC83" />
┃ ┃ ┃ ┣<FairyTale name="tabFaceGroup" />
┃ ┃ ┃ ┣<FairyTale_properties />
┃ ┃ ┃ ┃ ┣[TD] Address:0x00000628(1576) No.15
┃ ┃ ┃ ┃ ┃ ┣<FairyTale config="tabctrl_showcustomface" />
┃ ┃ ┃ ┃ ┃ ┣<FairyTale name="tabFaceGroup" />
┃ ┃ ┃ ┃ ┃ ┣<FairyTale location="0,1" />
┃ ┃ ┃ ┃ ┃ ┣<FairyTale size="278,22" />
|
我们看到这里的size=”278,22″,表示宽是278,高是22,只要我们把宽度改成445 444就可以了
为什么是444呢,因为之前看到了总宽度是446,根据cafardgg的帖子,改成445后,分组标签多了后,左右切换按钮仔细看会显示不全一点,改成宽度444好一点
下面就开始改这个宽度,用WinHex打开customface.xml_customFaceWnd.gmd,找到0×00000628的位置,如下
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F
00000620 8E EB 98 EB A2 00 00 00 54 44 01 01 04 00 08 0C
00000630 00 90 F3 9C F3 9D F3 95 F3 9A F3 94 F3 2C 00 00
00000640 00 A7 D3 B2 D3 B1 D3 B0 D3 A7 D3 A1 D3 BF D3 8C
00000650 D3 A0 D3 BB D3 BC D3 A4 D3 B0 D3 A6 D3 A0 D3 A7
00000660 D3 BC D3 BE D3 B5 D3 B2 D3 B0 D3 B6 D3 08 08 00
00000670 99 F7 96 F7 9A F7 92 F7 18 00 00 00 93 E7 86 E7
00000680 85 E7 A1 E7 86 E7 84 E7 82 E7 A0 E7 95 E7 88 E7
00000690 92 E7 97 E7 09 10 00 83 EF 80 EF 8C EF 8E EF 9B
000006A0 EF 86 EF 80 EF 81 EF 08 00 00 00 F7 F7 F7 F7 F6
000006B0 F7 F7 F7 09 08 00 84 F7 9E F7 8D F7 92 F7 08 00
000006C0 00 00 E1 F6 F7 F7 E1 F7 F7 F7 0B 1C 00 B7 E3 86
000006D0 E3 8E E3 93 E3 B0 E3 86 E3 90 E3 90 E3 8A E3 8C
000006E0 E3 8D E3 B7 E3 8A E3 93 E3 74 01 00 00 54 44 01
|
这里需要你了解一些GMD的文件结构的知识,比较复杂,我就不介绍了
选中0×6C2 – 0×6C9这8个字节,右键-编辑-修改数据,用F7异或,如图
点击确定,这8个字节变为1601000016000000,其中116就是278的十六进制的值,我们用计算器将444转换为十六进制,得到1BC,于是,将这8个字节改为BC01000016000000,再次选中这8个字节,右键-编辑-修改数据,用F7异或,然后保存
用D4QQxml解密改后的customface.xml_customFaceWnd.gmd,再找到刚才的地方,确认已经由278变成了444,说明我们修改成功了
那么我们就来测试一下,将这些文件再打包回Xtml.rdb文件,替换原始的Xtml.rdb,打开QQ看看,大功告成,不再需要左右切换了,附预览图
不过有一个小问题,之前的空白区域虽然显示了标签,但是却不能点击,看来还有一处需要改
我们再回到解密后的customface.xml_customFaceWnd.gmd
向后翻,在最后面有个SoSoFaceSearBar,我估计应该是SoSoFaceSearchBar吧,就是搜搜表情搜索框,腾讯员工马虎了,也就是这个空白的位置在去掉搜搜插件之前应该显示的东西
?
1
2
3
4
5
6
7
8
9
| ┣<FairyTale_SoSoFaceSearBar />
┃ ┣[TD] Address:0x000033D1(13265) No.68
┃ ┃ ┣<FairyTale iid="A5DFF81A-B003-4967-A286-87EB38041C7C" />
┃ ┃ ┣<FairyTale name="SoSoFaceSearBar" />
┃ ┃ ┣<FairyTale_properties />
┃ ┃ ┃ ┣[TD] Address:0x00003474(13428) No.69
┃ ┃ ┃ ┃ ┣<FairyTale name="SoSoFaceSearBar" />
┃ ┃ ┃ ┃ ┣<FairyTale location="280,1" />
┃ ┃ ┃ ┃ ┣<FairyTale size="168,23" />
|
那么我们就把他的宽度改成0,看到后面size=”168,23″,这个168就是宽度
再用WinHex打开customface.xml_customFaceWnd.gmd,定位到0×00003474 和之前一样,选中0×34D5 – 0×34DC这8个字节,右键-编辑-修改数据,用F7异或,得到A800000017000000,这个A8就是168的十六进制的值,我们把它改成00,再用F7异或,保存,打包,打开QQ测试一下,已经可以点击了
我说了这么多,要去掉这个空白其实只需要修改两个字节就行了,就是把customface.xml_customFaceWnd.gmd的0×6C2处的E1改成4B、0×34D5处的5F改成F7
|