pushad与popad
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。2019-08-24,00:40:12
作者By-----溺心与沉浮----博客园
PUSHAD与POPAD
这两条指令其实就是讲EAX,ECX,EDX,EBX,ESI,EDI,ESP,EBP这8个寄存器的值分别入栈与出栈
为了方便演示,我们先把OD中红框部分,8个寄存器中的6个置位0x1,0x2,0x3,0x4,0x5,0x6,ESI与EDI不变,因为这两个是栈顶与栈底,这两个我们不对其进行改变,然后我们写入
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。2019-08-24,00:40:12
作者By-----溺心与沉浮----博客园
执行第一步代码,PUSHAD,观看内存中的变化
18FF8C使我们原本栈顶的位置,执行PUSHAD之后,ESP栈顶的值变为现在的18FF6C,仔细观看0x18FF8C到0x18FF6C之间的值,发现它将EAX,ECX,EDX,EBX,ESI,EDI,ESP,EBP这8个寄存器中的值全部压入了栈中
为了方便演示POPAD,我们将EAX,ECX,EDX,EBX,ESP,EBP这6个寄存器的值全部更改为0
按F8执行POPAD
可以发现,ESP栈顶的值又恢复成原来的栈顶的值0x18FF8C,寄存器中的值也恢复成之前的值。
文章到此就结束了,这篇文章就只是简单介绍了,PUSHAD与POPAD的使用,如果你需要深入了解,建议去百度搜索一下,如果读者对我之前PUSH,POP文章有了解过,并动手操作过PUSH于POP其他形式的执行过程,那么你就可以简单认知PUSHAD与POPAD了,
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。2019-08-24,00:40:12
作者By-----溺心与沉浮----博客园
最新文章
- 转: CentOS安装jdk8
- 自己yy的fulkson最大流算法
- php基础23:数值与数值函数
- 浅谈Dynamic 关键字系列之一:dynamic 就是Object(转)
- Google Code Jam 2009, Round 1C C. Bribe the Prisoners (记忆化dp)
- JS分段上传文件(File)并使用MD5.js加密文件段用来后台校验
- 1032 - Intersecting Dates
- [Javascript] Automating Releases with semantic-release
- IT运维外包甩不掉的包袱
- php+mysql 除了设置主键防止表单提交内容重复外的另一种方法
- javascript中DOM集锦(二)
- phpstudy最新版中php5.6版报错
- Shell脚本的基本流程控制
- 部署 apply plugin: 'realm-android'
- windows核心编程
- 工作总结(一):Linux C
- 利用OSG实现模拟飞机尾迹-粒子系统
- 1001. [BJOI2006]狼抓兔子【最小割】
- Redis自学笔记 --string类型
- Nginx+SpringBoot搭建负载均衡