c++ - 在 C++ 程序中使用 Cheat Engine 基地址

标签 c++ pointers cheat-engine

我最近学习了如何使用 Cheat Engine 查找进程的基地址。我在 Windows XP 上用 Solitaire 做到了这一点,我找到了分数的基地址(类似于 000AABBC)并且该地址从未改变。

所以我制作了一个使用 WriteProcessMemory(); 的 C++ 程序(我只是传递了那个地址)并且它每次都能正常工作。现在我在 Windows 7 上做这件事,我找到了基址,但它是一个指针,它指向的地址每次都在变化。当我检查指针地址时,它显示 "solitaire.exe"+000BAFD8。那么我该如何像之前那样在代码中使用它呢?

最佳答案

您可以枚举进程的模块并获取它们的基地址,在本例中为模块 solitaire.exe 的地址。无论 ASLR 是什么,这都应该为您提供一致的地址。

参见:Getting a list of DLLs currently loaded in a process C#

关于c++ - 在 C++ 程序中使用 Cheat Engine 基地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28218549/

相关文章:

c++ - 基于 C++ 标准的定义实现 `is_similar` 类型特征

c++ - 从 boost::shared_ptr 到 std::shared_ptr 的转换?

c++ - 返回对未定义指针的引用

c - 在 C 中为结构指针赋值时遇到问题?

c++ - 在堆上分配内存时防止数组衰减?

c++ - 从强制转换到基类的指针是否保证是指向派生对象内存区域的指针

c++ - INC 操作码编译到错误的地址

java - JNA - EnumProcessModules() 不返回所有 DLL?

c++ - 如何获取进程中使用的 .DLL 的(物理)基地址?

C++ -- Detours (Win32 API Hijacking) -- 劫持类方法