大神论坛

找回密码
快速注册
查看: 1003 | 回复: 1

[语言编程类] 逆向脱壳之保护模式学习一 保护模式介绍

digest

主题

帖子

13

积分

初入江湖

UID
38
积分
13
精华
威望
26 点
违规
大神币
68 枚
注册时间
2021-05-03 08:20
发表于 2021-05-15 16:48
本帖最后由 dragon 于 2021-05-15 16:48 编辑

 逆向脱壳之保护模式学习系列

逆向脱壳之保护模式学习二 段寄存器

逆向脱壳之保护模式学习三 段描述符和段选择子

逆向脱壳之保护模式学习四 段描述符结构

逆向脱壳之保护模式学习五 段权限检查

逆向脱壳之保护模式学习六 代码跨段跳转

逆向脱壳之保护模式学习七 CALL 长调用与短调用


保护模式

x86 CPU的三种模式

x86 CPU有3种模式:实模式、保护模式和虚拟8086模式

现在的操作系统大多都是处于保护模式下

只需要明确一点:保护模式相比于其它两种模式,根本在于进程内存受到了保护上面只是简单列举了三种模式的一些区别,具体细节不作深入


x86和x64

想必不少人会疑问,现在大多数计算机都是x64的了,为什么还在讲x86?

因为x64是向下兼容x86的

  • x86:由Intel推出的一种复杂指令集,能够生产支持这种指令集CPU公司主要是Intel和AMD
  • x64:AMD在1999年的时候,拓展了这套指令集,称为x86-64,后改名为AMD64,Intel也兼容了这个产品,称为Intel 64.但AMD64和Intel64,几乎是一样的,所以在很多资料中统称为x64

什么是保护模式

保护模式是基于安全性和稳定性的考量而产生的一种CPU模式


保护模式的两大特点

前面说过保护模式区别于其它两种模式的根本是在进程内存

所以保护模式的两大特点也是基于内存的:

  • 段的机制(内存分段)
  • 页的机制(内存分页)

为什么要学习保护模式

因为现在的Window系统都是基于保护模式运作的

所以学习保护模式后才能真正地理解内核是如何运作的

并且通过保护模式的知识,可以实现 提权操作(在应用层做到内核层才能做的事)

不了解保护模式,就相当于写的程序不过是在调用WinAPI而已:在应用层(ring3)调用应用层API,在内核层(ring0)调用内核层API

并且由于保护模式对进程内存的保护,在学习它之后,能够对内存有进一步的认识


参考书籍

英特尔®64和IA-32体系结构软件开发人员手册合并卷

详细说明

本文档包含以下内容:

第1卷:介绍支持IA-32和Intel®64体系结构的处理器的体系结构和编程环境。

第2卷:包括完整的指令集参考AZ。描述说明的格式,并提供说明的参考页。

第3卷:包括完整的系统编程指南,第1、2、3和4部分。描述了Intel®64和IA-32体系结构的操作系统支持环境,包括:内存管理,保护,任务管理,中断和异常处理,多处理器支持,热和电源管理功能,调试,性能监控,系统管理模式,虚拟机扩展(VMX)指令,英特尔®虚拟化技术(英特尔®VT)和英特尔®软件保护扩展(英特尔®SGX) )。

第4卷:描述了支持IA-32和Intel®64体系结构的处理器的特定于模型的寄存器。

主题

帖子

0

积分

初入江湖

UID
97
积分
0
精华
威望
0 点
违规
大神币
68 枚
注册时间
2021-06-12 13:28
发表于 2021-06-12 13:45:40.0

返回顶部