以编程方式读取 Adobe 游戏变量/与游戏/游戏机器人交互
Posted
技术标签:
【中文标题】以编程方式读取 Adobe 游戏变量/与游戏/游戏机器人交互【英文标题】:Programmatically read Adobe game variables / interact with the game / game bot 【发布时间】:2013-02-22 07:42:58 【问题描述】:基本上,我正在尝试读取游戏的聊天记录并捕捉用户的操作。
这是我将解释情况的图像:
1:我在聊天中发了一条消息
2:我尝试使用 Cheat-Engine 在游戏内存中找到它
3:通过检查找到它的每个地址,我最终找到了这个,其中包含似乎是 html 格式的聊天.. 那部分只是聊天的底部。 (如果我向上滚动,我会看到其余部分)
所以,我问自己如何读取游戏变量来与游戏交互。
我想要实现的另一件事是捕捉用户的操作,以便我可以在 winform 中显示一些信息。
我刚刚阅读了有关数据包嗅探的文章,这对我正在尝试做的事情来说似乎很有趣。
我尝试使用 WireShark 读取进出此应用的数据包。游戏中的每个动作都发送了一些数据包,但我无法阅读它们,因为它们只是一堆奇怪的字符。我尝试使用在 WireShark 论坛上获得的一些方法来解密它们,但没有成功。我在问自己,即使我可以在 Wireshark 中看到它们,我将如何以编程方式做到这一点..
当然有一个很好的方法可以做到这一点,因为我们经常在这个游戏中看到机器人。 考虑到“在团队中”玩的机器人数量,我很确定它们不使用点击,但它们会在后台运行一些发送请求的东西。
你如何制作这样一个能自动与玩家战斗、交谈、互动的机器人?
这个游戏是 Dofus,由 Adobe Air 提供支持。
我通常使用 c++ 和 c# 进行编程,但我想知道最好的方法是什么。
我需要朝正确的方向踢!
【问题讨论】:
【参考方案1】:也许在您的 c# 项目中尝试使用 tcp/ip 列表器控件(或在 c# 中使用 tcplistner 类)并使用适当的端口来捕获请求(和响应)。发送的信息可能会被压缩,因此您可能需要尝试一些标准算法。
Did you try reverse engineer the AIR app ?
【讨论】:
谢谢弗朗索瓦!我目前正在进一步研究捕获/发送数据包到游戏。 逆向工程无法工作,因为它是基于服务器的游戏,客户端使用 Flash 渲染游戏。 哦,我明白了。我现在正在使用 SharpPcap 库来读取/发送数据包。到目前为止,我能够获得从游戏发送/发送到游戏的数据包:D 困难的部分是确定数据包的“功能”部分的含义,因为只有十六进制代码。无论如何,我正在测试:P以上是关于以编程方式读取 Adobe 游戏变量/与游戏/游戏机器人交互的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式知道 Adobe Reader 已完成文件加载?
将 Adobe Flash Builder 游戏转换为 Air?
使用 Node.js(和 NPM 包“psd”)解析 Adobe PSD 文件,以编程方式替换图像层,然后保存/渲染为 PNG