18628087606 发表于 2013-5-2 12:36:11

求指教wpe和按键精灵测试游戏,菜鸟求指导

wpe我截取封包后,不认识包肿么办呢?
按键精灵也写不来。。。

jiazurongyu 发表于 2013-5-2 18:54:00

按键精灵可以做的是长时间的操作或者打开1个页面然后查看事务的响应. 也可以称为通宵测试.
wpe的测试是可以做接口的.

cncnily 发表于 2013-5-3 10:01:57

本帖最后由 cncnily 于 2013-5-3 10:11 编辑

请先学习基本通讯原理,wpe只是模拟前端给服务器发送数据包,所以你只能模拟发送出去的包而不能模拟接受到的包。其次你可以在你发出请求的时候去录制,比如我要点击交任务按钮,此时你打开录制功能,一般情况下第一个发送的包就是你想要的。大家都玩什么游戏可以说说,如果需要的话可以单独在某款游戏上实战下,当然不一定能发现漏洞,但可以教学下方法。

huix47 发表于 2013-5-4 14:49:27

WPE截的包都是16进制的,看不懂正常。除非你知道客服之间的协议结构,否则只能用笨点的办法,多截几个类似的包,找到不同分析一下。比如物品包,如果对同一个物品进行操作,发出去的包不同,一般就是在itemid上。

按键精灵入门的话,先学几个基本的命令,键盘KeyPress、鼠标MoveTo、Left(Right)Click,其他命令Delay,For循环。同时可以多用录制,来分析录制后的命令格式。
进阶如何定义变量、循环套嵌、找色找图、调用Plugin等都可以直接去网上找资料学,类似VBS的东西,很容易理解。

huix47 发表于 2013-5-4 15:01:24

回复 3# cncnily


    "wpe只是模拟前端给服务器发送数据包,所以你只能模拟发送出去的包而不能模拟接受到的包。"这句话是不对的,wpe当然可以模拟服务器给客户端发包,只不过就算这样发了,最多只是造成客户端显示的假象,没什么实质性作用而已。这个要纠正一下。

b362337894 发表于 2013-5-6 22:36:47

WPE和按键精灵到目前为止都没有接触过,学习下~

bianbeicha 发表于 2013-8-8 09:58:38

WPE 就那几个功能,认识封包最简单的办法就是通过比对来分析这个包具体是什么,比如购买A药品截一个包,然后购买B药品一个包,通过对比两个包的节点不同,就能分析出A,B药品的代码

maxwell12 发表于 2013-9-29 14:45:33

网上那么多写wpe攻略的,看看就会了。
按键精灵能帮你做很多重复性操作。写脚本让它自己执行,每个循环结束输出一下结果,然后你上班后检查输出结果就行了。

maxwell12 发表于 2013-9-29 14:48:37

wpe能复制一个封包,和修改后发出去。
主要检查服务器端处理逻辑是否有缺陷。
一个领取奖励的操作可能只能做一次,但用wpe发送n个领取奖励的封包看看服务器有没有多给你发奖励。例如此类的。
很多操作是在客户端做的限制,禁止玩家做操作。但是wpe能绕过这样的限制,检查服务器端处理流程。
工具能够活用是境界,但是如果工具都不会用,就是白扯。

cncnily 发表于 2013-10-9 16:21:10

回复 5# huix47


    怎么模拟服务器给客户端发包? 模拟发包发的也是真实的数据。

huix47 发表于 2013-10-10 11:10:01

本帖最后由 huix47 于 2013-10-10 11:25 编辑

回复 10# cncnily


    WPE截获的数据包中有发送和接收的区分。发送即为前端向服务器发送的包,接收即为前端接受的数据包,接受的包中部分是游戏服务器,也可能是资源下载的内容。
    模拟服务器给前端发包,即修改接收包的内容。目的是绕过前端判断,对发给服务器的一些数据进行伪造,达到测试的目的。

干说估计新人也看不懂,举个例子(使用物品消息):

比如用wpe捕获的前端发送包
04 77 00 00 00 D7 00 00 00 01

接受包
00 26 00 00 04 77 52 56 14 06 00 00 00 00 00 00 00 01 00 18 31 92 00 00 07 D0 00 00 00 D7 00 00 31 3A 00 00 00 02

我们先分析一下发送包,这里就涉及截取包的进制问题,由于捕获的为16进制数据,而我们分析肯定是转换为10进制数据。用计算器转化一下就会发现前端发送包04 77 对应 10进制为 1143 | 00 D7 对应10进制为 00215 | 00 01 对应 10进制为 0001

了解协议形式的同学,分析后可得截取的包的实际内容为: 1143| 215| 1 。

再实际来看一下这条协议的定义规则:
1143      使用道具               
发送      字段      类型      长度(字节)
      codeid      unint32      4
      物品唯一id      unint32      4
      物品数量    unint32      4
                        
返回      codeid      unint32      4
4      time      unint32      4
      wrongflag      unint32      4
      资源类型      unint32      4
      当前资源值      unint32      4
      增加的资源值      unint32      4
      使用物品id      unint32      4
      使用物品唯一id      unint32      4

回过头去查看215及为物品ID,1为物品数量。那返回的内容同样对应可转化为10进制数据查看。

这是数据包分析截取的基本原理。
我们用wpe干些啥?可以绕过前段或者服务器端的判断向另一终端进行伪造,来检测一些逻辑上的边缘漏洞。
经常做的1.重复发包(如果没做重复判断,那就出现刷物品)
         2.数据边界值(测试基本都知道,会导致数值异常,数据溢出等)
         3.协议漏洞(未开放功能但已完成协议部分,被黑客破解,提前使用。或是协议本身的逻辑问题)

cncnily 发表于 2013-10-28 12:09:00

回复 11# huix47


    你这是模拟客户端请求服务器,服务器返回消息的过程。也没有回答我的问题啊亲

huix47 发表于 2013-10-28 17:07:14

回复 12# cncnily


    接受包
00 26 00 00 04 77 52 56 14 06 00 00 00 00 00 00 00 01 00 18 31 92 00 00 07 D0 00 00 00 D7 00 00 31 3A 00 00 00 02


数量字段改成00 02

客户端就能收到2个物品

cncnily 发表于 2013-11-1 11:40:48

回复 13# huix47


    接受包是服务器返给你的,不发包你怎么可以给自己发返回?wpe只能发包不能给自己回包的,不知道是我没问清楚还是你没理解啊大神。
总结一下,wpe只能模拟器客户端发包,也就是发包ip来源是自己ip的部分,明白我意思了么?

huix47 发表于 2013-11-3 14:38:08

回复 14# cncnily


    当然不可能用wpe直接让服务器给客户端发。
    但完全可以伪造服务器给客户端发包啊,伪造后,客户端就会产生假数据,同样用于测试。
我就奇怪了,就这么个东西版主自己用用不就知道了。

ek1988 发表于 2014-2-14 16:20:34

(⊙o⊙)…
页: [1]
查看完整版本: 求指教wpe和按键精灵测试游戏,菜鸟求指导