如何在进程的内存中搜索一个特定的字符串?

How would I search the memory of a process for a specific string?

本文关键字:一个 字符串 进程 内存 搜索      更新时间:2023-10-16

我对基础感兴趣。我不知道该从何说起。我已经创建了这个测试程序:

#include <stdio.h>
int main()
{
    char* test = "TEST04560";
    getchar();
    printf("%sn", test);
}

目标是使用外部程序定位"TEST04560"的内存地址。我知道如何使用ReadProcessMemoryWriteProcessMemory,但我不知道如何在程序内存中搜索特定的字符串。如有任何正确的建议,我将不胜感激。

什么操作系统?大多数操作系统都有某种"调试"功能,允许你观察/修改其他进程(当然,如果你有权限的话)。

在Linux上,这是ptrace

在Windows上,有ReadProcessMemory和friends。

对于搜索任意类型的数据,有memcmp。如果您知道如何使用ReadProcessMemory,那么您肯定熟悉这个函数。

相关文章: