如何解决作弊引擎如何知道内存中的值是什么样的
在 Cheat Engine 中,我们可以搜索不同类型(int、float、double、string)的不同值。这个值可以有不同的长度(1、2、4、8、16 字节等等)。 CE 如何知道在某个特定存储单元中开始什么样的值以及它有多长?在内存中,我们在每个单元格中只有一堆零和一。我们如何知道这些数据的含义?
解决方法
CE 如何知道某个特定存储单元中开始的值是什么样的以及它有多长?:它使用来自操作系统 api 的函数来提供该信息。
例如,如果您使用的是 Windows,您可以在 C++ 中调用 ReadProcessMemory(process_name,address_location,data_size) 函数,该函数将为您提供该信息。
// Pseudocode of how CE might do it
for (int address = 0x0000; address < 0xFFFF; i += sizeof(int) {
int value = ReadProcessMemory('notepad.exe',address,sizeof(int));
int* value_address = &value;
}
在内存中,我们在每个单元格中只有一堆零和一。我们如何知道这个数据的含义?: 1ns 和 0s 是二进制类型的数据,0 到 10 是十进制,0 到 F 是十六进制,你只是将二进制数据转换为不同类型的数据(0101 = 5),就像将华氏度转换为摄氏度,反之亦然。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。