level 8
懒得重新打字,直接引用…
---------------------------------
没想到这个话题居然持续了这么久
之前我的推测没有加上“我推测”三个字而被一些朋友理解为实际原因,实在是遗憾
我的推测依靠的是我魔力的体会以及多年来编写游戏的经验
虽然以我的体会,刷屏确有提高遇敌率,且有自己的猜测
但在获得决定性的证据(原代码,通讯协议)以前,我也不能下任何定论
这点,我想大家也是一样的。
我会抽点时间用wpe分析一下魔力的封包,找到一些实质的答案
另外也会请教我所认识的魔力宝贝的开发人员,看看能得到什么情报
希望能终结这场气氛已经不太好的讨论把
ps。本人不偏袒任何人也不针对任何人
-------------------------------------
这次可能是我最快的一次开发了,呵呵
首先是找到了位置移动的封包
然后做了一些简单分析,很轻易就实现了原地遇敌,高速行走,无间隔喊话等功能
基本上与我之前的猜想是一致的
魔力宝贝的程序架构比较古老,将大部分判定放到了客户端上
不过,这也是情有可原
10多年前,网络游戏还是雏形阶段,许多理论并未完善。
发送
AF EF 10 00 12 5E 7A 55 0B 23 57 04 22 0C 5B 79 54 14 06 1E EF AF
接受
AF EF 20 00 44 5E 67 55 43 2F 15 44 74 09 7E 79 65 14 5D 1E 08 30 6D 6F 07 54 09 5C 5D 17 10 40 3A 0D 63 20 EF AF
这是魔力宝贝在行走时候触发的两个协议
拦包后可以知道,其格式是固定的,不同的是中间的一小部分
通过坐标换算16进制,发现找不到坐标数据,再从头与包的长度来看,推测使用了DES加密
但这并不是重点,我们只需要知道这个是与行走相关的封包就对了。
一发一收,很好理解。
发的是当前位置,而收的包是校验当前位置,并没有在图形上表现出来。
我略作修改
简单粗暴的发送了数个同坐标行走封包以后,居然遇敌了
可见魔力宝贝的通讯架构相当脆弱,允许原地行走这样不合常理的事情。
也证明一点,只要有任何形式的行走封包发送到服务端,并且加速这个过程
就可以提高遇敌的速度。
注意,这里说的并不是遇敌率,因为那个恒定值。
好了,我现在准备写一个简单的程式来分析说话以及其他形式的操作会不会加速这个包的产生。
2012年01月07日 18点01分




