私は簡単なプログラムを持っています:
#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のみのソリューションに興味があります。