C++ 从另一个程序窗口的内存中编辑文本

c++ edit text on another program window from its memory

本文关键字:内存 编辑 文本 窗口 另一个 程序 C++      更新时间:2023-10-16

我想编辑另一个程序 ui 元素中的文本如果窗口有一个句柄,这很容易,所以我可以使用 SetWindowText(( 函数

但是有些窗口没有句柄,因为它们没有窗口,所以我无法访问其中的元素

我尝试使用 ReadProcessMemory 来查找我正在搜索的文本并使用 WriteProcessMemory 对其进行编辑,但我在内存中找不到字符串,我也使用了一个名为 heapmemview 的程序,但我也没有获得我寻找的可读文本,所以这个文本在哪里,因为我知道它一定在进程的内存中,但它不在那里

在内存中找不到字符串

该字符串必须存在于内存中,它很可能是 Unicode 字符串,并且您正在搜索 ANSI 字符串。

出于此答案的目的,unicode 字符是 2 个字节,而 ANSI 字符是 1 个字节。

如果要在作弊引擎中搜索值,则需要选中"unicode"选项。

当您要覆盖该内存时,请确保您的源缓冲区是 wchar_t 数组而不是 char 数组,并确保使用 sizeof(( 而不是 strlen((,以便获得正确的字节大小。 此外,请确保使用 null 终止符,假设它是以 null 结尾的字符串。