记录学习日常
MIT 6.828环境搭建及Lab1运行 MIT 6.828环境搭建及Lab1运行
MIT 6.828 环境搭建及Lab1运行最近学了点Windows保护模式对操作系统底层有些感兴趣了,边学Windows边开个新坑吧,6.828的资料在网上不算难找,慢慢填坑 运行环境搭建搭建环境的系统:Ubuntu18.04.6 安装编译
2022-04-23
Windows分页 Windows分页
Windows分页Windows32主要有两种分页方式,10-10-12 和 2-9-9-12,加起来就是32位,其中2,9,10,12代表2的x次方 10-10-12分页 根据因特尔手册给出的图可以看出,当前程序的页目录索引存在CR3中,
2022-04-20
TSS 任务状态段描述符 TSS 任务状态段描述符
TSS 任务状态段描述符​ TSS(Task State Segment)任务状态段描述符用于描述保存任务重要信息的系统段,权限发生变化要借用TSS。任务状态段寄存器TR的可见部分为当前任务状态段描述符的选择子,不可见部分是当前任务状
2022-04-15
系统段描述符表IDTR 系统段描述符表IDTR
系统段描述符表IDTR中断门和陷阱门不同描述符表中的值代表不同类型的门,放在gdtr表里面的门叫做调用门,放在idtr表里面的门叫做中断门和陷阱门 中断门和陷阱门描述中断/异常处理程序的入口点。中断门和陷阱门内的选择子必须指向代码段描述符,
2022-04-14
利用门描述符从3环进入0环 利用门描述符从3环进入0环
利用门描述符从3环进入0环门描述符格式在开始前先了解一下门描述符的作用 门描述符不描述某种内存段,而是描述控制转移的入口点,简单来说就是中介,通过这道门,可实现任务内特权级的变换和任务间的切换,获取最后的访问地址。 Attributesm
2022-04-12
存储段描述符表 存储段描述符表
存储段描述符表GDT和GDTRGDTGDT(Global Descriptor Table)全局描述符表,一个处理器仅有一个GDT,主要用于内存转换,所有程序的内存访问都需要用到GDT中的有关内存区域即x86内存分段的信息。描述符每一项都为
2022-04-09
段寄存器测试 段寄存器测试
寄存器测试内存地址转换过程虚拟地址 –>段选择子+偏移地址–>分段管理机制–>线性地址–>分页管理机制–>物理地址 不同段寄存器对应不同作用 ES —> 对串进行操作 [ESI] [EDI] STOSD
2022-04-07
初步了解保护模式 初步了解保护模式
保护模式实模式与保护模式的区别实模式实模式出现于早期8088 CPU时期。当时由于CPU的性能有限,一共只有20位地址线,地址空间只有2^20B = 1MB,以及8个16位的通用寄存器,以及4个16位的段寄存器 ES、SS、CS、DS。为了
2022-04-06
使用ctfd搭建一个可以启动docker的ctf平台 使用ctfd搭建一个可以启动docker的ctf平台
帮学校搞一个CTF平台,还要能自己开启docker环境,找到一个ctfd平台的插件 CTFd-Whale 这个插件提供的环境有一段时间没更新,有些配置已经不能用了,于是clone了下来改了几个地方 下面是完整Centos7搭建步骤,最好在爱
2020-07-01
使用vue搭建一个electron程序 使用vue搭建一个electron程序
折腾了两天,尝试了electron-vue和electron-forge,效果都不怎么理想,electron-vue的electron版本太老,升级坑实在是太多,electron-forge版本不知道怎么更新,最后还是选择原生的vue框架来
2020-06-12
一个无损音乐下载软件的逆向 一个无损音乐下载软件的逆向
吾爱上面发现个音乐软件,可以下载好多无损歌曲,正好也想下几首歌,于是反编译过来玩玩 查了壳是.net写的,好办多了 用dnSpy反编译之后发现有些地方被加密了,试着用魔改的de4dot脱一下壳,没想到成功了 再放到dnspy里面,发现原
2020-06-03 Kevin。
算法之枚举(尺取法、前缀和、差分等) 算法之枚举(尺取法、前缀和、差分等)
时间复杂度T(n)表示法 时间复杂度是衡量程序的运行速度的量度,它在衡量的时候忽略了硬件的差异 它是一个定性描述程序运行时间的数据规模n的关系的函数,这个函数即程序执行基本操作(加减寻址赋值简单的数学函数等)的次数,记做T(n) for(
2020-05-24
2 / 3