首页游戏问答《武林外传》游戏操作及分析指南

《武林外传》游戏操作及分析指南

来源:工设手游网 编辑:手游零氪 发布时间:2024-12-30 11:49:09

  《武林外传》游戏相关操作指南

武林外传
武林外传
  • 大小:1592M
  • 语言:简体中文
  • 类型:角色扮演
  • 评分:9.8分
查看详细

  一、修改私服步骤

  1. 下载并安装私服客户端:可在互联网上搜索“武林外传私服客户端”并选择可靠网站下载。

  2. 打开私服客户端并注册:通常需输入基本信息、账号密码等。

  3. 登录私服客户端后,选择要加入的服务器并点击连接。

  4. 若需修改游戏客户端,可在私服网站或相关论坛下载。但修改游戏客户端可能存在风险,请谨慎操作。

  二、相关工具及使用方法

  WPE

  执行 WPE 有多项功能可选:

  SELECT GAME:选择在内存中想拦截的程式,双击程式名称即可。

  TRACE:追踪功能,用来追踪撷取程式送收的封包。必须先完成选取欲追踪的程式名称,才可使用此项目。按下 Play 键开始撷取封包,可随时按下||暂停追踪,想继续时再按下||。按下正方形可停止撷取封包并显示所有已撷取封包内容。若没按下正方形停止键,追踪动作将依照 OPTION 里的设定值自动停止。若未撷取到资料,试试将 OPTION 里调整为 Winsock Version 2。WPE 及 Trainers 是设定在显示至少 16 bits 颜色下才可执行。

  FILTER:过滤功能,用来分析所撷取到的封包,并予以修改。当 FILTER 在启动状态时,ON 的按钮会呈现红色。启动 FILTER 时,可随时关闭视窗,FILTER 将会保留在原来的状态,直到再按一次 on/off 钮。只有 FILTER 启用钮在 OFF 的状态下,才可勾选 Filter 前的方框来编辑修改。想编辑某个 Filter,只要双击该 Filter 的名字即可。

  SEND PACKET:送出封包功能,能够让您送出假造的封包。

  TRAINER MAKER:制作修改器。

  OPTIONS:设定功能,让您调整 WPE 的一些设定值。

  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 的值出现,可见 0A 09 C1 10 是发出火球的关键,将其填在搜寻列,在修改列位置 4 填上 FF,再度发出火球时,FF 会取代之前的 10,攻击力变为 255 的火球。

  ADVANCED MODE 范例:在一个游戏中,不想用真实姓名,想用修改过的假名传送,使用 TRACE 后会发现有些封包里面有名字出现。假设名字是 Shadow(53 68 61 64 6F 77),打算用 moon(6D 6F 6F 6E 20 20)取代。

  SEND-> 0000 08 14 21 06 01 04

  SEND-> 0000 01 06 99 53 68 61 64 6F 77 00 01 05

  SEND-> 0000 03 84 11 09 11 09

  SEND-> 0000 0A 09 C1 10 00 53 68 61 64 6F 77 00 11

  SEND-> 0000 0A 09 C1 10 00 00 66 52 44

  名字在每个封包中位置不同,在第 2 个封包里,名字出现在第 4 个位置,在第 4 个封包里,名字出现在第 6 个位置。在这种情况下,需使用 ADVANCED MODE,在搜寻列填上 53 68 61 64 6F 77(从位置 1 开始填),想从原来名字 Shadow 的第一个字母开始置换新名字,选择从数值被发现的位置开始替代连续数值,在修改列 000 的位置填上 6D 6F 6F 6E 20 20(从原来搜寻栏的 +001 位置开始递换)。

  三、获取游戏服务器信息及分析截获封包

  1. 查看游戏目录下的 SERVER.INI 配置文件,可查看到游戏服务器的 IP 地址,如金庸群侠传。

  2. 在 DOS 下使用 NETSTAT 命令显示网络连接等信息,一般格式为:NETSTAT [选项],各选项含义如下:

  a:显示所有 socket,包括正在监听的。

  c:每隔 1 秒重新显示一遍,直到用户中断它。

  i:显示所有网络接口的信息。

  n:以网络 IP 地址代替名称,显示网络连接情形。

  r:显示核心路由表,格式同"route -e"。

  t:显示 TCP 协议的连接情况。

  u:显示 UDP 协议的连接情况。

  v:显示正在进行的工作。

  3. 怎么分析截获的封包:

  将 WPE 截获的封包保存为文本文件,打开后以金庸群侠传里 PK 店小二客户端发送的数据为例,发现两次 PK 店小二的数据格式一样但内容不同,原来是经过加密运算才在网路上传输的。

  一般数据包加密是异或运算,简单说异或就是"相同为 0,不同为 1"(针对二进制按位)。如 0001 和 0010 异或,按位对比得到异或结果 0011。

  把文件一与"12"异或,文件二与"77"异或,使用"M2M 1.0 加密封包分析工具"计算,得到大部分相同的结果,说明推理正确,上面就是需要的明文。

  每个数据包都是"F4 44"开头,第 3 个字节是包的长度变化有规律,第 4 个字节代表指令,如向服务器请求战斗指令为"30",战斗中移动指令为"D4"等。通过截获大量数据包,可判断第 5 个字节为 NPC 个数,从第 7 个字节开始的 10 个字节代表一个 NPC 的信息,多一个 NPC 就多 10 个字节表示。

  四、冒充“客户端”向“服务器”发需要的封包

  1. 使用位于客户端和服务器端之间的代理工具,它可接收和转发数据包,还能分析、修改或伪造封包。

  2. 查找客户端发送的包,找到战斗的特征(请求战斗的第 1 个包,如"F4 44 1F 30",需解密后查找),找到后转发。继续查找客户端发送 NPC 信息的数据包特征码(如"DA",且前 3 个字节有"F4 44")。

  3. 确定要打的 NPC 数量,不能太大,因网金封包长度用一个字节表示,一个包可 255 字节,增加一个 NPC 要增加 10 字节,打 20 个 NPC 较合适。

  4. 分析计算客户端原来的 NPC 代码,增加的 NPC 代码要加上 100000,组合成新的封包,注意修改代表包长度的字节,然后转发到服务器。

  5. 欺骗客户端简单,发送根据新增 NPC 代码构造的封包给客户端,格式为"F4 44 12 E9 NPC 代码 02 00 00 03 00 00 00 00 00 00",按顺序连在一起发送给客户端,客户端就被骗过。

  五、用计算机语言写一个单机代理(以 VB 为例)

  代码如下:

  Private Sub Form_Load

  DaiLi.LocalPort = "1234"

  Server.RemotePort = "1234"

  Server.RemoteHost = "211.100.20.26"

  DaiLi.Listen

  End Sub

  Private Sub DaiLi_ConnectionRequest(ByVal requestID As Long)

  Server.Connect

  Client.Accept requestID

  End Sub

  Private Sub Client_DataArrival(ByVal bytesTotal As Long)

  Dim ClientToServer As Byte

  Client.GetData ClientToServer

  Server.SendData ClientToServer

  End Sub

  Private Sub Server_DataArrival(ByVal bytesTotal As Long)

  Dim ServerToClient As Byte

  Server.GetData ServerToClient

  Client.SendData ServerToClient

  End Sub

  Form_Load 过程表示程序启动时的初始化操作,DaiLi.LocalPort 设置监听端口,Server.RemotePort 设置向游戏服务器连接的端口(和监听端口相同),Server.RemoteHost 设置游戏服务器的 IP 地址,DaiLi.Listen 监听本地的连接请求。当客户端向服务器发送数据时调用 Client_DataArrival 过程,可在此添加代码修改封包后再发向服务器;当服务器发送数据给客户端时调用 Server_DataArrival 过程,可在此添加代码修改封包后再发给客户端。用其他语言编写基本原理类似,VB 本身有 MSWINSCK.OCX 控件,封装了 WINDOWS 的网络操作且接口简单,推荐使用。

  六、利用底层技术接管游戏发包(替换 WSOCK32.DLL)

  在 WINDOWS 系统中,网络通讯任务由 WSOCK32.DLL 完成,游戏运行时会自动调用此动态连接库。我们可编写自己的 WSOCK32.DLL 放到游戏目录下,让游戏调用我们的 WSOCK32.DLL 以获取封包控制权。WSOCK32.DLL 有很多输出函数,如 send 和 recv 用于发送和接收封包,我们可在这两个函数的处理中加入自己的代码,完成封包的辨认、修改及转发等功能。

  七、分析客户端有关资料(需懂 8086 汇编指令)

  1. 数据传输指令:包括通用数据传送指令(如 MOV、MOVSX、MOVZX 等)、输入输出端口传送指令、目的地址传送指令(如 LEA、LDS、LES 等)、标志传送指令(如 LAHF、SAHF 等),它们在存贮器和寄存器等之间传送数据。

  2. 算术运算指令:有加(ADD、ADC、INC 等)、减(SUB、SBB、DEC 等)、乘(MUL、IMUL 等)、除(DIV、IDIV 等)等运算指令,以及相应的 ASCII 码调整和数据类型转换指令。

  3. 逻辑运算指令:有与(AND)、或(OR)、异或(XOR)、取反(NOT)、测试(TEST)等运算指令,以及各种移位指令(如 SHL、SAL、SHR、SAR 等)。

  4. 串指令:如 MOVS、CMPS、SCAS、LODS、STOS 等串操作指令,还有用于控制重复操作的指令(如 REP、REPE/REPZ、REPNE/REPNZ 等)。

  通过以上步骤和工具,可对《武林外传》游戏进行相关操作和分析。

相关攻略
  • 创造与魔法怎么用传送

    在《创造与魔法》中,有几种传送方法,具体如下:炉石回家传送需要时间:10秒(倒计时过程受到攻击或者移动则被打断)

    游戏问答 作者:手游零氪 时间:02-07

  • 地铁逃生二图怎么玩啊

    在《地铁逃生图2》中,玩家需要遵循以下步骤和策略来获得更好的游戏体验:进入游戏进入地铁逃生游戏模式。打开地图,观察整体布局...

    游戏问答 作者:手游零氪 时间:01-06

  • 《神雕侠侣》拍摄历程及相关信息

      《神雕侠侣》拍摄历程及相关信息   开拍时间:2004 年 10 月 11 日   首批队伍抵达:2004 年 10 月 07 日 7 时,《神雕侠侣》剧...

    游戏问答 作者:手游零氪 时间:12-28

  • 《少年西游记》种族阵容搭配攻略

      《少年西游记》种族选择与阵容搭配攻略   一、种族特点对比   人族:特点为【爆发,秒杀,切后排】,优势在于单体秒杀,伤害爆表...

    游戏问答 作者:手游零氪 时间:12-26

  • 炉石传说怎么用荣誉室赚尘

    在炉石传说中,通过荣誉室赚取奥术之尘的方法如下:全额返尘机制荣誉室内的卡牌会按照每套卡组的最大构筑量进行全额返尘。例如,一张火车...

    游戏问答 作者:手游零氪 时间:01-24