- 博客(12)
- 收藏
- 关注
原创 课堂练习4.4:页式虚存
计算机操作系统头歌实践平台,课堂练习4.4:页式虚存第1关:版本 0 内核的第一次缺页页故障;第2关:第一次使用零页的缺页页故障
2022-12-20 17:25:16
4077
4
原创 课后作业4.3:段页式内存管理
计算机操作系统头歌实践平台,课后作业4.3:段页式内存管理第1关:第一次页故障;第2关:父子进程间的共享内存通信实现
2022-12-20 17:21:43
1223
3
原创 课堂练习4.3:段页式内存管理
计算机操作系统头歌实践平台,课堂练习4.3:段页式内存管理第1关:进程创建前后页目录和页表的变化;第2关:1 号进程对 mynext 变量的第一次修改
2022-12-20 17:18:09
1529
原创 课后作业4.2:页式内存管理
计算机操作系统头歌实践平台,课后作业4.2:页式内存管理第1关:页目录和页表的变化;第2关:用户栈和核心栈的物理位置
2022-12-20 17:12:41
2102
3
原创 课堂练习4.2:页式内存管理
计算机操作系统头歌实践平台,课堂练习4.2:页式内存管理第1关:1 号进程的 mynext 变量的物理地址;第2关:0 号进程的 mynext 变量的物理地址
2022-12-20 17:05:55
2563
9
原创 课后作业4.1:段式内存管理
计算机操作系统头歌实践平台,课后作业4.1:段式内存管理第1关:0号进程和1号进程的mynext变量的取值变化;第2关:LDTR 寄存器;第3关:内核代码段和数据段的段基址
2022-12-20 16:59:34
2360
1
原创 栈溢出ROP——动态链接
当程序采用静态链接的方式时,我们进行ROP是很简单的,因为采用静态链接的程序,其本身就带有了大量的库函数,这样我们可以很方便的找到我们需要的gadget,但是当程序采用动态链接的方式时,其本身并没有这么多gadget,这时我们该如何处理呢。首先,先看下面这张图采用动态链接的程序,会有一个PLT表(代码段)和GOT表(数据段),程序中用到的函数都会在PLT表中存在一个表项,而GOT表中则存放了函数实际的物理地址。当程序调用函数时,执行call指令之后,会首先访问PLT中相应的表项,之后PLT表会立
2022-05-04 00:01:46
206
原创 栈溢出的第一步进阶——ROP返回导向编程
前面两次栈溢出只是让我们学习原理,是最简单、最基本的栈溢出问题,一般的pwn题不会这么简单,溢出一次就可以到位。今天我们就做第一步进阶,正式进入ROP。就我目前理解的ROP,就是要通过连续多次栈溢出,利用其原有的gadget(可以叫做代码片段),构造一次系统调用,调用execve()函数,就相当于获得了一个shell。首先我们要知道,系统调用的中断号是0x80,而execve的功能号是11,也就是16进制的0xb。所以在进行系统调用(即执行INT 80H这条语句)之前,我们先要构造出调用execve()
2022-05-01 01:01:18
722
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人