Memory 如何在每次程序启动时找到同一事物的内存地址?

Memory 如何在每次程序启动时找到同一事物的内存地址?,memory,client,memory-address,Memory,Client,Memory Address,我最近重新开始编程,我想知道如何读取其他程序的内存 首先,我这样做纯粹是为了教育目的,只是想知道是否可以做到。我的意思是在任何比赛中都不可能取得某种优势 无论如何,我加载了一个游戏(我们称之为genericmmorpg),并登录。我想在记忆中找到我角色的名字(比如提米) 所以我加载了作弊引擎(我所知道的唯一可以使用它的内存分析器),并找到了存储我名字的地址。但是,每次游戏客户端打开时,它都会更改存储我的名字的内存地址。现在,我知道有很多程序可以在游戏之外自动读取你角色的名字,所以我知道这是可以做

我最近重新开始编程,我想知道如何读取其他程序的内存

首先,我这样做纯粹是为了教育目的,只是想知道是否可以做到。我的意思是在任何比赛中都不可能取得某种优势

无论如何,我加载了一个游戏(我们称之为genericmmorpg),并登录。我想在记忆中找到我角色的名字(比如提米)

所以我加载了作弊引擎(我所知道的唯一可以使用它的内存分析器),并找到了存储我名字的地址。但是,每次游戏客户端打开时,它都会更改存储我的名字的内存地址。现在,我知道有很多程序可以在游戏之外自动读取你角色的名字,所以我知道这是可以做到的。另外,我知道有专门针对特定内存地址的单人游戏培训师

我只是想知道我是否采取了正确的方法(在内存中搜索),我只需要对我的方法进行一些修改,或者是否有其他一些程序最有可能获得字符的名称。

1)大多数现代操作系统都使用“虚拟内存”。运行的程序所看到的只是一个逻辑地址。如果有三个进程正在运行,则每个进程都有自己的地址0xe00ff002(例如),并且该地址处每个进程的实际值将不同

这意味着,在虚拟内存操作系统中,一个进程无法读取另一个进程的内存

2) 是的,您当然可以搜索文本字符串。在进程的内存中。或者在进程正在运行的binary.exe文件中

3) 它取决于程序,取决于操作系统,每个进程是否会在每次加载时使用完全相同的内存地址加载完全相同的内容

在大多数操作系统上运行的大多数程序中,答案是“否:不同的东西通常会在不同的时间加载到不同的位置。”

1)大多数现代操作系统使用“虚拟内存”。运行的程序所看到的只是一个逻辑地址。如果有三个进程正在运行,则每个进程都有自己的地址0xe00ff002(例如),并且该地址处每个进程的实际值将不同

这意味着,在虚拟内存操作系统中,一个进程无法读取另一个进程的内存

2) 是的,您当然可以搜索文本字符串。在进程的内存中。或者在进程正在运行的binary.exe文件中

3) 它取决于程序,取决于操作系统,每个进程是否会在每次加载时使用完全相同的内存地址加载完全相同的内容


在大多数操作系统上运行的大多数程序中,答案是“否:不同的东西通常会在不同的时间加载到不同的位置。”

如果是作弊引擎,您应该遵循程序附带的教程。它解释了如何找到从一个启动到另一个启动的变化的基本指针。如果是作弊引擎,你应该遵循程序附带的教程。它解释了如何为从一个启动到另一个启动的变化找到基本指针。