E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
ebp
pwn----medium_ROP(二)
然后发现....用别人集成的东西真好,用ida真好复述一下原理判断栈溢出长度暴力枚举StackReading获取栈上的数据来泄露canaries,以及
ebp
和返回地址。
·
2021-03-14 06:59
安全ctf
pwn----做题记录_get_started_3dsctf_2016
int__cdeclmain(intargc,constchar**argv,constchar**envp){charv4;//[esp+4h][
ebp
-38h]printf("Qualapalavrinhamagica
·
2021-03-14 06:48
安全ctf
ciscn_2019_es_2的wp
32位,看看函数主体read函数0x30只能刚好覆盖
ebp
和ret。所以我们要用到栈迁移栈迁移核心思想就是利用leave和ret转移
ebp
和esp。
武文定
·
2021-02-16 14:41
buuoj Pwn writeup 11-20
栈溢出之后一般32位程序
ebp
之后就是返回地址,但是在32的main函数中,
ebp
之后先是三个参数,然后才是返回地址,因为getflag函数中传入了参数并且对参数有判断,所以在
yongbaoii
·
2021-01-31 11:12
CTF
安全
攻防世界-wp-PWN-新手区-2-level2
就可以了题目场景:220.249.52.133:56257题目附件:1ab77c073b4f4524b73e086d063f884e题目思路:构造出0x88长度的buf数据,再输入4个长度的垃圾数据以覆盖
ebp
Scorpio_m7
·
2021-01-25 23:14
pwn
安全
汇编
13内存地址的5种形式14小端存储模式15常用汇编指令16常用汇编指令17堆栈18修改EIP的指令19反调试之FakeF820汇编眼中的函数21通过堆栈形式传递参数22堆栈平衡23外挂24ESP寻址25
EBP
天天学姐_TianTian
·
2021-01-18 20:48
汇编
堆栈
反汇编版+内存版栈结构
正常下:
EBP
:为上一层函数栈底
EBP
+4:进入call下一条执行指令地址,也可以叫做返回地址
EBP
+8:从左往右看的话算是第一个参数(如果这个函数是有参数的话)
EBP
+0c:第二参数(如果这个函数是有参数的话
ADADQDQQ
·
2020-12-31 01:24
Linux: SegV在__strcpy_sse2 函数
RegisterDump:GS=00000063FS=00000000ES=0000002bDS=0000002bEDI=f0e9a1b8ESI=f0e9a11cEBP=f0ec8018ESP=f0e99e4c///
EBP
-ESP
mzhan017
·
2020-11-27 05:54
笔记
linux
glibc
BUUCTF_[ACTF新生赛2020]easyre
,有壳:是exe文件,直接脱壳:找到main函数:int__cdeclmain(intargc,constchar**argv,constchar**envp){charv4;//[esp+12h][
ebp
ZYen12138
·
2020-11-05 22:36
#
BUUCTF
CTF
地址、指针和引用
对变量取地址使用“&”符号指针:TYPE*定义指针,TYPE为数据类型引用:TYPE&定义引用,TYPE为数据类型地址和指针c代码汇编13intnVar=0x12345678;movdwordptrss:[
ebp
-C
Justin_901e
·
2020-10-11 03:58
汇编第2课(下):通用寄存器
二、指针寄存器(PointerRegister)80386架构中的指针寄存器有基址寄存器
EBP
、堆栈指针寄存器ESP和指令指针寄存器EIP。
絕代シ風華
·
2020-10-05 15:12
汇编语言
请顶流主播就能卖光库存?品牌商可不是冤大头
记者|谷晓丹编辑|陈锐本文节选于《第一财经》杂志2020年8月刊今年6·18结束后,电通安吉斯旗下专注电商业务的代理公司
EBP
为自己服务的品牌做了一次业绩复盘,考核它们在活动期间各类投入的投资回报率(ROI
第一财经周刊
·
2020-09-21 00:00
《自制编译器》读书笔记Part1
但是美中不足的地方也有很多,比如这本书中存在着一些错误(也可能是我理解上的问题),我读了很多遍还是觉得有问题,比如“push和pop指令操作了
ebp
寄存器”,这明显和前
kolibreath
·
2020-09-19 15:26
程序语言的底层描述(2)——栈指针esp和帧指针
ebp
程序语言的底层描述(2)——栈指针esp和帧指针
ebp
2014年10月11日17:43:57coreyspomu阅读数:3062更多个人分类:信息标识和处理本节我们重点讨论栈指针esp和帧指针
ebp
,围绕这两个重要的寄存器
weixin_41632560
·
2020-09-17 13:52
带你学习《深入理解计算机系统》程序语言的底层描述(2)——栈指针esp和帧指针
ebp
本节我们重点讨论栈指针esp和帧指针
ebp
,围绕这两个重要的寄存器,推导出函数栈帧结构。一:压栈和出栈的操作本质(文中压栈等价于入栈)上一节我们了解到push和pop是汇编中压栈和出栈的指令。
coreyspomu
·
2020-09-17 13:38
信息标识和处理
windbg寄存器指令——rM
kd>reax=00000001ebx=ffdff980ecx=8054bd4cedx=000002f8esi=00000000edi=1aa78a2ceip=80528bdcesp=8054abd0
ebp
Traxer
·
2020-09-17 07:56
内核
rootkit
底层
嵌入式汇编
80386有如下寄存器:8个32-bit寄存器%eax,%ebx,%ecx,%edx,%edi,%esi,%
ebp
,%esp;8个16-bit寄存器,它们事实上是上面8个32-bit寄存器的低16位:%
stone_kingnet
·
2020-09-17 01:57
嵌入式
汇编
gcc
output
input
list
c语言函数调用过程中栈的工作原理理解
阅读了以下几篇文章之后,对整个过程基本理解了:C函数调用过程原理及函数栈帧分析阅读经典——《深入理解计算机系统》04函数返回值与栈针对自己的理解,做个记录:(一般的操作系统)每个函数都是一个栈结构,有一个栈底指针
ebp
copbint
·
2020-09-15 23:10
操作系统
函数栈帧图解
如图示,栈是由高地址向地地址的方向生长的,而且栈有其栈顶和栈底,在x86系统的CPU中,寄存器
ebp
保存的是栈底地址,称为帧指针,寄存器esp保存的是栈顶地址,称为栈指针。而且还应该明确一点,栈指
stay_the_course
·
2020-09-15 20:37
原创
烫烫烫烫烫的来源
0040101Cleaedi,[
ebp
-140h]00401022movecx,50h00401027moveax,0CCCCCCCCh0040102Crepstosdwordptr[edi]9:chars
laciqs
·
2020-09-15 19:11
Disassembly
and
Reverse
函数调用与栈
文章目录函数调用与栈内存栈调用函数前调用函数时关于寄存器%
ebp
栈帧函数调用将要结束时函数调用结束后注函数调用与栈内存栈 在C语言中函数的调用必须借助于栈。
小腿跑乱刀
·
2020-09-15 19:50
LINUX_C笔记
几个常用寄存器
几个常用的寄存器sp/esp/rsp(16bit/32bit/64bit)栈寄存器---指向栈顶bp/
ebp
/rbp栈基址寄存器---指向栈底ip/eip/rip程序指令寄存器---指向下一条待执行指令转载于
weixin_30627381
·
2020-09-15 05:07
32寄存器大全
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI)2个指针寄存器(ESP和
EBP
)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器
NGForever
·
2020-09-15 05:36
Compilation
连载:编写高效代码(11) 尽量减少分支
下面这段代码,把奇数赋一个值,把偶数赋一个值,可以用这种方式实现:for(i=0;i0){b=1;}else{b=2;}我们来看看汇编语言:4:inta=-5;00401028movdwordptr[
ebp
木兮清扬
·
2020-09-15 05:45
软件开发
微信好友列表数据结构分析
方法获取列表内存访问方式获取数据分析结构猜想结论得出结论追溯根节点代码实现拓展声明PCHOOKHook方法获取列表6B259EF7|.8D4508leaeax,[arg.1]6B259EFA|.C645FC01movbyteptrss:[
ebp
Chauncy.
·
2020-09-15 03:31
程序逆向之美
安全
hooks
esp和
ebp
有什么区别
=问题=pushl%ebpmovl%esp,%
ebp
干嘛要这样?
w9521423
·
2020-09-15 01:50
汇编基础
Aleph1堆栈溢出例子调试过程
blog.csdn.net/cyteven/article/details/19175083讲述的很全面中文版(1)错误信息出现段错误看上图,我们将buffer1+12(0x...53+12=0x...5f),修改的是
ebp
安安csdn
·
2020-09-14 23:28
Linux
缓冲区溢出(栈溢出)实验 之 函数调用
前言之前介绍的的缓冲区溢出导致站内变量值被修改(缓冲区溢出(栈溢出)实验之改变栈内的变量)本小节介绍通过缓冲区溢出调用函数,此外通过学习也对函数栈的了解有所加深,这里加上小段自己对函数栈的理解函数栈的介绍通过汇编介绍函数执行过程中栈的变化:
EBP
开发农民
·
2020-09-14 21:55
Windows应用层开发
Windows安全
c语言中的堆栈分析
0x00过程我们可以看出:首先是压参数,然后压返回地址,然后压
EBP
,然后堆栈提升,产生缓冲区,然后压寄存器保护现场。然后循环填写cc。然后靠
ebp
的移动实现局部变量在缓冲区里的分配。
张飞online
·
2020-09-14 20:43
逆向汇编
BUUCTF--[BJDCTF2020]easy
我们可以通过调试修改EIP地址到ques函数(0x00401520)输出flagintques(){intv0;//edxintresult;//eaxintv2[50];//[esp+20h][
ebp
Hk_Mayfly
·
2020-09-14 19:27
BUUCTF-CrackMe略解
先总体看看int__usercallwmain@(inta1@){FILE*v1;//eaxFILE*v2;//eaxcharv4;//[esp+3h][
ebp
-405h]charv5;//[esp+4h
feng_2016
·
2020-09-14 18:41
brain_fuck
main函数int__cdeclmain(intargc,constchar**argv,constchar**envp){size_ti;//[esp+28h][
ebp
-40Ch]chars[1024
久许
·
2020-09-14 14:38
逆向分析
一周学习笔记3_两个小知识点
buuctf的题目写到瓶颈了,so,转战攻防世界看能不能学到什么elrond32题目思路本身其实相当易懂,但是学到了一些细节操作intv2[33];//[esp+18h][
ebp
-A0h]qmemcpy
行歌
·
2020-09-14 05:50
eax ...edi esp
ebp
寄存器简介(转)
首先介绍我们会经常看到的一些寄存器:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI)2个指针寄存器(ESP和
EBP
)4个数据寄存器(EAX、EBX、ECX和EDX)
ssosun
·
2020-09-14 02:12
汇编
EAX、EBX、ECX、EDX、ESI、EDI、ESP、
EBP
寄存器详解
来源索引暂存器,DI:目的索引暂存器堆叠、基底暂存器:SP、BPSP:堆叠指标暂存器,BP:基底指标暂存器EAX、ECX、EDX、EBX:為ax,bx,cx,dx的延伸,各為32位元ESI、EDI、ESP、
EBP
zhu2695
·
2020-09-14 01:54
汇编
寄存器
linux打印函数调用堆栈
在X86上,backtrace依赖于寄存器
EBP
回溯调用栈,若编译时使用了-fomit-frame-pointer选项,会使backtrace失效。
lkkey80
·
2020-09-14 00:30
linux相关
C++分析淹没EIP
#includeusingnamespacestd;voidg_func(){intx=0;int*p=&x;//定位到
ebp
-4p+=2;//p+1定位到当前
EBP
,然后
EBP
+4==p+2就是原来的
byte_way
·
2020-09-14 00:49
汇编学习
C++学习
汇编 LEA指令
makeArrayPROCpushebpmovebp,espsubwsp,32leaesi,[
ebp
飘零过客
·
2020-09-13 17:08
反汇编
vs2019,rand()函数
只使用的rand(),没有调用srand()进入rand()的汇编代码call79F0FEA0;调用一个函数,返回一个地址,保存在eax中movdwordptr[
ebp
-4],eax;将eax的值保存在栈
小刀刺大熊
·
2020-09-13 16:31
C++
C函数原理
CPU中分别用两个寄存器
ebp
和esp来保存栈底地址和栈顶地址,在CPU层面只需要
ebp
的值大于ESP的值两个寄存器所指向的内存的中间的部分就构成了一个栈。汇
aluluka
·
2020-09-13 12:38
VC++反汇编分析
VC++技术细节
20170226听课笔记(程序的机器级表示)
预备知识
EBP
:永远指向当前栈帧的开始处。ESP:永远指向栈的栈顶。部分汇编指令正题:如何使用汇编语言执行一个简单的加法运算。
mpw小白
·
2020-09-13 07:10
听课笔记
看完这篇文章之后,终于明白了编译到底怎么回事。
1对于同一个语句,有如下三种:高级语言、低级语言、机器语言的表示C语言a=b+1;汇编语言mov-0xc(%
ebp
),%eaxadd$0x1,%eaxmov%eax,-0x8(%
ebp
)机器语言8b45f483c0018945f8
iOS--九零猴
·
2020-09-13 06:54
综合知识
常见各种编程环境生成的程序入口点
1400509CB6.53PUSHEBX00509CB7.56PUSHESI00509CB8.57PUSHEDI00509CB9.33C0XOREAX,EAX00509CBB.8945ECMOVDWORDPTRSS:[
EBP
mlyKnow
·
2020-09-13 03:34
160个练手CrackMe-003
带r,先交换源/目操作数的位置再计算:fdivqwordptrss:[
ebp
-0xE4]:ST0<-ST0/qwordptrss:[
ebp
-0xE4]fdivrqwordptrss:[
ebp
-0xE4]
Mnnk
·
2020-09-13 01:45
160个练手CM
三种call解释(一): cdcall stdcall naked call等在hook时,保持堆栈平衡
exe调用某个函数时:intTestFun(inta,intb);
EBP
+C:secondparameterEBP+8:firstparameterEBP+4:returnaddressEBP:previousEBP
灰灰君呀
·
2020-09-11 15:01
C语言和PE基础
naked 使用时的注意事项。
会改变
ebp
-4*N的值。3,n
yishenbiao
·
2020-09-11 13:04
C/C++拾遗录--查看关于_declspec(naked)与普通的函数在寄存器变化方面的不同点
只要弹出返回地址后,ESP和
EBP
就会恢复为原来的状态。在函数返回值,函数不会处理关于堆栈的信息。所以要手动恢复现场,手法类似于普通函数。在普通函数运行时ESP与
EBP
都发生变化。
xkjcf
·
2020-09-11 13:00
C/C++语言基础
__declspec(naked) 生成纯汇编使用方法
使用方法:#defineNAKED__declspec(naked)VOIDNAKEDMyFunc(){__asm{ret}}1,使用naked关键字必须自己构建
EBP
指针(如果用到了的话);2,必须自己使用
iteye_10992
·
2020-09-11 12:20
第一次接触C语言裸函数
{__asm{//函数的环境初始化(升栈、保护现场、填充缓存区)PUSHEBPMOVEBP,ESPSUBESP,0X40PUSHEBXPUSHESIPUSHEDILEAEDI,DWORDPTRSS:[
EBP
weixin_30488313
·
2020-09-11 12:09
__declspec(naked)(裸函数)和__asm
__declspec(naked)是告诉编译器不要对函数进行优化函数的所有实现包括堆栈的平衡参数的压栈
ebp
的赋值还原都要我们来做甚至是ret/retn都要我们来做演示代码intadd(inta,intb
cmdhack
·
2020-09-11 12:34
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他