首页
社区
课程
招聘
菜鸟求助,关于封包的发送,求指点思路。
发表于: 2012-7-16 19:59 8961

菜鸟求助,关于封包的发送,求指点思路。

2012-7-16 19:59
8961
魔力宝贝这个游戏,我想实现封包行走功能。

问题如下:
我从a点走到b点(a,b相距一格),截取记录下客户端发送的封包。

然后手动使人物回到a点,人为发送刚才那个走动的封包。可是在客户端上,人物位置仍然为a点,并没有任何变化。我另开一号,观察发现人物其实已经走到b点了,(也就是说服务器已经接受了我的请求)只是客户端上没有反馈变化!

问题是:为什么会有这样呢?我想即时刷新客户端,也就是让发送的封包在客户端上立即体现出来,需要怎样做的?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (16)
雪    币: 181
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
问题补充一下:

还是魔力这个游戏,我使人物转向东方,记录下封包,然后人物随便转个其它方向并重新发送转东的封包。在客户端上仍然没有任何反应。只是其他号都能看到人物实际已经转向东方了。。。

和解呢?
2012-7-16 20:09
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
说明坐标是客户端说了算   岂不是可以瞬移
2012-7-16 20:23
0
雪    币: 1784
活跃值: (512)
能力值: ( LV12,RANK:310 )
在线值:
发帖
回帖
粉丝
4
是不是应该在收到服务端封包的同时,向窗口发送窗口重绘消息,然后在消息处理循环里面处理该消息,再根据包里的内容决定人物位置
2012-7-16 21:28
0
雪    币: 506
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
是不是要在recv下断,看一看你正常发完包,服务器有没有回来什么东西
2012-7-16 21:58
0
雪    币: 198
活跃值: (103)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这个用屁可以想到的问题
首先 如果我是涉及人员的话
你点了某个坐标 我在客户端的话响应让你跑到那个地方是一方面的不会等数据包发送或者返回
另一方面数据包发送了你的坐标会存服务器
那就是为什么很多游戏网络不好的时候你跑到了某点 后来有因为网络原因数据发送失败返回到原来的地点了
2012-7-16 23:11
0
雪    币: 2993
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
正常游戏程序应该是把用户提交的数据分成两份,一份给服务端,一份给客户端吧。那么LZ只要也这样做就可以了啊
2012-7-16 23:51
0
雪    币: 181
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
你说的很对啊,客户端上的人物因为网络不好,封包没有能够发送到服务器,因此产生了“虚走”的假象!

但是你也说了 人物后来又回到原点了,这说明服务端在验证你的坐标后,命令客户端刷新,使“虚走”的人物复位!

我就是想知道,怎样做才能使客户端接受到服务器的命令 使人物回归到实际坐标!(是对服务器发送某个请求刷新的封包呢?还是什么?)
2012-7-17 07:36
0
雪    币: 181
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
学习了!凑字补丁。
2012-7-17 07:38
0
雪    币: 1784
活跃值: (512)
能力值: ( LV12,RANK:310 )
在线值:
发帖
回帖
粉丝
11
。。。凑字补丁?啥意思?是说我完全答非所问麽?
2012-7-17 15:03
0
雪    币: 181
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
不是。。。凑字补丁(嘘,小点声)
2012-7-17 16:18
0
雪    币: 31
活跃值: (48)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
学习了这3个字论坛不让提交,所以得加几个字。
2012-7-17 19:15
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
首先,说明这个拦截封包不可靠,得找个合适的点下手,还是分析下程序吧,不然的话,诂计只有走一步重新登录一次才有用了。。。像魔兽世界,外挂就可以通过LUA来控制人物角色的。
2012-7-17 23:25
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
新人第一次回贴,我感觉吧, 你走路包一定少发包了,你可以试下在过场景的地方抓个包然后自己在发下 看它过图刷新的时候你的人物是在另一张地图上不,你也可以先找一个没人的地方,自己放个小号在另一个地方,先后走过去,发交易或看有没有返回收到你小号的信息或发个交易给小号 看成功了没有,如果成功了就不要管你这个问题了,只要能操作就行努力赚KX成为正式会员
2012-8-2 00:40
0
雪    币: 120
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
如果按照楼主描述的现象,则这个游戏有个严重bug或者是微小bug

严重bug -- 就是服务器不回发客户端校验数据, 那么客户端可以按照自己意图随意行动, 感觉很危险
微小bug -- 服务器会校验客户端数据,正常则不回发,错误才回发, 但因为楼主直接发包,没有使用界面操作, 所以界面没有更新,这样你要是用代码发包,从一个地图跑到另一个地图,则你本身还在老地图上,完全不更新.  -- 或许这样可以防止外挂 ????????????????
微小bug -- 服务器会校验客户端数据,而且始终回发,但客户端忽略回发数据.(或许只有接到撤消行动数据,才在界面响应,或者始终不响应)
2012-8-2 14:46
0
雪    币: 295
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
客户端是你自己操作的情况,服务器只需要记录你移动的位置即可,服务器已经认为你在b点了,但实际你是发的包,而不是真正客户端的操作,服务器不会告诉你你已经在b点了,只能自己操作不能靠发包搞定。
2012-8-2 15:10
0
雪    币: 3811
活跃值: (2174)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
19
那个我想说一下, 楼主为什么不尝试在OD进行下断呢?

那个发送封包的函数
bp send
bp sendto
bp WSASend
bp WSASendTo
您可以去OD里面试试
这类的教程在百度应该有很多了。您按照教程应该可以找到对应的寻路Call 那么就会免去很多麻烦啊
2012-8-2 23:33
0
游客
登录 | 注册 方可回帖
返回
//