如果一个计算机系统有多个用户,并且允许多个进程并发执行,那么数据访问应当加以控制。为此,可以通过机制确保只有经过操作系统授权,进程才可使用相应资源,如文件、内存、CPU 及其他资源。

因此,保护(protection)是一种机制,用于控制进程或用户访问计算机系统的资源。这种机制必须提供手段,以便指定控制和实施控制。


1、我们知道现在的操作系统,为了隔离应用程序,使用了虚拟内存技术。

2、为了保护操作系统,使用段技术,将应用程序隔离在ring3中

3、下面的技术,我们了解即可。


逆向调试入门-windows保护机制_逆向调试基础



1、实模式


运行在CPU指令层面。在计算机上面,实模式存在的时间非常之短,所以一般我们是感觉不到它的存在的。CPU复位(reset)或加电(power on)的时候就是以实模式启动,在这个时候处理器以实模式工作,之后一般就加载操作系统模块,进入保护模式。


逆向调试入门-windows保护机制_逆向调试基础_02


2、保护模式


当电脑启动后,CPU从实模式,加载初步设置,然后进入保护模式,给用户对内存数据的各种操作加上了限制.


 注:Windows系统都是工作在保护模式下的,无论是高2G系统空间,还是低2G用户空间,都是在保护模式下运行的。


逆向调试入门-windows保护机制_逆向调试基础_03


3、虚拟内存


虚拟内存是计算机系统内存管理的一种技术。当系统物理内存不够使用时,将硬盘上的部分空间当做内存(RAM)使用,使得计算机可以运行更多的应用程序。


虚拟内存是系统作为内存使用的一部分硬盘空间。Windows系统中,虚拟内存在硬盘上是为一个比较大的文件,文件大小即虚拟内存的大小,文件名是PageFile.Sys,在文件资源管理器中默认是隐藏的。必须关闭隐藏功能才能看到这个文件。这也是虚拟内存有时也被称为页面文件的原因。


逆向调试入门-windows保护机制_逆向调试基础_04



4、文件保护


操作系统的核心文件非常重要, 如果被改写可能会引起严重后果. Win 引入文件保护( Windows File Protection, WFP)机制.

    WFP 保护特定的文件类型, 如扩展名为 SYS, EXE, DLL, OCX, FON 和 TTF 的系统文件.

    当一个应用程序试图替换一个受保护的文件时, WEP检查替换文件的数字签名, 判断此文件是否来自微软, 以及是否与数据库中所保存的信息一致. 如果这两个条件都符合, 则允许替换.

    如果该文件不符合上述条件, Win 会提示用户, 受保护文件将被新文件替换. Win 很快会将正确的文件从 DLLCache 或 CD 替换回来.

    WEP 监视核心目录中的文件列表, 当发现其中的文件不完整时, 会自动从操作系统备份文件夹中将副本复制到原文件夹中.


逆向调试入门-windows保护机制_windows保护机制_05


5、OEP


EP(Entry Point),意即程序的入口点。而OEP是程序的原始入口点,一个正常的程序只有EP,只有入口点被修改的程序(加壳等),才会拥有OEP。


这个OEP对逆向调试程序来说很重要。