笔记
学习最新前沿软件逆向安全技术、游戏安全辅助脚本技术,B 站 小迪 xiaodi 老师
微信 i-xiaodi
1. 栈结构
![图片[1]-x86/x64汇编基础08.汇编基础4:栈结构-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/9b6cde7b0c2bbdaf27f608d7db8fb27ea3d30fc3c3041809dbd82983bd15981fe46532eac303fd392d1683911b948a32?pictype=scale&from=30013&version=3.3.3.3&fname=1.png&size=750)
- 栈是一种有序的数据结构,只有一个出口。
- 数据只能在栈的顶端插入(入栈)或删除(出栈)。
- 最后进入的数据最先被取出:先进后出
- 子弹先压上去(入栈)。
- 开枪时从最上面弹出(出栈)。
2. 栈的基本操作
- Push(入栈):
-
- 将数据压入栈顶。
- Pop(出栈):
-
- 将栈顶数据移除并返回。
-
![图片[2]-x86/x64汇编基础08.汇编基础4:栈结构-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/2ede8679efb067d80eb5ce74e2f5dba93886ab1a08b952b865d63ea726840675745e5fbf2ccace992350a10bacb81425?pictype=scale&from=30013&version=3.3.3.3&fname=2%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
放入数据后,都是 ESP 在变化,EBP 就是地基
3.栈地址变化须知
如果不断的 push 数据,
我们发现栈地址是不断的变小的,
不断的向上堆积,并且变小
![图片[3]-x86/x64汇编基础08.汇编基础4:栈结构-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/7a78770ec875944af5ff2e763d997009b4976ef4ed52d71c3ca8e1567b02b4633b25d4c0b331c17838207d912ef88a4f?pictype=scale&from=30013&version=3.3.3.3&fname=3%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
所以 POP 数据,栈地址会变大,堆积的部分会依次 下沉
作业
大家请提交在评论区或者群聊
已知格式
push 3
push eax
的过程解析为:
先 ESP = ESP – 4
再修改 [ESP] 为 3
堆栈图为:
![图片[4]-x86/x64汇编基础08.汇编基础4:栈结构-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/9c080000154d11c3db47817511479abc6193bec0abe1ce7e98e597d4e694600ab1ea6e0662eb4dfdb6664dcf6eaa3ecd?pictype=scale&from=30013&version=3.3.3.3&fname=4.png&size=750)
对如下题目作答:
1.
push eax
push ebx
push 0x00401000
解析上述栈的情况(可只画图解释说明)
2.pop 的原理是从栈中拿出数据,并存到指定的寄存器中,如
push eax
push 1
pop ebx ; 弹出 1 到 ebx
pop ecx ; 弹出 eax 的值到 ecx
![图片[5]-x86/x64汇编基础08.汇编基础4:栈结构-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/7f06f80bdc5de301bc014fa3dc67bc50476ea97b6c04d87c2fcd944fa564c526e8a3104a34f749ff6b7abf9c04ce7034?pictype=scale&from=30013&version=3.3.3.3&fname=5.png&size=750)
依据此知识,描述一下如何弹出第一题中的栈数据,注意先后顺序,并画出堆栈图
3.随便拖入数据,单步执行,观察 push 数据,堆栈窗口的变化



