- 博客(6)
- 收藏
- 关注
原创 Give it to u——Ucore Lab2 with challenge
利用我们在前两节实现的ucore代码来举例,在内核中,有一个全局的双向链表头free_area,串联所有的空闲空间,在申请内存块时,内核遍历从free_area开始的双向链表找到合适(我们的代码中为first-fit)的内存块取出;在释放内存块时检查前后合并,然后将对应的Page放入链表。Buddy System是在此基础上发展出的管理模式,它将free_area变成了链表头的数组,每个链表头连接的是一系列大小相同的连续内存块,并且大小只能是2的幂次方个Page。
2022-11-02 01:01:45 330
原创 内核Pwn——LKM初探
笔者水平所限,关于linux是如何实现设备文件化以及如何实现LKM的没能深入探究,本节着重于「如何使用」的实用角度来了解LKM。后续如果笔者水平有所提高,会从更加细致的角度来进行探究。
2022-10-27 10:46:09 2483
原创 How we begin?——Ucore Lab1 with challenge
ucore项目的开始,内容包括如何分析makefile,如何调试QEMU中的客户系统,如何分析保护模式,如何进行偷懒式的特权级切换,如何设置IDT。
2022-10-09 21:44:51 569 1
原创 利用masm32输出PE文件头的基本属性
利用masm32输出PE文件头的基本属性文章目录利用masm32输出PE文件头的基本属性一、masm32中的INVOKE二、PE头格式三、读取代码注:本文章作者水平较低,本文仅为作者自主实验时的学习笔记,如有不妥之处,还请指正,文中斜体皆为参考权威书籍参考:《X86汇编语言》王爽《加密与解密》第四版《逆向工程核心原理》工具:PEView,ollydbg,masm32环境一、masm32中的INVOKEINVOKE伪指令仅在32位的情况下使用,将参数逆序(与声明参数顺序相反)入栈,它是cal
2021-11-02 14:16:01 1496 4
原创 汇编语言将十进制字符串转为十六进制
汇编语言将十进制字符串转为十六进制Author:Em1yaPart1:Str to hex基本思路:将10进制字符串的每一个字符提出,减去0x30转化位该位对应的数值,将数值与原结果10相加例如:1234的分解成为1+010=1,2+110=12,3+1210=123,4+123*10=1234,在加完之后存入寄存器,就自动变成十六进制数Part2:hex to Str对于1步骤后的00000064,我们做如下处理先将该数右移至最低的十六进制位为我们想要提取的位所以,对于倒数第i项(i从0
2021-10-20 00:08:09 9120 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人