linux-0.11调试教程,task2的参数,copy_strings()函数和create_tables()函数的关系
2013-01-22 22:20
441 查看
下面是create_tables运行之前的用户栈的情况
![](http://img.my.csdn.net/uploads/201301/23/1358898903_4041.JPG)
下面是create_tables运行之后的用户栈的情况
![](http://img.my.csdn.net/uploads/201301/22/1358864739_1480.JPG)
init/main.c文件部分内容:
static char * argv_rc[] = { "/bin/sh", NULL };
static char * envp_rc[] = { "HOME=/", NULL };
0x002f3d45和0x4d4f4800按照字节顺序由高到低表示为:48 4f4d
45 3d 2f 00既HOME=/。
下图蓝色表示的是copy_strings()函数填充的用户栈内容,红色表示的create_tables()函数填充的用户栈内容。
从中我们可以清晰的看出copy_strings()函数和create_tables()函数的关系。
下面是create_tables运行之后的用户栈的情况
init/main.c文件部分内容:
static char * argv_rc[] = { "/bin/sh", NULL };
static char * envp_rc[] = { "HOME=/", NULL };
0x002f3d45和0x4d4f4800按照字节顺序由高到低表示为:48 4f4d
45 3d 2f 00既HOME=/。
下图蓝色表示的是copy_strings()函数填充的用户栈内容,红色表示的create_tables()函数填充的用户栈内容。
从中我们可以清晰的看出copy_strings()函数和create_tables()函数的关系。
相关文章推荐
- linux-0.11调试教程,move_cursor_relative()函数和变量last_c_pos和变量c_pos的关系
- linux-0.11调试教程,rl_dispatch ()函数调用函数的参数的个数
- Linux-0.11内核源码分析系列:内存管理copy_page_tables()函数分析
- linux-0.11调试教程,fflush()函数实现分析和FILE类型定义
- linux0.11调试教程,写了个readinode,参数i节点号,返回磁盘i节点到文件inodexxxx
- linux-0.11调试教程,update_line()函数分析,和update_line()函数的数据模型
- linux-0.11调试教程,update_line()函数中按下退格键时对应的缓冲区
- linux-0.11调试教程,minix文件系统1.0上篇(01),硬盘基本参数hd_info
- 2007-4-13 20:46:00 linux0.11之copy_page_tables()函数见解
- linux-0.11调试教程,task2参数所在内存页的页目录项和页表项
- Linux-0.11内核源码分析系列:内存管理copy_page_tables()函数分析
- 2007-4-13 20:46:00 linux0.11之copy_page_tables()函数见解
- linux-0.11调试教程,update_line()函数中的按下字符键对应的缓冲区
- linux-0.11调试教程,终端的初始化init_terminal_io ()函数分析
- linux-0.11调试教程,fwrite ()函数的作用
- linux-0.11调试教程,readline ()函数中,ECHO的关闭和开启
- linux-0.11调试教程,bash-1.12中readline()调用过程
- linux-0.11调试教程,minix-386-fd0-by-chenghao0511,最小的操作系统,只有360k。
- linux-0.11调试教程,task2
- linux-0.11调试教程,task3(01),/etc/rc文件