以文本方式查看主题
- 闲闪互动多媒体论坛+---+Soshow.org ™ (
http://www.soshow.org/bbs/index.asp)
-- 闲人水区 (
http://www.soshow.org/bbs/list.asp?boardid=22)
---- 叶叶叶再现论坛,教你无限打造+N装备,%99并不是神话,+25装备已经落后。 (
http://www.soshow.org/bbs/dispbbs.asp?boardid=22&id=4616)
--------------------------------------------------------------------------------
-- 作者:西毒
-- 发布时间:2005-1-29 15:13:09
-- 叶叶叶再现论坛,教你无限打造+N装备,%99并不是神话,+25装备已经落后。
首先,大家一定在前两天里对我的议论颇多,这篇文章相信发表不久就会被删,希望抓紧学习,可以复制下来,慢慢研究。提议:直接拷贝了看,相信此帖不会在论坛停留很久,这里主要要掌握的就是WPEPRO封包截取。
由于文章教长,本人把以前写过的直接提取了部分关于使用奇侠的例子,以及几种比较模式化的网游修改例子直接发了上来,本问是用UBB直接书写的,如果有乱码,请刷新。
要修改一个网络游戏,是否很难?不,很容易。下面我会介绍几种工具,另外,你需要有一定的程序基础认识,才能看的懂,还需具备的就是对封包的理解,不过,即使你是个大菜鸟也没关系,我会一一解释的
一:什么是封包? 怎么截获一个游戏的封包?怎么去检查游戏服务器的ip地址和端口号? Internet用户使用的各种信息服务,其通讯的信息最终均可以归结为以IP包为单位的信息传送,IP包除了包括要传送的数据信息外,还包含有信息要发送到的目的IP地址、信息发送的源IP地址、以及一些相关的控制信息。当一台路由器收到一个IP数据包时,它将根据数据包中的目的IP地址项查找路由表,根据查找的结果将此IP数据包送往对应端口。下一台IP路由器收到此数据包后继续转发,直至发到目的地。路由器之间可以通过路由协议来进行路由信息的交换,从而更新路由表。 那么我们所关心的内容只是IP包中的数据信息,我们可以使用许多监听网络的工具来截获客户端与服务器之间的交换数据,下面就向你介绍其中的一种工具:WPE。 WPE使用方法:执行WPE会有下列几项功能可选择: SELECT GAME选择目前在记忆体中您想拦截的程式,您只需双击该程式名称即可。 TRACE追踪功能。用来追踪撷取程式送收的封包。WPE必须先完成点选欲追踪的程式名称,才可以使用此项目。 按下Play键开始撷取程式收送的封包。您可以随时按下 | | 暂停追踪,想继续时请再按下 | | 。按下正方形可以停止撷取封包并且显示所有已撷取封包内容。若您没按下正方形停止键,追踪的动作将依照OPTION里的设定值自动停止。如果您没有撷取到资料,试试将OPTION里调整为Winsock Version 2。WPE 及 Trainers 是设定在显示至少16 bits 颜色下才可执行。 FILTER过滤功能。用来分析所撷取到的封包,并且予以修改。 SEND PACKET送出封包功能。能够让您送出假造的封包。 TRAINER MAKER制作修改器。 OPTIONS设定功能。让您调整WPE的一些设定值。 FILTER的详细教学 当FILTER在启动状态时 ,ON的按钮会呈现红色。- 当您启动FILTER时,您随时可以关闭这个视窗。FILTER将会保留在原来的状态,直到您再按一次 on / off 钮。- 只有FILTER启用钮在OFF的状态下,才可以勾选Filter前的方框来编辑修改。- 当您想编辑某个Filter,只要双击该Filter的名字即可。 NORMAL MODE: 范例: >当您在 Street Fighter Online [快打旋风线上版]游戏中,您使用了两次火球而且击中了对方,这时您会撷取到以下的封包:SEND-> 0000 08 14 21 06 01 04 SEND-> 0000 02 09 87 00 67 FF A4 AA 11 22 00 00 00 00 SEND-> 0000 03 84 11 09 11 09 SEND-> 0000 0A 09 C1 10 00 00 FF 52 44 SEND-> 0000 0A 09 C1 10 00 00 66 52 44 您的第一个火球让对方减了16滴[16 = 10h]的生命值,而您观察到第4跟第5个封包的位置4有10h的值出现,应该就是这里了。 您观察10h前的0A 09 C1在两个封包中都没改变,可见得这3个数值是发出火球的关键。 因此您将0A 09 C1 10填在搜寻列[SEARCH],然后在修改列[MODIFY]的位置4填上FF。如此一来,当您再度发出火球时,FF会取代之前的10,也就是攻击力为255的火球了! ADVANCED MODE: 范例: 当您在一个游戏中,您不想要用真实姓名,您想用修改过的假名传送给对方。在您使用TRACE后,您会发现有些封包里面有您的名字出现。假设您的名字是Shadow,换算成16进位则是[53 68 61 64 6F 77];而您打算用moon[6D 6F 6F 6E 20 20]来取代他。1) SEND-> 0000 08 14 21 06 01 042) SEND-> 0000 01 06 99 53 68 61 64 6F 77 00 01 05 3) SEND-> 0000 03 84 11 09 11 094) SEND-> 0000 0A 09 C1 10 00 53 68 61 64 6F 77 00 11 5) SEND-> 0000 0A 09 C1 10 00 00 66 52 44 但是您仔细看,您的名字在每个封包中并不是出现在相同的位置上 在第2个封包里,名字是出现在第4个位置上- 在第4个封包里,名字是出现在第6个位置上 在这种情况下,您就需要使用ADVANCED MODE- 您在搜寻列[SEARCH]填上:53 68 61 64 6F 77 [请务必从位置1开始填]- 您想要从原来名字Shadow的第一个字母开始置换新名字,因此您要选择从数值被发现的位置开始替代连续数值[from the position of the chain found]。