论文部分内容阅读
本文可以学到 1.嗅探工具Fiddler分析网络数据包的方法 2.MD5散列生成的简便方法
当你厌烦了买卖朋友、抢车位、偷菜时,不妨玩玩开心网新增加的“脑大福大”游戏,跟好友们比比谁最聪明。其实只要耍耍小心眼,即可轻松让自己高居榜首。
请微软嗅探专家Fiddler出山
脑大福大实际就是联网的Flash游戏,它将你的游戏得分通过网络上传,再与其他好友的得分比较排名。如能将上传的数据包拦截并改写其中的分数值,即可轻松提高排名。拦截数据包,可以请微软的HTTP(S)协议数据嗅探专家Fiddler帮忙(下载地址:http://www.fiddler2.com/Fiddler2/)。
Fiddler能自动捕获HTTP数据包。如图1所示,是用IE打开脑大福大组件时拦截的几个数据包:第1条是请求脑大福大游戏页面时的连接,第2条是下载脑大福大Flash文件brain.swf的连接。双击打开第1条HTTP会话,可以在右侧看到具体通信内容。
脑大福大得分何处来
下面通过Fiddler研究脑大福大的通信过程。运行其中的“从小到大”,等到时间耗尽提交成绩为止。监视结果中会有aj_game.php以及aj_send_mark.php两项。显然,前者是游戏开始时截获的,看来是拿到的“考题”,后者是发送成绩的,此数据包的完整请求内容为:
http://www.kaixin001.com/brain/aj_send_mark.php?
verify=19251332_1070_19251332_1239509949_08580dad2eb2168ae9df4a10e866a086&
gamename=little2big&
mark=100&
ac=b351a4e898c4c2bd610f18e71aadb726&
r=0.9118632706813514
little2big不正是从小到大的英文嘛,而mark应该就是成绩了(实际成绩和mark值会略有误差)。重新开始从小到大游戏,时间耗尽前如图2所示,在Fiddler状态栏的左下角单击,出现红色T字图标,表示将对发出的所有请求设置断点。一分钟后,当时间耗尽发送成绩时Fiddler将中断它,此时可修改其中的mark=10为mark=1000。修改完毕再点击“Run to Completion”(完成运行)。哈哈,原来拦截和修改网络数据包是如此简单。
MD5散列捣鬼
不过,别高兴得太早!上面简单的修改不但不能让你出现在高分榜上,甚至连成绩都没跳出。几经摸索才发现:除分数值外,还需修改ac参数,它是用来验证成绩的。从小到大游戏中ac参数的生成方法是:
先获取开始游戏请求时返回值中的gaustr值(可以在Fiddler中查看aj_game.php的数据,在它的最后面可以看到gaustr值,本例中为99198a0ebe84739d148dfad5b0f5bcc7),并将gaustr串中的每一个字符转换成对应的ASCII码值(十进制),每个ASCII码值后再接上分数值和游戏ID(同样可从aj_game.php中得到,从小到大的ID为105)。比如gaustr串的第一位数为9,ASCII码值则为57,接上分数值10(如果是20分就接上20,以此类推),再接上ID值105,最终形成5710105。以此类推将串中的其他数字也循环替换,最终构成一个超长的字符串,类似:
57101055710105...55510105(中间省略)。将转换后的数字串通MD5方法散列(可借助http://www.md5.com.cn/网站完成),即可获得参数ac的值。上面的gaustr值,最终转换得到的ac参数为:e880981750189a66750d3b4375cd4382。
弄清原理后,首先如上所述,用自己想要的得分(比如2100分)转换gaustr值,并获取MD5散列的ac参数(假设为:62d1f78d88b5559fba0f10dffbdfd96a)。回到Fiddler中,这次将提交成绩的请求改为:
mark=2100&
ac=62d1f78d88b5559fba0f10dffbdfd96a&
单击Run to Completio,现在再看排行榜,大功告成!虽然与2100分还有一点微差,不过这个高分几乎无人能及了。至于具体还能怎么完善,那就要看大家自己各展才能了。
小编有话说:
也许在看到本文时,因开心网改变规则此方法可能会失效,不过学习Fiddler检测网络数据包的技巧还是很有用的。
当你厌烦了买卖朋友、抢车位、偷菜时,不妨玩玩开心网新增加的“脑大福大”游戏,跟好友们比比谁最聪明。其实只要耍耍小心眼,即可轻松让自己高居榜首。
请微软嗅探专家Fiddler出山
脑大福大实际就是联网的Flash游戏,它将你的游戏得分通过网络上传,再与其他好友的得分比较排名。如能将上传的数据包拦截并改写其中的分数值,即可轻松提高排名。拦截数据包,可以请微软的HTTP(S)协议数据嗅探专家Fiddler帮忙(下载地址:http://www.fiddler2.com/Fiddler2/)。
Fiddler能自动捕获HTTP数据包。如图1所示,是用IE打开脑大福大组件时拦截的几个数据包:第1条是请求脑大福大游戏页面时的连接,第2条是下载脑大福大Flash文件brain.swf的连接。双击打开第1条HTTP会话,可以在右侧看到具体通信内容。
脑大福大得分何处来
下面通过Fiddler研究脑大福大的通信过程。运行其中的“从小到大”,等到时间耗尽提交成绩为止。监视结果中会有aj_game.php以及aj_send_mark.php两项。显然,前者是游戏开始时截获的,看来是拿到的“考题”,后者是发送成绩的,此数据包的完整请求内容为:
http://www.kaixin001.com/brain/aj_send_mark.php?
verify=19251332_1070_19251332_1239509949_08580dad2eb2168ae9df4a10e866a086&
gamename=little2big&
mark=100&
ac=b351a4e898c4c2bd610f18e71aadb726&
r=0.9118632706813514
little2big不正是从小到大的英文嘛,而mark应该就是成绩了(实际成绩和mark值会略有误差)。重新开始从小到大游戏,时间耗尽前如图2所示,在Fiddler状态栏的左下角单击,出现红色T字图标,表示将对发出的所有请求设置断点。一分钟后,当时间耗尽发送成绩时Fiddler将中断它,此时可修改其中的mark=10为mark=1000。修改完毕再点击“Run to Completion”(完成运行)。哈哈,原来拦截和修改网络数据包是如此简单。
MD5散列捣鬼
不过,别高兴得太早!上面简单的修改不但不能让你出现在高分榜上,甚至连成绩都没跳出。几经摸索才发现:除分数值外,还需修改ac参数,它是用来验证成绩的。从小到大游戏中ac参数的生成方法是:
先获取开始游戏请求时返回值中的gaustr值(可以在Fiddler中查看aj_game.php的数据,在它的最后面可以看到gaustr值,本例中为99198a0ebe84739d148dfad5b0f5bcc7),并将gaustr串中的每一个字符转换成对应的ASCII码值(十进制),每个ASCII码值后再接上分数值和游戏ID(同样可从aj_game.php中得到,从小到大的ID为105)。比如gaustr串的第一位数为9,ASCII码值则为57,接上分数值10(如果是20分就接上20,以此类推),再接上ID值105,最终形成5710105。以此类推将串中的其他数字也循环替换,最终构成一个超长的字符串,类似:
57101055710105...55510105(中间省略)。将转换后的数字串通MD5方法散列(可借助http://www.md5.com.cn/网站完成),即可获得参数ac的值。上面的gaustr值,最终转换得到的ac参数为:e880981750189a66750d3b4375cd4382。
弄清原理后,首先如上所述,用自己想要的得分(比如2100分)转换gaustr值,并获取MD5散列的ac参数(假设为:62d1f78d88b5559fba0f10dffbdfd96a)。回到Fiddler中,这次将提交成绩的请求改为:
mark=2100&
ac=62d1f78d88b5559fba0f10dffbdfd96a&
单击Run to Completio,现在再看排行榜,大功告成!虽然与2100分还有一点微差,不过这个高分几乎无人能及了。至于具体还能怎么完善,那就要看大家自己各展才能了。
小编有话说:
也许在看到本文时,因开心网改变规则此方法可能会失效,不过学习Fiddler检测网络数据包的技巧还是很有用的。