- 博客(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 5238
转载 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 2463
转载 深入理解Windows X64调试
匠心深入理解Windows X64调试随着64位操作系统的普及,都开始大力进军x64,X64下的调试机制也发生了改变,与x86相比,添加了许多自己的新特性,之前学习了Windows x64的调试机制,这里本着“拿来主义”的原则与大家分享。本文属于译文,英文原文链接:http://www.codemachine.com/article_x64deepdive.html翻译
2016-07-24 20:30:51 2915
转载 匠心 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 284
翻译 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
原创 VS2013 查看汇编的方法
1:生成asm文件 项目->属性->c/c++->输出文件->汇编程序输出 在项目中会有生成后缀为*.asm 的文件。里面有注释,有利于程序分析。2:使用反汇编方式 点击调试->>>窗口->>反汇编 快捷键 CTRL+ALT+D
2016-07-03 09:40:37 5071
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人