Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

i have tried to read content of a memory address 0xfeafe000 and 0xfe9b000. i have used a few techinue but unable to do so. i have tried following codes, they are-

1.

unsigned int *abar = (unsigned int *) 0x0feaf000;
printf("
 %x",*abar);// got segmentation fault

2.

char txt[512];
  memcpy(txt,(char *)0xfeafe000,sizeof(txt));
  printf("%s",txt);// got segmentation fault

is there anather way to resolve this or any flaws in my attempts??

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
149 views
Welcome To Ask or Share your Answers For Others

1 Answer

The logical address in your program is mapped by the OS into an address that's valid for your process, so you have no access to an absolute address in most systems.

If you got a system with direct access to the real address space, then your first example should works, but I would suggest to make abar const in that case.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...