逆向工程核心原理学习笔记(十三):分析abex' crackme #1 的延伸:将参数压入栈
来源:互联网 发布:淘宝旺旺怎么改名字 编辑:程序博客网 时间:2024/06/08 08:41
还是上一次的abex' crackme #1,我们用OD附加看一下。
我们发现在调用这个MessageBox函数的时候,用了4个PUSH指令,我们在后面的注释中可以清楚的看到压入参数的内容。
如果我们将它还原成C语言的形式,是这样的:
我们可以清楚的看到汇编代码中压入参数的顺序和我们写代码时候的顺序恰恰是相反的。
这是因为栈内存结构先入后出的原则,如果要想让C代码中的参数正序弹出来,就必须汇编中逆序压进去。
此时,我们可以试着查看一下栈顶指针ESP的变化。
此时右边寄存器区域ESP:0019FF84
然后我们按F8,一直到第一个call.
此时ESP为0019FF74
相减相差0x10. 十进制相差16.
阅读全文
0 0
- 逆向工程核心原理学习笔记(十三):分析abex' crackme #1 的延伸:将参数压入栈
- 逆向工程核心原理学习笔记(十三):分析abex' crackme #1 的延伸:将参数压入栈
- 逆向工程核心原理学习笔记(十二):分析abex' crackme #1
- 逆向工程核心原理学习笔记(十二):分析abex' crackme #1
- 逆向工程核心原理学习笔记(二十六):abex'crackme #2 name的存取
- 逆向工程核心原理学习笔记(二十四):abex'crackme #2 初探
- 逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解
- 逆向工程核心原理学习笔记(二十七):abex'crackme #2 破解算法
- 《逆向工程核心原理》<01-08> abex` crackme #2 -Check按钮处理代码的部分分析
- 逆向工程核心原理学习笔记(十四):栈帧1
- 逆向工程核心原理学习笔记(十四):栈帧1
- 逆向工程核心原理学习笔记(二十一):栈帧8:删除函数add()的参数(整理栈)
- 逆向工程核心原理学习笔记(十六):栈帧3:add()函数参数传递与调用
- 逆向工程核心原理学习笔记(七):总结
- 逆向工程核心原理学习笔记(十一):栈
- 逆向工程核心原理学习笔记(七):总结
- 逆向工程核心原理学习笔记(十一):栈
- 逆向工程核心原理学习笔记(一):寻找程序的主函数(Main)
- SpringBoot框架下基于Junit的单元测试
- CentOS7安装Hadoop2.7.3完整步骤
- Java获取当前操作系统的信息
- kali 源更新
- apiCloud小结
- 逆向工程核心原理学习笔记(十三):分析abex' crackme #1 的延伸:将参数压入栈
- 数据结构实验——查找的有关操作
- java实现后端接口加密
- 逆向工程核心原理学习笔记(十四):栈帧1
- 浅谈java动态代理
- 本博客的主要更新已经迁至新站
- Git简明教程
- phpcms项目从本地上服务器。后台验证码失效,屏蔽验证码或者安装GD库就可以了
- 系统操作日志的实现原理