1、堆栈相关指令 push:把一个32位的操作数压入堆栈中。这个操作导致esp被减4。esp被形象地称为栈顶。我们认为顶部是地址小的区域,那么,压入堆栈的数据越多,这个堆栈也就越堆越高,esp也就越来越小。在32位平台上,esp每次减少4(字节)。 pop:相反,esp被加4,一个数据出栈。pop的 ...
分类:
编程语言 时间:
2018-05-19 16:56:33
阅读次数:
192
https://diyprojects.io/esp8266-web-server-tutorial-create-html-interface-connected-object/#.WvmyXChubIU ...
分类:
其他好文 时间:
2018-05-15 01:43:18
阅读次数:
127
函数在内存中到底是怎么经过一系列过程调用的呢? 指针寄存器esp,ebp1. 首先先搞清楚函数调用中两个非常重要的指针寄存器esp,ebp。对这两个寄存器的一些理解:esp为栈指针,用于指向栈的栈顶ebp为帧指针,指向栈的栈底。 函数栈帧2. 函数调用过程中需要开辟空间,用于本次函数的调用中临时变量 ...
分类:
编程语言 时间:
2018-05-06 00:12:10
阅读次数:
175
一.函数调用 1.函数调用过程涉及到的寄存器: (1)esp:栈指针寄存器(extended stack pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的栈顶。 (2)ebp:基址指针寄存器(extended base pointer),其内存放着一个指针,该指针永远指向系 ...
分类:
其他好文 时间:
2018-05-05 11:19:07
阅读次数:
176
ESP定理脱壳: (1)开始就点F8,注意观察OD右上角的寄存器中ESP有没突现(变成红色)(这只是一 般情况下,更确切的说我们选择的ESP值是关键句之后的第一个ESP值) (2)在命令行下:dd XXXXXXXX(指在当前代码中的ESP地址,或者是hr XXXXXXXX), 按回车 (3)选中下断 ...
分类:
其他好文 时间:
2018-05-03 22:02:06
阅读次数:
209
#include<stdio.h>#include"freertos/FreeRtos.h"#include"freertos/task.h"#include"esp_system.h"#include"esp_spi_flash.h" void app_main(){ printf("hellow ...
分类:
其他好文 时间:
2018-05-01 20:34:27
阅读次数:
919
练习地址:https://exploit-exercises.com/protostar/ 我们知道,当程序执行进入一个新的函数时,系统会为函数在栈上分配一块空间,用来存储函数中使用的参数和局部变量信息,用寄存器ESP和EBP指示空间范围,当从函数返回时,这块空间也会被抛弃,实际上就是修改ESP和... ...
分类:
其他好文 时间:
2018-04-30 16:42:52
阅读次数:
224
ESP定律是比较常用的脱壳方式,作为新手用的也比较多简单写一下我的看法。 esp定律的使用过程大致为: 1.开始就点F8,注意观察OD右上角的寄存器中ESP有没突现(变成红色),并且只有sp和ip为红色。 2.Command窗口中输入dd 0012FFA4 后回车,跟随esp寄存器后的地址。 3.选 ...
分类:
其他好文 时间:
2018-04-20 00:13:24
阅读次数:
189
delphi: 55 PUSH EBP 8BEC MOV EBP,ESP 83C4 F0 ADD ESP,-10 B8 A86F4B00 MOV EAX,PE.004B6FA8vc++ 55 PUSH EBP 8BEC MOV EBP,ESP 83EC 44 SUB ESP,44 56 PUSH E ...
分类:
其他好文 时间:
2018-04-20 00:12:43
阅读次数:
237
1、了解启动的顺序 电脑开机 > BIOS 设置 > 硬盘(MBR)/ GPT格式里的ESP分区 > (UEFI/GRUB)目录里的 *****.efi >选择启动文件BCD/WINDLOAD.efi > 硬盘的分区以及系统文件进行启动。 大体的计算机启动顺序是如此的 2、我们平时安装单一的计算机操 ...
分类:
Windows程序 时间:
2018-04-16 23:47:40
阅读次数:
1242