访问 C 中另一个程序的变量

Accessing a variable of the another program in C

本文关键字:变量 程序 另一个 访问      更新时间:2023-10-16

在python中,你可以通过使用id函数来学习变量的内存位置,所以:

X = "Hello world!"
print(id(X)) # Output is equal to 139806692112112 (0x7F27483876F0)

我试图用 C 中的指针访问变量(当然另一个程序还活着):

#include <stdio.h>
int main(void){
    char *x = (char *) 0x7F27483876F0;
    printf("%sn", x);
    return 0;   
}

我编译代码,没有错误或警告,但是当我尝试正在运行的程序操作系统时,会出现分段错误。我该如何解决这个问题?

还是可能?

如今,做这样的事情越来越不可能。 使用地址空间布局随机化等功能,您无法真正判断给定程序的位置,更不用说变量将在实际内存中加载了。

最好的办法是使用某种类型的消息传递。 不知道为什么对你的问题投了反对票,但这似乎是一个合理的问题,即使这些天在技术上不可行。