翱翔.Net

释放.Net的力量
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

查看发包数据bp Send

Posted on 2007-12-24 22:23  Hover  阅读(2848)  评论(0编辑  收藏  举报
游戏的每一个动作都会向服务器端发送数据。截获发包数据可以知道每个动作都向服务器发送什么数据。

用OD附加游戏 输入命令bp Send 例如。

先扔地下件物品。然后输入命令bp Send 。这时用鼠标去捡物品。OD会中断。按三次Ctrl+F9,F8 就会回到游戏捡物的发包函数。


005A7C8A    6A 0A           PUSH 0A
005A7C8C    56              PUSH ESI
005A7C8D    8B4A 20         MOV ECX,DWORD PTR DS:[EDX+20]
005A7C90    E8 BBA2FDFF     CALL elementc.00581F50

 0A是包的字节大小。16进制的0A转十进制就是10
ESI中的值就是发包数据。 这时可以跳到ESI数据窗口跟随。
大小为10.

0E25BD48  06 00 79 3E 02 C0 37 09 00 00 BC 0B 0A 00 00 00  .y>?...?....

 从左查10个字节就是06 00 79 3E 02 C0 37 09 00 00  这就是检物的发包数据。

如果需要找走路。打怪等的发包数据。可以在00581f50下跟进此CAll中下断点

0889FDA8   005A7C95  返回到 elementc.005A7C95 来自 elementc.00581F50
0889FDAC   0E25BD48
0889FDB0   0000000A

 上是堆栈窗口 0889FDB0右面的0000000A就是发包的大小
0889FDAC处是存储包发内容的地址0889FDB0

这样所有的动作只要在发包函数里下断点。看堆栈就行了。 不用在每个动作的汇编语句上下断了。