自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (3)
  • 收藏
  • 关注

原创 Prefixes前缀

1:Prefixes前缀: 最多四个前缀,每个前缀只有1个字节,前缀间先后顺序无关,可以没有任何前缀 — Lock and repeat prefixes:• F0H—LOCK.• F2H—REPNE/REPNZ (used only with string instructions).• F3H—REP (use only with string instructio

2016-07-27 22:37:57 784

转载 段式管理的几个相关寄存器

/* author: mik  * project: pm_simulation (一个保护模式行为模拟器) *  * sregister.h 这个文件描述段管理的几个相关寄存器的结构 */  #ifndef __SREGISTER__#define __SREGISTER__ /* 选择子共16位长 */typedef struct selector

2016-07-24 21:02:38 620

转载 中断和异常

中断和异常中断和异常概述中断和异常的作用是指示系统中的某个地方发生一些事件, 需要引起处理器(包括正在执行中的程序和任务)的注意. 当中断和异常发生时, 典型的结果是迫使处理器将控制从当前正在执行的程序或任务转移到另一个历程或任务中去. 该例程叫做中断处理程序, 或者异常处理程序. 如果是一个任务, 则发生任务切换.1. 中断(Interrupt)中断包括硬件中断和软中断.

2016-07-24 21:01:10 5235

转载 TSS的定义

/* author: mik  * project: pm_simulation (一个保护模式行为模拟器) *  * tss.h 这个文件描述TSS块 */  #ifndef __TSS__#define __TSS__  /* 定义 TSS  */typedef struct TASK_STATE_SEG {    unsigned link

2016-07-24 20:55:44 797

转载 堆栈的切换

当目标代码执行完毕,需要返回控制权给原代码时,将产生返回控制权行为。返回控制权行为,比转移控制权行为简单得多。因为,一切条件已经在交出控制权之前准备完毕,返回时仅需出栈就行了。 1、 near call的返回近调用情况下,段不改变,即 CS 不改变,权限级别不改变。从栈中pop返回地址到EIP寄存器时,需进行 limit 的检查。 2、 直接控制权转移的返回(far cal

2016-07-24 20:53:17 1300

转载 进入保护模式

以下图2, 图4和图5截自Intel手册全局描述符表全局描述符表中存放着段描述符, 每个段描述符8个字节.为了跟踪全局描述符表, 处理器内部有一个48位寄存器, 叫做全局描述符表寄存器(GDTR), GDTR分为两部分,分别为32位的线性地址和16的边界, 32位线性基地址部分保存的是全局描述符表在内存中的起始线性地址, 16位边界部分是全局描述符表的边界(界限), 其值等

2016-07-24 20:48:52 1341

转载 存储器的保护

我们都已经知道, 在保护模式下, 代码段是不可写入的. 所谓不可写入, 并非是说改变了内存的物理性质, 使得内存写不进去, 而是说, 通过该段的描述符来访问这个区域时, 处理器不允许向里面写入数据或者更改数据. 但是, 很多时候又需要修改代码段, 如调试时加入断点指令int3. 不管怎么样, 如果需要访问代码段内的数据, 只能重新为该段安装一个新的描述符, 并将其定义为可读可写的数据段. 这样,

2016-07-24 20:47:27 756

转载 任务和特权级保护

任务和特权级保护目录(?)[+]本文为 第14章笔记任务的隔离和特权级保护任务, 任务的LDT和TSS程序是记录在载体上的指令和数据, 总是为了完成某个特定的工作, 其正在执行中的一个副本, 叫做任务(Task). 这句话的意思是说, 如果一个程序有多个副本正在内存中运行, 那么, 它对应着多个任务, 每一个副本都是一个任务. 为了有效的在任务之间实

2016-07-24 20:46:15 780

转载 x64内核内存空间结构

x64内核内存空间结构0x00 前言本文主要是讨论Windows 7 x64下的内核虚拟地址空间的结构,可以利用WiinDBG调试的扩展命令"!CMKD.kvas"来显示x64下的内核虚拟地址空间的整体布局。了解内核的地址布局在某些情况下是很有的,比如说在研究New Blue Pill的源码和虚拟化的时候。0x01 基本结构X64的CPU的地址为64位,但实际上只支持48位的虚

2016-07-24 20:32:23 2462

转载 深入理解Windows X64调试

匠心深入理解Windows X64调试随着64位操作系统的普及,都开始大力进军x64,X64下的调试机制也发生了改变,与x86相比,添加了许多自己的新特性,之前学习了Windows x64的调试机制,这里本着“拿来主义”的原则与大家分享。本文属于译文,英文原文链接:http://www.codemachine.com/article_x64deepdive.html翻译

2016-07-24 20:30:51 2911

转载 匠心 x64 结构体系下的内存寻址

欢迎转载,转载请注明出处:http://www.cnblogs.com/lanrenxinxin/p/4735027.html在阅读NewBluePill源码的时候,看内存的那一块简直头疼,全是x64下的寻址,之前根本就没有接触过x64的内存寻址上的内容,看的晕头转向,决定先把x64下的寻址给弄明白了再回过头来看NewBluePill的源码,然后在网上一顿找,居然没有找到关于x64寻址的博客或

2016-07-24 20:27:38 2183 1

转载 IIS是如何处理ASP.NET请求的

前言这不是一篇描述asp.net生命周期的文章,仅仅是关于IIS操作的。在我们开始之前,先了解这些会有助于对全文的理解,同时欢迎反馈和建议。什么是Web Server?每当我们通过VS运行ASP.NET网站时,VS集成的ASP.NET引擎会响应各种请求,这个引擎的名字叫“WebDev.WebServer.exe”。当我们配置一个Web程序时,总会涉及到一个词“Web

2016-07-23 14:09:21 431

原创 link

c++http://blog.csdn.net/ljianhui/article/details/45903939http://blog.csdn.net/column/details/cplusplusobjectmodel.html

2016-07-20 19:59:08 283

翻译 Bit and Byte Order

In illustrations of data structures in memory, smaller addresses appear toward the bottom of thefigure; addresses increase toward the top. Bit positions are numbered from right to left. Thenumeric

2016-07-17 17:23:27 360

原创 VC编译常用设置选项

1:设置字节对齐选项

2016-07-03 09:45:38 308

原创 VS2013 查看汇编的方法

1:生成asm文件  项目->属性->c/c++->输出文件->汇编程序输出     在项目中会有生成后缀为*.asm  的文件。里面有注释,有利于程序分析。2:使用反汇编方式 点击调试->>>窗口->>反汇编 快捷键 CTRL+ALT+D

2016-07-03 09:40:37 5071

最小操作系统制作过程

这是一个不错的资源 帮助那些想学习 并且想自己写操作系统的人员

2014-10-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除