会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
宇宙超级无敌小绿
博客园
首页
新随笔
联系
订阅
管理
2022年5月22日
x64 ShellCode 弹出计算器
摘要: Main.cpp extern "C" void PopCalculator(); extern "C" void _INT3(); int main() { _INT3(); PopCalculator(); return 0; } Code.asm PopCalculator proto _IN
阅读全文
posted @ 2022-05-22 10:24 HyperVS
阅读(2812)
评论(0)
推荐(0)
2021年12月3日
FastIo声明和定义
摘要: Fastio.h 1 #pragma once 2 #include "Header.h" 3 4 5 BOOLEAN FastIoCheckIfPossible( 6 _In_ struct _FILE_OBJECT* FileObject, 7 _In_ PLARGE_INTEGER FileO
阅读全文
posted @ 2021-12-03 15:59 HyperVS
阅读(123)
评论(0)
推荐(0)
2021年11月7日
信息摘要算法——SHA-1(OpenSSL源码注释)
摘要: 我是小绿,研究了一下OpenSSL中SHA-1算法的实现流程。 我并没有去深究加密细节(如,某个哈希常量为什么是这个数字、为什么要在这里左移多少多少位),因为完全没有必要,发明者发明它享受荣誉,使用者使用它享受便捷。我是使用者,就是这样。 SHA/MD5加密流程: 01. 分块 02. 补位 03.
阅读全文
posted @ 2021-11-07 21:51 HyperVS
阅读(1032)
评论(0)
推荐(0)
2021年10月31日
内存管理——分页机制的启用
摘要: 所有内容均翻译自 Intel CPU 手册,再经过整理,难免有误,见谅。 32位分页模式:CR0.PE=1, CR0.PG=1, CR4.PAE=0 PAE分页模式:CR0.PE=1, CR0.PG=1, CR4.PAE=1, IA32_EFER.LME=0 4级分页模式:CR0.PE=1, CR0
阅读全文
posted @ 2021-10-31 19:47 HyperVS
阅读(124)
评论(0)
推荐(0)
内存管理——描述符表
摘要: 所有内容均翻译自 Intel CPU 手册,再经过整理,难免有误,见谅。 段描述符表是一个段描述符数组。最多可容纳8192(2^16 / 8)个8字节的描述符。分为GDT和LDT。GDT为整个软硬件系统服务,由操作系统定义,管理所有用户程序。 # 进入保护模式之前必须先定义GDT表。由于是在实模式下
阅读全文
posted @ 2021-10-31 19:41 HyperVS
阅读(184)
评论(0)
推荐(0)
内存管理——段描述符结构中的Type字段
摘要: 所有内容均翻译自 Intel CPU 手册,再经过整理,难免有误,见谅。 Type 是什么取决于S位。 S=1: - 当S=1,表示该段描述符是一个代码段描述符(高位=1)或者数据段描述符(高位=0)。 # 对于数据段,低三位是A(是否访问过)、W(是否可写)、E(扩展方向)。堆栈段属于数据段,必须
阅读全文
posted @ 2021-10-31 19:32 HyperVS
阅读(470)
评论(0)
推荐(0)
内存管理——段描述符
摘要: 所有内容均翻译自 Intel CPU 手册,再经过整理,难免有误,见谅。 段描述符是位于GDT或LDT中8字节的项,给处理器提供一个段的位置、界限、访问特权级等信息。 段描述符的结构: # G:粒度标志。Segment Limit 字段的大小比例。G=0,Segment Limit 以字节为单位;G
阅读全文
posted @ 2021-10-31 19:21 HyperVS
阅读(638)
评论(0)
推荐(1)
内存管理——段选择符
摘要: 所有内容均翻译自 Intel CPU 手册,再经过整理,难免有误,见谅。 通过段选择符可以找到某个段的段描述符。 段选择符的结构: # Index:在GDT或LDT中的位置索引。处理器将此索引乘以8,再加上GDTR或LDTR中的基址就可以找到对应的段描述符。# TI:表示描述符表。TI=0,GDT;
阅读全文
posted @ 2021-10-31 19:12 HyperVS
阅读(168)
评论(0)
推荐(0)
内存管理——段寄存器
摘要: 所有内容均翻译自 Intel CPU 手册,再经过整理,难免有误,见谅。 CS,SS,DS,ES,FS,GS # 段寄存器分为可见部分和隐藏部分(描述符高速缓存器)。在保护模式下,当段选择符装载入段寄存器的可见部分的时候,处理器会从该段选择符指向的段描述符中,将段基址、段界限、访问权限装载入不可见部
阅读全文
posted @ 2021-10-31 19:06 HyperVS
阅读(293)
评论(0)
推荐(0)
内存管理——逻辑地址与线性地址
摘要: 所有内容均翻译自 Intel CPU 手册,再经过整理,难免有误,见谅。 逻辑地址:段起始地址与偏移的组合。 线性地址:在没有开启分页机制的情况下,线性地址就是物理地址。 开启分页机制的情况下,处理器得到物理地址需要两步: 01. 通过逻辑地址找到线性地址: 02. 将线性地址转换为物理地址,例如:
阅读全文
posted @ 2021-10-31 18:57 HyperVS
阅读(324)
评论(0)
推荐(0)
下一页