如何为多人游戏作弊(例如:Tibia)从客户端访问信息(在本例中为C++)?

Mai*_*tor 3 c++ memory automation code-injection

Tibia是一款在线多人游戏,通过C++客户端(图像)工作.有一些作弊工具允许,例如,更改你的字符的外观,当你的HP达到某一点时使用恢复项目甚至描绘没有美学的图像(图像).

这些软件如何访问Tibia使用的内部存储器,以及它们如何确定存储特定信息的位置?

a3f*_*a3f 11

您可能知道,应用程序的所有指令/数据都保存在内存中的特定偏移处,通常由编译器设置.使用调试器/反汇编器(例如ollydbg)或内存"搜索器"(例如CheatEngine),您可以查看这些内容.一个简单的过程是搜索内存以获取给定值(例如游戏健康状况),然后通过游戏动态更改它并重复搜索,直到您拥有相关值的内存地址,这通常是静态的,即:不会更改直到可执行文件更新.(实际上像ASLR这样的技术用于随机化但可以规避)

现在使用获取的地址,您可以通过使用Windows API执行鼠标点击/击键或通过调用ingame函数来生成处理它的处理程序,通过调试也可以找到地址和参数.(例如:如果健康<50%,请调用此函数)

另一种方法是使用代理通过其来路由所有流量,并且可以在其中注入传出数据包以执行操作,或者解析传入的数据包以推断条件.

显然,我无法提供示例代码,但您可以先阅读逆向工程基础知识和数据包,然后通过解决破解和跟踪教程来欺骗单个玩家游戏(如CheatEngine论坛上的游戏).

您还可以查看这个关于僵尸和对策的聊天记录,如非程序员所述:http://pastebin.com/6WWif7gK (起始于:20)