从作弊引擎到C ++的指针

问题描述 投票:-1回答:4

我正在寻找一种方法将指针地址从作弊引擎传递到一行代码。

作弊引擎地址为P-> 0C86D240。

代码行如下:

WriteProcessMemory(handle,(LPVOID)P->0C86D240,).

最后我想改变指针地址的值。

更新:我将P->更改为0x0C86D240,我能够为游戏的THAT会话写入内存。当关闭然后再次打开时,十六进制数字是不同的

c++ cheat-engine
4个回答
3
投票

Cheat Engine中的P->0C86D240意味着该条目是一串指针,最终解析为地址0x0C86D240。如果在Cheat Engine中双击此部件,您将看到一个弹出对话框,显示此指针链的组成部分。例如,让我们调用起始指针P0和一系列名为offset0, offset1, offset2, ...的偏移量。指针链是取地址P0 + offset0的值,使用它作为你的下一个指针P1,然后取地址P1 + offset1的值,用它作为你的下一个指针P2 ...这个链最终会给你地址0C86D240。如果你重置你的游戏,你希望你的P0不会改变,但之后的一切都将动态改变(即P1, P2, P3, ......)并一直追踪到所需的值。

如果你知道指针链是如何工作的,那么将它转换为C ++是微不足道的。您只需要记下基本指针和所有偏移(如弹出对话框中双击P->0C86D240部分所示。)然后,向下追踪直到您用完所有偏移值。


1
投票

第1步:使用作弊引擎搜索您想要更改的值。

第2步:如果找到了正确的地址,请右键单击它并对该地址进行指针扫描。现在你应该得到许多具有一些偏移量的基地址。

步骤3:关闭游戏并重复步骤1.现在复制新地址并单击重新扫描指针扫描(在步骤2中打开的窗口中)。在重新扫描地址字段中粘贴新地址并重新扫描。那么你应该只获得正确的基地址+偏移量。

第4步:总是找到正确的地址:readprocessmemory(baseaddress + offset)


0
投票

所有的拳头我无法弄清楚P->意味着什么可能删除它并使值为十六进制的0x

当关闭然后再次打开时,十六进制数字是不同的

如果我错了,我想你正在谈论游戏然后不继续阅读

所以你从作弊引擎获得的地址可能是动态的,这意味着每次你关闭或打开它时该值会改变意义,程序将被分配到内存中的另一个位置

那你该怎么办.....

你可以找到静态地址这个过程有点复杂我会建议你看一个教程https://www.youtube.com/watch?v=hfWOAFsYnFA


0
投票

该程序内置的作弊引擎教程涵盖了多级指​​针。先做你的工作。如果已找到指针,则表示您正在寻找的地址:一个静态地址,指向包含您要修改的值的地址。

© www.soinside.com 2019 - 2024. All rights reserved.