- 博客(12)
- 收藏
- 关注
原创 【无标题】
2021-2022-1 20212825《Linux内核原理与分析》第十二周作业 一.实验描述 缓冲区溢出的常用攻击方法是用 shellcode 的地址来覆盖漏洞程序的返回地址,使得漏洞程序去执行存放在栈中 shellcode。为了阻止这种类型的攻击,一些操作系统使得系统管理员具有使栈不可执行的能力。这样的话,一旦程序执行存放在栈中的 shellcode 就会崩溃,从而阻止了攻击。 不幸的是上面的保护方式并不是完全有效的,现在存在一种缓冲区溢出的变体攻击,叫做 return-to-libc 攻击。这种攻击不
2021-12-12 18:38:13
280
原创 【无标题】
2021-2022-1 20212825《Linux内核原理与分析》第十一周作业 一.实验简介 Set-UID 是 Unix 系统中的一个重要的安全机制。当一个 Set-UID 程序运行的时候,它被假设为具有拥有者的权限。例如,如果程序的拥有者是root,那么任何人运行这个程序时都会获得程序拥有者的权限。Set-UID 允许我们做许多很有趣的事情,但不幸的是,它也是很多坏事情的罪魁祸首。 二.实验过程 1.没有 Set-UID 机制的情况 猜测为什么 passwd,chsh,su,和 sudo 命令需要 S
2021-12-03 20:13:46
183
原创 2021-2022-1 20212825 《Linux内核原理与分析》第九周作业
2021-2022-1 20212825 《Linux内核原理与分析》第九周作业 一.基础知识 1.硬中断 硬中断(Interrupt)就是CPU的两根引脚(可屏蔽中断和不可屏蔽中断)。CPU在执行每条指令后检测两根引脚的电平,如果是高电平,说明有中断请求,CPU就会中断当前程序的执行后去处理中断。一般类似时钟/键盘/硬盘等外设都是以这种方式与CPU进行信号传递的。 2.软中断 软中断是包括除零错误/系统调用/调式断点等在CPU执行指令过程中的发生的各种特殊情况,分为故障/退出/陷阱三种。 故障:即出现问题
2021-11-21 10:24:23
240
原创 2021-11-14
2021-2022-1 20212825《Linux内核原理与分析》第八周作业 一.知识点 1.ELF概述 ELF (Executable and Linkable Format)即可执行的和可链接的格式,是一个目标文件格式的标准。ELF格式的文件用于存储Linux程序。ELF是一种对象文件的格式,用于定义不同类型的对象文件中都有什么内容、以什么样的格式放这些内容。ELF首部会描绘整个文件的组织结构,它还包括很多节(sections,是在ELF文件里用以装载内容数据的最小容器),这些节有些是系统定义好的,有
2021-11-14 19:52:51
101
原创 2021-11-07
2021-2022-1 20212804《Linux内核原理与分析》第七周作业 一.实验 1.在MenuOS中增加命令fork cd ~/LinuxKernel rm menu -rf git clone https://github.com/mengning/menu.git cd menu mv test_fork.c test.c make rootfs 2.跟踪分析进程创建过程 cd ~/LinuxKernel qemu -kernel linux-3.18.6/arch/x86/boot/
2021-11-07 20:53:11
72
原创 2021-11-07
2021-2022-1 20212804《Linux内核原理与分析》第七周作业 一.实验 1.在MenuOS中增加命令fork cd ~/LinuxKernel rm menu -rf git clone https://github.com/mengning/menu.git cd menu mv test_fork.c test.c make rootfs 2.跟踪分析进程创建过程 cd ~/LinuxKernel qemu -kernel linux-3.18.6/arch/x86/boot/
2021-11-07 18:32:25
104
原创 2021-10-31
2021-2022-1 20212825 《Linux内核原理与分析》第六周作业 一、实验步骤 1.给MenuOS增加命令 cd LinuxKernel rm menu -rf 删除当前的menu目录 git clone https://github.com/mengning/menu.git 重新克隆一个新版本的menu cd menu 进入menu make rootfs 运行make rootfs脚本 增加自己写的命令 #include <stdio.h> int twl
2021-10-31 19:55:05
161
原创 2021-10-24
2021-2022-1 20212825 《Linux内核原理与分析》第五周作业 一、内容学习 1、用户态、内核态和中断 2、系统调用概述 系统调用的意义:操作系统为用户态进程与硬件设备进行交互提供了一组接口——系统调用。把用户从底层的硬件编程中解放出来,极大的提高了系统的安全性,使用户程序具有可移植性。 API和系统调用:API是一个系统调用封装成的一个函数定义;系统调用通过软中断向内核发出一个明确的请求;Libc库定义的一些API引用了封装例程,目的是发布系统调用,让程序员写代码的时候可以通过函数调
2021-10-24 15:03:11
130
原创 2021-10-16
2021-2022-1 20212825《Linux内核原理与分析》第四周作业 这里写目录标题2021-2022-1 20212825《Linux内核原理与分析》第四周作业一.在实验楼平台上构建Linux系统MenuOS:二.总结 一.在实验楼平台上构建Linux系统MenuOS: 1.使用实验楼的虚拟机打开 shell 2.输入命令 cd ~/LinuxKernel/ qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img
2021-10-16 20:08:27
98
原创 2021-10-10
2021-2022-1 20212825《Linux内核原理与分析》第三周作业 操作系统是如何工作的 基础知识 1.计算机的三个法宝:存储程序计算机、函数调用堆栈机制、中断。 mykernel 实验 运行之后 接下来增加一个头文件mypcb.h #define MAX_TASK_NUM 4 #define KERNEL_STACK_SIZE 1024*8 struct Thread { unsigned long ip; unsigned long
2021-10-10 18:38:27
78
原创 2021-10-02
2021-2022-1 20212825《Linux内核原理与分析》第二周作业 文章目录2021-2022-1 20212825《Linux内核原理与分析》第二周作业反汇编一个简单的C程序实验过程代码执行过程总结 反汇编一个简单的C程序 实验过程 在实验楼查找目录Code,将main.c代码存入其中: 输入的代码为: 使用gcc –S –o main.s main.c -m32命令将main.c中的程序编译成汇编代码,并生成main.s文件,使用cat main.s查看编译结果如下图所示: 将上述代码中以
2021-10-03 19:13:17
185
原创 2021-2022-1 20212825《Linux内核原理与分析》第一周作业
目录 1.linux 为何物 2.linux 历史简介 3.linux 与 windows 的不同 4..如何学习 linux 5.查看用户 6.常用快捷键 7.学习中的问题 1.linux 为何物 Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Mac OS 。至于操作系统是什么,就不用过多解释了,如果你学习过前面的入门课程,应该会有个基本概念了,这里简单介绍一下操作系统在整个计算机系统中的角色。 我们的 Linux 主要是系统调用和内核那两层
2021-09-28 20:05:40
136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人