首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >作弊引擎如何知道内存中的值是什么?

作弊引擎如何知道内存中的值是什么?
EN

Stack Overflow用户
提问于 2021-01-08 10:12:43
回答 1查看 831关注 0票数 0

在欺骗引擎中,我们可以搜索不同类型的值(int、float、double、string)。这个值可以有不同的长度(1,2,4,8,16字节等等)。CE如何知道在某个特定内存单元中开始的值类型以及它的长度?在记忆中,每个单元格中只有一串零和一。我们如何才能知道这些数据的意义?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-17 15:33:53

如何知道CE从某个特定内存单元中开始的值类型以及它的长度?:它使用来自操作系统api的函数,这给它提供了这些信息。

例如,如果您在Windows上,可以在ReadProcessMemory(process_name、address_location、data_size)函数中调用c++,这将为您提供该信息。

代码语言:javascript
复制
// 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和0是二进制数据类型,0到10是十进制,0到F是十六进制,您只需将二进制数据转换为不同类型的数据(0101 = 5),就像您将华氏转换为摄氏,反之亦然。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65627090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档