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

时间:2013-01-18 06:02:27

标签: c++ c pointers memory-address

我对基础知识很感兴趣。我不知道从哪里开始。我已经创建了这个测试程序:

#include <stdio.h>

int main()
{
    char* test = "TEST04560";
    getchar();
    printf("%s\n", test);
}

目标是使用外部程序找到“TEST04560”的内存地址。我知道如何使用ReadProcessMemoryWriteProcessMemory,但我不知道如何在程序的内存中搜索特定的字符串。非常感谢任何正确方向的提示。

1 个答案:

答案 0 :(得分:2)

什么操作系统?大多数操作系统都有某种&#34;调试&#34;允许您观察/修改其他进程的工具(当然,如果您有权限)。

在Linux上,这是ptrace

在Windows上,有ReadProcessMemoryfriends

为了搜索任何类型的数据,有memcmp。如果您知道如何使用ReadProcessMemory,那么您当然熟悉此功能。