最早出现主显IP的说法是LumaQQ提出的“如来神掌”.珊瑚虫v4.0的时候是个里程碑,因此我在我的一篇文章中(地址见:http://bbs.piaoyun.net/read-htm-tid-15644.html )有提到.
主动发包,是这么两个要点,发什么样的包;发包的频率与时机.最难的是发什么样的包.
飘云在发什么包的问题上,一直是一个比较取巧的路.我们最早想根据lumaQQ所描述发一个0大小的图片的方式进行,但是似乎行不通,也许我们比较笨的原因.但是当我们改发一个小图片的方法的时候,感谢我们那破网络与破机器,我们发现自己或者对方总是有出现正在接收自定义图片的这种方式.因此这种方式我们就放弃了,毕竟用户体验太差.
飘云的第一个主显IP的是利用共享文件.
这个方法其实是很多朋友发现的,我们只是把这个操作用简洁的几个数据包的发送与接收就是所谓的主显IP了.这个方法难的是对接收到的包的分析,首先是获取不了端口号,或者显示为零.因为是用到的文件传输协议,里面的地址很多是保留地址,比如会出现0.0.0.12这样的情况.另外如果是同时用函数入口地址读内存与分析获得的数据包这么两种方法可能会导致数据的不统一.这是因为,一个是通过函数入口的方法它有滞后性,而截获协议包是瞬间的问题,因此只有取到最后一个才可能是正确的.简单的说,就是一个加密算法分析的过程.很高兴,qq这个东西一直都有,一直到前不久的beta1版本才正式把这个东西去掉了.飘云在公布的版本中一直就只用这个方法.
飘云的第二个主显IP的方法是利用刚登陆的时候有一次IP交换
这个具体是什么功能的尚不清楚,估计是本地会员的吧,runjin在关键时候又有天才的表现,两天之内发现并搞定,并率先发布beta1的主显IP的版本比珊瑚虫早一天吧.对这个主显IP的原理我并不是很清楚,估计runjin本身也不是很清楚,但是这些都不重要,关键是搞定了.不过这次的方法就没有那么幸运了,下个版本的时候TX就象吃生菜一样把这个功能喀嚓掉了.
飘云的主显IP就是用了上述两个主动显IP的方法.另外一个要说说发包的频率与时机.其实这个也没有什么太好说的,可以在某个动作下发一个包,也可以刚登陆的时候狂发.怎么着都行.不过我们在发包的频率上,尽量减低,最主要的原因是,狂发数据会使得TX的服务器需要响应的东西过于频繁,自身登陆可能会有部分问题.
目前要做好主显IP的方法,似乎还是有好几种,但是没有通过实验,不敢乱加定论.但是这里给后来者一个忠告,就是,主动显IP的问题是一个比较讨厌的问题,TX现在几乎是每个版本都会改变一点点东西,在05年与06年主显IP还是非常好办,到现在这种方式能否存在很长时间就要看运气还有TX的心情,TX的技术人员也不是盖的.