新手逆向(3)——部分知识储备

小端序和大端序

  • 大端序:高位字节保存在内存的低位地址
  • 小端序:高位字节保存在内存的高位地址
    例如:
    0x12345678,其高位为0x12,低位为0x78;

大端序:
地址         数据

00401008(高地址)   0x78

00401006      0x56

00401004      0x34

00401002(低地址)   0x12

小端序:
地址         数据

00401008(高地址)   0x12

00401006      0x34

00401004      0x56

00401002(低地址)   0x78

IA-32寄存器

寄存器:是CPU内部存放数据的一些小型区域与RAM(随机存储器)略有不同。CPU访问RAM时经过较长的物理地址,所需时间长;而寄存器集成在CPU内部,读写速度快。
IA-32寄存器是英特尔推出的32位元架构;由4类寄存器组成:

  • 通用寄存器(32位,8个)
  • 段寄存器(16位,6个)
  • 程序状态与控制寄存器(32位,1个)
  • 指令指针寄存器(32位,1个)

1.通用寄存器
EAX:累加器
EBX:基址寄存器
ECX:计数器
EDX:数据寄存器
以上四个主要用于算术运算(ADD,SUB,XOR,OR等),常用于保存常量或变量的值。
EBP,ESI,EDI,ESP就不做多解释(主要也都看不懂),主要作用如下:
ESP表示栈区域的栈顶指针;
EBP表示栈区域的基地址;
EDI与ESI与特定指令使用(LODS,STOS,REP,MOVS等),主要用于内存复制。

2.段寄存器
CS:代码段寄存器
SS:栈段寄存器
DS,ES,FS,GS:数据段寄存器

3.程序状态与控制寄存器:EFLAGS:标志寄存器

  • ZF  若运算结果为0,则其值为1(True),否则其值为0(False)
  • OF  有符号整数溢出时,OF置1;MSB(最高有效位)改变时,OF置1
  • CF  无符号整数溢出时,其值置1

4.指令指针寄存器:EIP
EIP中保存着CPU要执行的指令

这个没什么好说的,就是按FILO(First In Last Out,后进先出)原则存储数据

这一篇就是简单地了解一下以后所需知识

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值