Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15515597
  • 博文数量: 112
  • 博客积分: 11195
  • 博客等级: 上将
  • 技术积分: 1989
  • 用 户 组: 普通用户
  • 注册时间: 2005-06-20 11:04
文章分类

全部博文(112)

文章存档

2013年(2)

2012年(27)

2011年(6)

2010年(11)

2009年(6)

2007年(7)

2006年(23)

2005年(30)

分类: LINUX

2006-09-03 19:46:54

linux同一个进程下面的线程都是在同一个进程空间的,那么是否会存在越界访问的问题呢?
刚刚做了一个试验,答案是:存在越界问题。

[root@FC5 thread]# gcc -o hk hookpthread.c -lpthread;./hk;cat hookpthread.c
&a:[b7f77464]-----a:[20]
&b:[b7576464]
hook-->&a:[20]
&a:[b7f77464]-----a:[30]
#include
#include
void * fun(void * i)
{
int a=20;
printf("&a:[%x]-----a:[%d]\n", &a,a);
sleep(1);
printf("&a:[%x]-----a:[%d]\n", &a,a);
pthread_exit(NULL);

}

void * hook(void * a)
{
int b=10;
printf("&b:[%x]\n", &b);
printf("hook-->&a:[%d]\n", *(&b+2622464));
*(&b+2622464)=30;
pthread_exit(NULL);

}
int main()
{
pthread_t pidfun,pidhook;
pthread_create(&pidfun, NULL, fun, NULL);
pthread_create(&pidhook, NULL, hook, NULL);
sleep(2);
return 0;
}


阅读(166610) | 评论(13) | 转发(4) |
0

上一篇:毕业五年(续)

下一篇:VIM的配置

给主人留下些什么吧!~~

yy5834454172011-06-09 17:27:04

进程的空间是4G,你怎么越界?*(&b+2622464)=30;还是在当前进程中。

z1000992011-05-25 23:59:04

同问博主是怎么得到偏移地址的……

网络安全服务2011-05-16 16:19:42

路过```

jwctly2011-04-21 16:22:23

博主的地址偏移量是怎样得到的,反汇编?

mandagod2011-04-06 10:43:39

线程受什么保护?这是个什么概念?
进程受保护,线程就是进程里面的。