关于修改代码数据的问题,求解?
这是一个简单的代码,打印一些地址,注意那个str
这是打印的结果!str = 0x400890,main最后加了while(1);
所以该进程未终止:
我看了下进程内存的分配情况
可以看到str值保存在进程的代码段,只有R,X权限,那么str[0] = *(str + 1)= ‘A’; 理所应当会发生段错误,str = “ABCDEF”
[ 本帖最后由 乾坤洞主 于 2014-8-4 16:07 编辑 ]