自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 2021-2022-1 20212814《Linux内核原理与分析》第十二周作业

一、在实验楼上进行实验出现错误截图如下所示:所以接下来的实验在自己的虚拟机上完成。二、在自己的虚拟机上完成实验安装32位c语言程序编译器,sudo apt-get lib32z1 libc6-dev-i386,sudo apt-get install lib32readline6-dev准备32位实验环境在实际中为了防范缓冲区溢出等攻击,通常会降低shell程序的权限,即无法保持root权限,为了绕过这个问题,我们使用另一个shell程序,zsh来代替/bin/b..

2021-12-12 16:26:59 120

原创 SET-UID程序漏洞实验

一、没有 Set-UID 机制的情况:为什么passwd,chsh,su,和sudo命令需要 Set-UID 机制,如果它们没有这些机制的话,会发生什么?从上面的截图可以看出:将 passwd 拷贝到/tmp/下,权限发生了变化(在原目录下 suid 位 被设置),复件没有了修改密码的权限。二、运行 Set-UID 程序以 root 方式登录,拷贝/usr/bin/zsh到/tmp, 同时设置拷贝到 tmp 目录下的 zsh 为 set-uid root 权限,然后以普通...

2021-12-05 15:09:57 1012

原创 2021-2022-1 20212814 《Linux内核原理与分析》第九周作业

2021-11-21 22:35:54 635

原创 2021-2022-1 20212814《Linux内核原理与分析》第八周作业

一 、可执行程序的装载1. 预处理、编译、链接gcc –e –o hello.cpp hello.c //预处理gcc -x cpp-output -S -o hello.s hello.cpp //编译 gcc -x assembler -c hello.s -o hello.o-m32 //汇编gcc -o hello hello.o //链接成可执行文件,使用共享库用gcc -o hello.static hello.o -static静态编译出来的hello..

2021-11-14 20:04:40 111

原创 2021-2022-1 20212814 《Linux内核原理与分析》第七周作业

一、Linux内核创建一个新进程的过程1.知识准备操作系统内核三大功能是进程管理,内存管理,文件系统,最核心的是进程管理。 linux 进程的状态和操作系统原理的描述进程状态有所不同,比如就绪状态和运行状态都是TASK_RUNNING。(这个表示它是可运行的,但是实际上有没有在运行取决于它是否占有 CPU )。 fork 被调用一次,能够返回两次。在父进程中返回新创建子进程的 pid;在子进程中返回 0。 调用 fork 之后,数据、堆、栈有两份,代码仍然为一份(这个代码段成为两个进程的共..

2021-11-04 21:00:28 104

原创 在树莓派上安装openEuler

一、下载的镜像进行完整性检验在window下进行检验截图:二、刷写镜像使用windows平台在进行balenaEtcher下进行镜像烧写,过程截图如下:三、在本地显示器上进行树莓派的连接使用 ip a查看周围的wifi信息:成功连接宿舍wifi并记下了树莓派的ip地址:四、在MobaXterm上使用树莓派的ip地址进行连接:使用ip地址进行连接成功截图如下所示:...

2021-10-31 21:46:27 225

原创 2021-2022-1 20212814 《Linux内核原理与分析》第六周作业

一、编辑 menu 中的 text.c 文件,给MenuOS增加 rename 和 rename_asm 命令make rootf 打开 menu 镜像,可以看到MenuOS菜单中新增了两条命令:二、gdb 跟踪 sys_rename:同第二个实验相同,先使得 CPU 静止,在 sys_rename 处设置断点,在MenuOS中执行rename命令,发现停在SyS_rename(定义在fs/namei.c中)处,用宏来实现。然后继续单步执行:大家知道执行int 0x80,CPU.

2021-10-31 15:17:36 117

原创 2021-2022-1 20212814 《Linux内核原理与分析》第五周作业

一,使用库函数 API 和 C 代码中嵌入汇编代码两种方式使用同一个系统调用1.使用库函数API使用getpid系统调用:编写的c函数如下所示:运行结果如下所示:知识补充:getpid系统调用返回当前进程标识。2.C代码中嵌入汇编代码使用getpid系统调用编写的嵌入汇编代码的C代码如下所示:运行结果如下所示:知识补充:getpid系统调用号是20。二,什么是系统调用?系统调用是应用程序与内核交互的一种方式。系统调用作为一种接口,通过系统调用.

2021-10-24 16:37:50 2302

原创 2021-2022-1 20212814 《Linux内核原理与分析》第四周作业

一、跟踪分析内核的启动过程实验:1.启动Menuos:qemu仿真kernel:知识补充:bzImage 是 vmlinux 经过 gzip 压缩后的文件,是压缩的内核映像,“b”代表的是“big”(bzImage 适用于大内核,zImage 适用于小内核)。vmlinux 是编译出来的最原始的内核ELF文件; 根文件系统包括虚拟根文件系统和真实根文件系统。initrd 是“initial ramdisk”的简写,boot loader 将存储介质中的 initrd 文件加载到内存,内

2021-10-17 17:27:35 157

原创 2021-2022-1 20212814《Linux内核原理与分析》第三周作业

一,mykernel 实验:1.深度理解函数调用堆栈:上周已经一步步地分析过含有变量的函数调用时堆栈的变化,现在对堆栈框架进行一些补充,以以下程序为例:int main() { ... g(x,y); ...}int g(int x,int y){ h(c);.}int h(int x){ ...}大致栈空间以及自己领会的函数调用堆栈变化框架:2.时间片轮转多道程序代码分析:计算机工作的三个法宝是存储程序计算机...

2021-10-10 20:48:38 112

原创 2021-2022-1 20212814《Linux内核原理与分析》第二周作业

一,在Linux环境下安装OpenSSLOpenSSL 是一个开源项目,其组成主要包括一下三个组件 openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls openssl可以实现:秘钥证书管理、对称加密和非对称加密安转成功截图如下所示test_openssl.c代码如下运行出现错误具体原因还没有找出,待寻找。二,通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的.

2021-10-03 20:26:45 117

原创 2021-09-28

实验1 Linux系统简介Linux历史1991 年 10 月,Linus Torvalds想在自己的电脑上运行UNIX,可是 UNIX 的商业版本非常昂贵,于是他基于MINIX开发了初版的Linux。在之后越来越多的人加入其中,开发Linux。Linux的特点免费 支持开源自由软件 安全性较强 主要使用命令行 系统可定制 多用户和用户和用户组的规划Linux学习步骤Linux初级Linux系统安装 Linux图形界面使用 Linux常用命令Linux中级Lin

2021-09-28 15:03:47 201

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除