把QQ广告变成Flash播放器
网络与通信
许多网上网下的朋友都在感叹,QQ广告也太多了吧?旧版Flash广告、新版Flash广告、文字消息广告……都不知道腾讯欲把用户置之何地了。依我看,光我们看广告的钱恐怕就……
不过说实话,那个新版广告窗口还是蛮漂亮的,要是能让它为自己效命,充军“兼职”做个Flash播放器倒也可以出出这口恶气吧,哈哈,顺便也酷一下。
单击QQ上的“系统消息”,弹出一个“历史事件”的浏览窗口((图1))。用鼠标任意双击一个内容以“系统广播Flash广告………”或“登录Flash广告……”开头的消息,就会打开以前收到过的Flash广告,这是不是跟Flash播放器很相似呢?

从广告播放器打开广告的速度可以断定,Flash文件一定就保存在本地硬盘。不能看到消息的全部内容,还是到消息管理器中去看个究竟吧。
从QQ主菜单打开“消息管理器”窗口,再选中系统消息((图2)),然后我们就可以看到系统消息的全部内容了((图3))。


选中一个以“系统广播Flash广告………”或“登录Flash广告……”开头的消息。果然不出所料,选中的系统广告的内容出现在“消息管理器”下部的内容栏中,并且是以明文保存的,消息格式是:“32099,2,300,400|C:\PROGRAM FILES\TENCENT\AD\s-pg0627.swf||0”((图4))。“32099,0,300,400”这样的奇怪参数到底有什么用途呢?值得研究嘛。不过我们暂且不管它,很明显第二组参数就应该是Flash文件的地址,可以看出Flash文件也保存在QQ安装路径下的AD目录中。

要是能直接更改广告中的Flash文件地址就好了。但笔者试过,聊天消息和系统消息虽然都能导出为文本文件,但却只能导入备份文件。备份文件是加了密的非文本文件,编辑起来非常不方便,看来通过这种方法实现起来有一定的难度。
偷梁换柱,通过以同名文件覆盖广告Flash的方法也许行得通。笔者还是有点担心,刚才所提到的奇怪参数如果是用来识别Flash文件的那就麻烦了,但现在看来这种担心是多余的。将消息管理器中看到的Flash文件使用同名文件覆盖后,广告播放器就可成功加载。
注意:以“系统广播Flash广告……”开头的广告是使用旧版广告播放器播放的, 而以“登录Flash广告…”开头的才是新版“酷”播放器的广告。为了方便播放,我们将旧版广告、文字广告以及通过验证的消息全部删掉,只保留新版的广告。
然后到“消息管理器”中按顺序查看每个广告对应的Flash文件名,最好记录下来,这样,通过有目标的覆盖,我们就可以随心所欲地把任意一个广告置换成要看的Flash了(记录时要注意:在“历史事件”窗口的消息是越上面的越新,而“消息管理器”却是从上到下按时间先后排列的)。
比如,我们将最新的一个广告(即“历史事件”中最上面的一个)换成德国对韩国的世界杯进球演示Flash:从“消息管理器”中 查找出最上面一个广告(也就是最新一个)的Flash文件名是“s-xinbi.swf”。然后就将“德国VS韩国.swf”复制到“C:\PROGRAM FILES\TENCENT\AD\”下,删除“s-xinbi.swf”,再将“德国VS韩国.swf”重命名为“s-xinbi.swf”就完成了(如(图5))。

这下我们再次打开“系统消息”,双击最上面一个广告,是不是“球赛”已经开播了呢((图6))?这才发现,腾讯的程序员做这个播放器花了不少心思呢,它是不是很像一台时尚味十足的小电视机呢?我们何不多更改几个,将所有的广告都换成你喜欢的歌曲,将广告表变成点歌单呢!这可是QQ会员都不曾享受的待遇呀!
