1 CPU组成
CPU大致能够 分为下列三一部分
(1) 算数逻辑性一部分ALU(arithmetic logic unit),用于开展算数和或运算
(2) 操纵逻辑性。
(3) 工作中寄存器,每一个寄存器等同于运算器中的一个数据存储器,但它存取速度快。用于储放计算全过程中的必须或获得的各种各样信息,包含操作数详细地址、操作数及计算的正中间結果。
2 电子计算机中数据储存方法
在电子计算机中,一个二进制数占有一位,八位是一个字节。
在计算机内存中,便是以字节数为企业来储存信息的。电子计算机给每一个字节模块分派一个唯一的储存器详细地址,称之为MAC地址。当必须浏览相对的运行内存的数据信息时,便是根据这一详细地址。
一个二进制能够 表述全部的ASCII,即一个运行内存模块能够 储存一个英文字符或数据等。而汉语得用Unicode表明,也就是必须2个字节数模块才可以装一个中国汉字。
十六位便是2个字节数,才可以装一个中国汉字。三十二位可装2个中国汉字称为双幕。六十四位可装四个中国汉字称为四字。
3 基础寄存器
3.1通用性寄存器(32位系统
通用性寄存器一共有八个:EAX、EBX、ECX、EDX、ESP、EBP、EDI、ESI
在其中EAX、EBX、ECX、EDX称之为数据信息寄存器,用以储放测算全过程中常用操作数、結果或别的信息。除开立即浏览外,还可各自对其高十六位和低十六位,他们的低十六位便是把他们前面儿的E除掉,即EAX的低十六位便是AX。并且他们的低十六位又可以各自开展八位浏览,换句话说,AX还能够再开展溶解,即AX还可分成AH(高八位)AL(低八位)。
高16位
EAX 高八位(AH)
低16位(AX)
低八位(AL)
则实际操作32位系统数时能用:MOV EAX
则实际操作16十位数时能用:MOV AX
则实际操作八位数时能用: MOV AH / MOV AL
备注名称:从386之后,全部寄存器都能够用于储存内存地址。在破译的情况下是否见到过[EBX]那样的方式呢?换句话说这时EBX上装的是一个内存地址,而真实要浏览的,便是那哪个运行内存模块中所储存的值。
ESP、EBP、EDI、ESI四个寄存器适用范围便是在储存器寻址方式时,出示偏位详细地址。因而,他们能够 称之为表针或变址寄存器。
ESP称之为堆栈表针寄存器。堆栈是以“后进先出”方法工作中的一个储存区,它务必存有于堆栈段中,因此其段详细地址储放于SS寄存器中。它只有一个进出口,因此 只有一个堆栈表针寄存器。ESP的內容在任何时刻都偏向当今的栈顶。破解入门(一)     常用寄存器介绍(图文) 破解入门 常用寄存器 加密解密  第1张
当向堆栈高压入数据信息时,ESP会往上挪动,应用PUSH指令,ESP转变为:ESP - 数据信息十位数。
当向堆栈中压出来数据信息时,ESP会向下移动,应用POP指令,ESP转变为:ESP 数据信息十位数
EBP,它称之为基址表针寄存器,他们都能够与堆栈段寄存器SS联用于明确堆栈中的某一数据存储器的详细地址,ESP用于标示段顶的偏位详细地址,而EBP可做为堆栈区中的一个基详细地址便于浏览堆栈中的信息。
ESI(源变址寄存器)和EDI(目地变址寄存器)一般与数据信息段寄存器DS合用,用于明确数据信息段中某一数据存储器的详细地址。这两个变址寄存器有全自动增加量和全自动减药的作用,能够 很便捷地用以变址。在串解决指令中,ESI和EDI做为暗含的源变址和目地变址寄存器时,ESI和DS合用,EDI和额外段ES合用,各自做到在数据信息段和额外段中寻址方式的目地。
3.2 专用型寄存器
专用型寄存器,有两个,一个是EIP,一个是FLAGS。
EIP算作全部寄存器中最重要的一个了。它的意思便是指令表针寄存器,它用于储放代码段中的偏位详细地址。在程序执行的全过程中,它自始至终偏向下一条指令的首详细地址。它与段寄存器CS合用明确下一条指令的MAC地址。当这一详细地址送至储存器后,控制板能够 获得下一条要实行的指令,而控制板一旦获得这条指令就立刻改动EIP的內容,使它自始至终偏向下一条指令的首详细地址。由此可见,电子计算机便是用EIP寄存器来操纵指令编码序列的实行步骤的。 这些自动跳转指令,便是根据改动EIP的值来做到相对的目地的。
FLAGS,标示寄存器,又被称为PSW(program status word),即程序流程情况寄存器。这一个是储放标准标示码、操纵标示和系统软件标示的寄存器。
下边有一个事例
Cmp EAX,EBX ;用EAX与EBX做差
JNZ 00470395 ;不相同得话,就跳到这儿;
这两根指令非常简单,便是用EAX寄存器装的数减掉EBX寄存器上装的数。来较为这两个数是否相同,当Cmp指令实行之后,便会在FLAGS的ZF(zero flag)零标志寄存器上置相对值,假如結果为0,也就是她们2个相同得话,ZF置1,不然置0。其他也有OF(外溢标示)SF(标记标示)CF(进位标示)AF(輔助进位标示)PF(奇偶数标示)等。
3.3 段寄存器
段寄存器一共六个,分别是CS代码段,DS数据信息段,ES额外段,SS堆栈段,FS及其GS这两个還是额外段