WEB

WEB安全

漏洞复现

CTF

常用工具

实战

代码审计

Javaweb

后渗透

内网渗透

免杀

进程注入

权限提升

漏洞复现

靶机

vulnstack

vulnhub

Root-Me

编程语言

java

逆向

PE

逆向学习

HEVD

PWN

CTF

heap

Windows内核学习

其它

关于博客

面试

杂谈

CPU基础知识

常见的架构有2种

Risc架构

Cisc架构

Risc代表作类似手机,arm,主要目的是少耗电,降低功耗,可以工作更长的时间,CPU振动越快越耗电,Risc振动慢可以少耗电,Cisc也有低功耗的,如CPU最后出现U,V,Y都是代表低功耗

Risc主要用于嵌入式,手机,路由器,数控机

Risc指令集定长,指所有指定占字节数长度相同

Cisc指令集变长

最早的CPU是4位宽

之后慢慢发展8,16,32

4位都是unix和dos在使用还没有windows

8位的时候是有windows的,需要先启动dos再启动windows,基本没有窗口

8086 16位CPU ,出现段,windows在这个时候已经出现窗口了,20位线性地址

16位下使用实模式,都是物理地址,所有程序在同一内存中,可以修改段访问到别的进程,16位下地址运算段 地址*16+逻辑地址=线性地址

段地址的位置指向地址位置的开头

80286 16位,出现保护模式,只有段,没有页,不成熟

80386 32位,出现分页机制,段机制,权限机制已经成熟

WINNT之后4G内存,低2G内存是进程的,高2G内存是内核的,所有进程共享内核内存,因为进程需要通信所以共享,因为有页的存在所以正常情况下进程内存不能相互访问

4GB不是物理内存

低2G地址 0-0x7fffffff

高2G地址0x8000000-0xffffffff

因为有页保护所以正常不能访问到别的进程内存空间

段 是一种权限,主要是限制R3的各种资源,比如 mov cr4,eax 只能在内核修改,不允许在非特权的情况下执行该指令

类似IN OUT控制IO的指定也属于特权指令

16位下实模式有4个段 CS SS DS ES

这些用于寻址

在x86改为保护模式后意义已经不大,为了兼容汇编继续用起来,所以用于规划权限

x86有6个段,多了FS GS

1
2
3
4
CS:代码段	DS:作用于地址上 数据段	SS:描述栈内的数据	ES:额外段
FS:拓展,在windows的作用中应用层保存的是TEB的地址,内核中保存的是KPCR
一个线程有2个结构来描述,应用层用TEB描述,指线程环境块
GS: x86用不到