逆向工程(三)——IA-32寄存器学习

逆向工程(三)——IA-32寄存器学习

基本程序运行寄存器

名称种类
通用寄存器EA/B/C/DX,ESI,EDI,EBP,ESP
段寄存器C/D/S/E/F/GS
程序状态与控制寄存器EFLAGS
指令指针寄存器EIP

寄存器前有E存在,表示该寄存器在IA-16时就有,并且在IA-32时扩展到了32位

1.通用寄存器:
  • 用于保存常量和地址以及传送和暂存数据,也可参与算术逻辑运算并保存结果。
  • ESP表示栈区域的栈顶指针,PUSH,POP,CALL,RET可直接操作ESP
  • EBP表示栈区域基地址,函数被调用时保存ESP的值,函数返回时再把值返回给ESP,用来保证栈不会崩溃。
    通用寄存器
2.段寄存器:
  • 段是一种内存保护技术,段寄存器描述了保护模式下内存分段模型。
  • CS:代码段寄存器
  • SS:栈段寄存器
  • DS:数据段寄存器
  • ES:附加段寄存器
  • FS:数据段寄存器
  • GS:数据段寄存器
3.EFLAGS寄存器:

EFLAGS寄存器

  • ZF:运算结果为0,值为1,否则为0
  • OF:有符号整数溢出时OF=1
  • CF:无符号整数溢出CF=1
  • 待续
4.指令指针寄存器:
  • 保存CPU要执行的指令的地址
  • 不可以直接修改EIP的值,只能通过其他指令间接修改,JMP,CALL,RET等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值