深入理解系统调用 1. 实验要求 找一个系统调用,系统调用号为学号最后2位相同的系统调用,我的学号尾号为97. 通过汇编指令触发该系统调用 通过gdb跟踪该系统调用的内核处理过程 重点阅读分析系统调用入口的保存现场、恢复现场和系统调用返回,以及重点关注系统调用过程中内核堆栈状态的变化 2. 什么是系 ...
分类:
其他好文 时间:
2020-05-25 22:19:01
阅读次数:
64
1.系统调用的概念 用户态与内核态: 32 位 Linux 进程地址空间: 系统调?概述: Linux的系统调?: 2.环境准备 编译选项: 编译内核并运行:由于还未挂载根文件系统,因此出现kernel panic。 制作根文件系统: 配置编译选项: 编写init脚本: 打包根文件系统镜像: fin ...
分类:
其他好文 时间:
2020-05-24 21:09:33
阅读次数:
78
Phase 1 先将bomb反汇编并输出到bomb.s, d参数为全部反汇编,还有一个 t参数可以输出程序的符号表,不过我不知道这个符号表有什么用。 分析main函数的代码 结合bomb.c函数 我们能比较容易看出main函数前面的汇编代码主要是做一些初始化和调用输入等功能,不是重点,我们直接关注p ...
分类:
移动开发 时间:
2020-05-24 18:08:02
阅读次数:
88
实验要求 找一个系统调用,系统调用号为学号最后2位相同的系统调用 通过汇编指令触发该系统调用 通过gdb跟踪该系统调用的内核处理过程 重点阅读分析系统调用入口的保存现场、恢复现场和系统调用返回,以及重点关注系统调用过程中内核堆栈状态的变化 系统调用原理: https://www.cntofu.com ...
分类:
其他好文 时间:
2020-05-24 16:55:49
阅读次数:
68
第一题,显示字符串,8行3列显示Welcome to masm! assume cs:codedata segmentdb 'Welcome to masm!',0data endscode segmentstart: mov dh,8;行号 mov dl,3;列号 mov cl,2;颜色 mov ...
分类:
其他好文 时间:
2020-05-24 12:07:34
阅读次数:
84
一、实验要求 找一个系统调用,系统调用号为学号最后2位相同的系统调用; 通过汇编指令触发该系统调用; 通过gdb跟踪该系统调用的内核处理过程; 重点阅读分析系统调用入口的保存现场、恢复现场和系统调用返回,以及重点关注系统调用过程中内核堆栈状态的变化。 二、实验目的 理解Linux操作系统调用; 了解 ...
分类:
其他好文 时间:
2020-05-24 11:30:49
阅读次数:
78
一、实验要求 1.学号末尾为59,故采用59号系统调用execve。 2.通过汇编指令触发系统调用 3.通过gdb跟踪该系统调用的内核处理过程 4.重点阅读分析系统调用入口的保存现场和恢复现场 二、环境准备 1. 安装环境 1 sudo apt install build-essential 2 s ...
分类:
系统相关 时间:
2020-05-24 00:40:41
阅读次数:
89
9.7jcxz指令 jcxz指令为有条件转移指令,所有的有条件转移指令都是短转移,在对应的机器码中包含转移的位移,而不是目的地址。对ip的修改范围都为-128~127 指令格式:jcxz 标号 (如果cx=0,则转移到标号处执行) jcxz 标号 指令操作: 当cx=0时,ip=ip+2位位移 8位 ...
分类:
其他好文 时间:
2020-05-23 16:53:51
阅读次数:
67
8086cpu的转移指令分为以下几类: 无条件转移指令(如:jmp) 条件转移指令 循环指令 过程 中断 9.1 操作符0ffset 操作符offset在汇编语言中是由编译器处理的符号,他的功能是取得标号的偏移地址。 9.2 jmp指令 jmp为无条件转移,可以只修改ip,也可以同时修改cs和ip ...
分类:
其他好文 时间:
2020-05-23 14:51:27
阅读次数:
78
@ "TOC" 1 操作说明 本次实验采用20号系统调用 通过汇编指令触发该系统调用 通过gdb跟踪该系统调用的内核处理过程 阅读分析系统调用入口的保存现场、恢复现场和系统调用返回,以及关注系统调用过程中内核堆栈状态的变化 2 知识预备 我们知道,中断是操作系统的一个重要概念,是操作系统并发操作的的 ...
分类:
系统相关 时间:
2020-05-23 11:27:16
阅读次数:
56