Zemyna 充当一种代理,它使客户端连接到一个特殊的本地服务器,该服务器将所有数据包从客户端转发到实际服务器。这样它就能够读取发送或接收的每个数据包。然后,这些数据包可以传递给其他应用程序,以便它们可以使用它们,例如像 PaleTree 这样的记录器。
为了让 Zemyna 能够读取数据包,它需要控制启动过程,因为它会临时调整您的客户端,以建立隧道连接。它通过备份 client.xml(其中包含有关连接位置的信息)并创建一个新的 client.xml 来实现此目的。一旦 Zemyna 关闭,此更改就会恢复,这样您就不必自己摆弄任何文件。
要告诉 Zemyna 将客户端连接到哪里,您可以使用命令行参数。例如,假设您想在国际服务器 Laima 上记录数据包,在将 Zemyna 移动到游戏文件夹后,您只需从命令行启动它即可:
Zemyna.exe host:54.88.25.242 port:2000
IP和端口是Laima的登录服务器的IP和端口。您可以在官方服务器列表中查找目标服务器的主机和端口。它的 URL 可以在 client.xml 中找到。
为了更容易重用,您应该创建一个链接或 bat 文件。然后 Zemyna 将采取必要的步骤以便能够从网络读取数据包并启动客户端。左上角的一个小窗口将显示 Zemyna 正在运行,当客户端关闭时它会自动关闭。您也可以双击它来快速关闭 Zemyna 和客户端。
由于通过这种方式,服务器列表中只能有一台服务器(即您在参数中指定的服务器),因此您可以创建多个链接/bat,每个链接/bat 对应一个服务器。
如果您想在不使用 Steam 自动登录的服务器上使用 Zemyna,则需要向 Zemyna 提供 static__Conf.txt,其中UseSteamClient
值设置为NO
。
ServiceNation=GLOBAL
Dictionary=YES
UseNexonSSO=NO
UseNexonGLM=NO
UseHackshield=NO
UseSteamClient=NO
UseXigncode=NO
UseNISMS_TESTURL=NO
UseNISMS_ONLY_OFFER=YES
如果该文件位于本地 Web 服务器上的“/toslive/patch”中,您可以让 Zemyna 像这样使用它:
Zemyna.exe host:127.0.0.1 port:2000 staticconfig:http://127.0.0.1/toslive/patch/
请注意,客户端通过 SSL (HTTPS) 访问文件,因此请相应地配置您的 Web 服务器。
Zemyna 使用与其灵感来源工具“Alissa”相同的 API。它使用 WM_COPY 消息在 Zemyna 和订阅者的窗口之间进行通信。要订阅 Zemyna、接收数据包,请将“op”(dwData) 100
发送到 Zemyna 的窗口(窗口名称:“mod_Tossa”),要取消订阅,请发送101
。当您订阅时,您将通过相同的方法接收所有传入(op 0x10101012
)和传出(op 0x10101011
)数据包。
有关其工作原理的实际示例,我建议查看 Pale 中的相应函数。或者,您也可以为 Pale 创建一个插件,这会更容易。
如果您检查版本,您会发现多个版本,其中之一是 kTOS(注意“k”前缀)。如果您想在韩国服务器上记录数据包,请选择该选项。
由于 kTOS 使用网络登录,我们必须对韩国版 Zemyna 采取一些不同的做法。您需要一个附加参数“kr”,它激活某些仅 KR 选项。例子:
Zemyna.exe host:54.88.25.242 port:2000 kr nosteam
这样启动 Zemyna 后,客户端不会自动启动,但它仍然会修改客户端文件,因此当您最终通过 Web 登录启动客户端时,连接仍然会通过 Zemyna,允许您使用以下方式记录数据包苍白树。