MIT6.828 Lab1-Lab2

LEC 1

操作系统概述

管道本质上是一个内核的缓冲区,大多数情况下半开工,描述符可跨fork继承.

Lab 1: Booting a PC

PC Bootstrap

BIOS: 设置中断描述符表,初始化设备.加载bootloader

When the BIOS runs, it sets up an interrupt descriptor table and initializes various devices such as the VGA display. This is where the “Starting SeaBIOS” message you see in the QEMU window comes from.

阅读更多...

SGI STL学习笔记

所有内容均基于SGI STL.该项目仅作为本人学习C++STL库,数据结构与算法使用.

内存置配器

容器使用内存置配器来进行内存空间的分配和释放.
为了适配STL标准,在实际使用的分配器实现一个上层接口类simple_alloc.该类默认使用第二级分配器

第一级分配器 malloc_alloc_template

该分配器在内部直接使用operator new/delete进行内存管理

第二级分配器 default_alloc_template

该分配器以小型内存池进行内存管理,减轻分配内存时的cookie占用的内存.

阅读更多...

CSAPP--Notes

CSAPP阅读笔记
文章仅作为笔者复习参考,其中内容仅为笔者当前阶段学习CSAPP的理解.

第三章 程序的机器级表示

3.6.1条件码:

CF:进位标志.最近的操作使最高位产生了进位.
ZF:零标志.最近操作的结果为0.
SF:符号标志.最近的操作得到负数.
OF:溢出标志.最近的操作导致一个补码溢出
PF:奇偶标志位.最近操作的结果所有bit中1为偶数
AF:辅助进位标志位 运算过程中看最后四位,不论长度为多少 最后四位向前有进位或者借位,AF=1,否则AF=0
TF:调试标志位 当TF=1时,处理器每次只执行一条指令,即单步执行
IF:中断允许标志位 它用来控制8086是否允许接收外部中断请求 若IF=1,8086能响应外部中断,反之则屏蔽外部中断
DF:方向标志位 在串处理指令中,每次操作后,如果DF=0,si di递增,如果DF=1,si di递减;注意此处DF的值是由程序员进行设定的 cld命令是将DF设置为0,std命令是将DF设置为1
进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确;
溢出标志表示有符号数运算结果是否超出范围,运算结果已经不正确。
leaq指令不改变任何条件码.对于逻辑操作,进位标志和溢出标志会设置成0.对于移作,进位标志将设置为最后一个被移出的位,溢出标志设置为0.INC和DEC指令仅设出和零标志.

阅读更多...

Pwnhub 2023 3月公开赛 WP

Pwnhub 2023 3月公开赛 WP

sh_v1_1

glibc2.31堆题
一堆莫名其妙的全局变量运算,白看了半天最后发现一点用都没有.
恢复一下结构体

1
2
3
4
5
struct file{
long flag;
char filename[32];
char* content_ptr;
}

程序逻辑就是模拟的一个linux终端,输入命令进行相应处理.
漏洞在ln的时候可以备份指针造成uaf

阅读更多...
  • Copyrights © 2022-2024 翰青HanQi

请我喝杯咖啡吧~

支付宝
微信