我有简单的程序:
#include <stdio.h>
int a = 5;
int
main(void)
{
while(1)
{
int i;
sleep(1);
printf("%p %i\n", &a, a);
}
return 0;
}
输出(Ubuntu x64):
0x601048 5
0x601048 5
0x601048 5
0x601048 5
我正在学习 C 中的指针,并且我已经知道您可以使用memcpy
在进程的虚拟内存中(几乎)想要的任何位置写入数据。但是,是否可以通过使用另一个应用程序(当然是使用自己的虚拟内存)来修改int a
放置在地址处的值?0x601048
这个怎么做?我只对 C 的解决方案感兴趣。