摘要: 前言:欺骗单步步过F8导致程序跑飞的笔记 #单步步过跑飞的原理 我们这里说的跑飞就是在调试器中调试的时候为什么有时候在CALL F8的时候就会导致程序跑飞的现象 首先需要知道的一点就是F8单步步过CALL的简单实现,实际上是调试器会在CALL+5个字节,也就是调试器会帮你在CALL XXXX的地址的 阅读全文
posted @ 2020-02-13 20:31 zpchcbd 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 1、内存中的堆栈使用是先从 高位的地址 到 低位的地址 使用、存储的。 2、堆栈使用的时候,最后需要进行堆栈平衡,也就是去平衡ESP中寄存器存储的值 3、ESP寄存器中存储的值对应的就是当前堆栈使用的位置 4、如果当前的压入的堆栈数据(不是通过push指令)后面不需要的话,一般就是在sub esp, 阅读全文
posted @ 2020-02-13 17:08 zpchcbd 阅读(838) 评论(0) 推荐(0) 编辑
摘要: 比较简单,都作下记录吧! 数据存储存放的位置:寄存器、内存 形式一:立即数 形式二:[寄存器] 形式三:[寄存器+立即数] 形式四:[寄存器+寄存器 {1,2,4,8}] 形式五:[寄存器+寄存器 {1,2,4,8}+立即数] 阅读全文
posted @ 2020-02-13 15:06 zpchcbd 阅读(1309) 评论(0) 推荐(1) 编辑