esp_ebp_堆栈
文章平均质量分 58
happylzs2008
这个作者很懒,什么都没留下…
展开
-
函数的隐式声明 及 rsp,rbp,被调用者和调用者保存的寄存器standerd manuel(Caller/Callee - saved registers)
函数的隐式声明https://blog.csdn.net/liangbo930522/article/details/73733415mpx-linux64-abi.pdfhttps://software.intel.com/content/dam/develop/external/us/en/documents/mpx-linux64-abi.pdf什么是被调用者和调用者保存的寄存器?http://www.voidcn.com/article/p-htzrkkge-bsx.html通过原创 2021-03-31 21:55:09 · 489 阅读 · 0 评论 -
C语言内存检测 ---- CS:APP
C语言内存检测https://www.cnblogs.com/venow/archive/2012/11/21/2781450.htmlhttps://www.cnblogs.com/dawen/archive/2011/05/26/2057562.htmlhttps://blog.csdn.net/xiangyuqxq/article/details/7271943?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-.原创 2020-12-26 13:15:15 · 195 阅读 · 0 评论 -
git, makefile, backtrace-so
git 使用详解(9)-- 分支的新建与合并 :https://blog.csdn.net/wh_19910525/category_1113974.htmlhttps://blog.csdn.net/listener51/category_10098513.htmlMakefile中的$@, $^, $< , $?, $%, $+, $* ----- sed操作https://blog.csdn.net/dlf1769/article/details/78997967?utm_me..原创 2020-12-26 12:45:28 · 159 阅读 · 0 评论 -
实模式寻址方式 ---- 实模式、保护模式、三种地址、分段、分页
保护模式和分段机制段选择符和段描述符的关系实模式、保护模式、三种地址、分段、分页https://www.cnblogs.com/kelamoyujuzhen/p/10555924.html64KB-4GB-64TB? 我记得大学的汇编课程,组成原理课里老师讲过实模式和保护模式的区别,在很多书本上也有谈及,无奈本人理解和感悟能力实在太差,在很长一段时间里都没真正的明白它们的内含,更别说为什么实模式下最大寻址空间为1MB?段的最大长度不超过64KB?而保护模式下为啥最大寻址...原创 2020-11-27 13:34:28 · 2919 阅读 · 1 评论 -
详解:物理地址,虚拟地址,内存管理,逻辑地址之间的关系
详解:物理地址,虚拟地址,内存管理,逻辑地址之间的关系https://jrhar.blog.csdn.net/article/details/78508795?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFrom原创 2020-11-25 13:10:15 · 302 阅读 · 0 评论 -
ebx 与 ebp的作用 ---- 总线接口部件
ebx是基址寄存器,比如存放的数组的首地址。https://wenda.so.com/q/1537807204213369很简单的啊,基址寄存器存放的是相当于某内存空间的首地址,而基址指针存放的是偏移量,类似其他编程语言中的索引,不同的是基址指针的单位是字节,而索引的单位是依赖于数据类型宽度,比如C++中int类型的宽度为4字节,因此索引必须乘以4才能换算成字节单位。假设BX=1000,BP=102 ,则 计算后的地址为 BX+BP=1102;而如果假设数组int A[XXXX]的首地址也是.原创 2020-11-22 18:20:37 · 2226 阅读 · 0 评论 -
rpb 64位系统一次移动8个字节,ebp 32位系统一次移动4个字节
(gdb) i frameStack level 0, frame at 0x7fffffffe4e0:rip = 0x4008ef in main (stack1.c:34); saved rip = 0x7ffff7a2d830 //main函数的返回地址source language c.Arglist at 0x7fffffffe4d0, args: argc=2, argv=0x7fffffffe5b8Locals at 0x7fffffffe4d0, Previous fra...原创 2020-09-26 08:21:00 · 610 阅读 · 0 评论 -
栈入门
https://www.csdn.net/gather_25/MtTakg1sNjE0OTAtYmxvZwO0O0OO0O0O.html栈入门0x10相关知识0x11寄存器32位x86架构下的寄存器可以被简单的分为通用寄存器和特殊寄存器,通用寄存器在大部分汇编指令下是可以任意使用的,而特殊寄存器只能被特定的汇编指定使用,不能用来存储数据。32位x86架构下的通用寄存器包括一般寄存器(eax, ebx, ecx, edx), 索引寄存器(esi, edi), 以及堆栈指针寄存器(esp.转载 2020-09-12 12:19:31 · 246 阅读 · 0 评论 -
bt-gdb 栈帧
深入理解计算机系统第三版(中文版)为什么main函数中call,%rsp -2而不是-8?https://www.zhihu.com/question/27613584932位处理器一次只能处理32位,也就是4个字节的数据;而64位处理器一次就能处理64位,即8个字节的数据?https://zhidao.baidu.com/question/135480264.htmlC函数调用过程解析(x86-64 )https://blog.csdn.net/misterchi/article/detai原创 2020-09-12 11:52:07 · 772 阅读 · 0 评论 -
gdb - directory 路径问题
1: gdb几种设置断点的方式https://www.cnblogs.com/northhurricane/p/3860393.html2: gdb $pc 可以打断点吗 gdb汇编地址打断点的方式? GDB深入研究https://www.cnblogs.com/lhc-java/p/4999017.html20145215卢肖明 / LinuxNetworkAttackhttps://gitee.com/20145215/LinuxNetworkAttack/blob/mast...原创 2020-09-08 00:09:40 · 2955 阅读 · 0 评论 -
Windows x64 栈帧结构
https://www.cnblogs.com/aliflycoris/p/5746143.html0x01 前言 Windows 64位下函数调用约定变为了快速调用约定,前4个参数采用rcx、rdx、r8、r9传递,多余的参数从右向左依次使用堆栈传递。本次文章是对于Windows 64位下函数调用的分析,分析各种参数情况下调用者和被调用函数的栈结构。0x02 4参数时函数调用流程 64位下函数的调用约定全部用FASTCALL,就是前4个参数依次用rcx,rdx,r8,r9传递,...转载 2020-08-31 13:13:20 · 1314 阅读 · 0 评论 -
function_stack 调试分析
#include<stdio.h>int add(int a, int b){ int c = 0; c = a+b; return c;}int main(){ int a = 5; int b = 6; int c = 0; c = add(a,b); printf("c = %d\n",c);}---------- E:\c_project\test.c --------------9:10...原创 2020-08-31 12:35:54 · 256 阅读 · 0 评论 -
Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈
https://blog.csdn.net/yangkuanqaz85988/article/details/52403726?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonec转载 2020-08-30 14:16:53 · 228 阅读 · 0 评论 -
What are the meanings of callq command parameters?
https://stackoverflow.com/questions/56122039/what-are-the-meanings-of-callq-command-parametersIt's justcall. Use Intel-syntax disassembly if you want to be able to look up instructions in the Intel/AMD manuals.Theqoperand-size suffix does technic...原创 2020-08-25 19:19:57 · 185 阅读 · 0 评论 -
保护模式和分段机制 (汇编,操作系统基础体系)
保护模式和分段机制https://www.cnblogs.com/tsiangleo/p/5032963.html为何要了解Intel 80386的保护模式和分段机制?首先,我们知道Intel 80386只有在进入保护模式后,才能充分发挥其强大的功能,提供更好的保护机制和更大的寻址空间,否则仅仅是一个快速的8086而已。没有一定的保护机 制,任何一个应用软件都可以任意访问所有的计算机资源,这样也就无从谈起操作系统设计了。且Intel 80386的分段机制一直存在,无法屏蔽或避免。其次,在我们的boo转载 2020-08-19 20:16:18 · 631 阅读 · 0 评论 -
C语言函数调用栈
函数调用栈 剖析+图解[转]https://www.jianshu.com/p/78e01e513120程序为什么开头总是PUSH EBP(栈帧)https://www.jianshu.com/p/aa89e820c31d[转载]C语言函数调用栈https://www.jianshu.com/p/c89d243b8276原创 2020-08-12 19:32:17 · 147 阅读 · 0 评论 -
plt、.plt.got, ELF entry point和装载地址
ELF entry point和装载地址https://blog.csdn.net/ayu_ag/article/details/50737209GOT表和PLT表知识详解https://blog.csdn.net/qq_18661257/article/details/54694748?locationNum=1&fps=1深入了解GOT,PLT和动态链接https://www.cnblogs.com/pannengzhi/p/2018-04-09-about-got-plt.h原创 2020-08-08 10:35:47 · 302 阅读 · 0 评论 -
Linux内核如何装载和启动一个可执行程序
20135311傅冬菁原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000C语言中内存分布及程序运行加载过程https://cloud.tencent.com/developer/article/1095227Linux内核如何装载和启动一个可执行程序一、内容分析一、预处理、编译、链接和目标文件的格式1.预处理阶段 :编译器将C源代码中包含的头文件编译进来和执行宏替换...转载 2020-07-19 15:38:12 · 224 阅读 · 0 评论 -
objdum、 plt 、got、 pwn-gdb
1:各种变量类型在程序中的位置&&查看程序的段信息,objdump命令的使用https://www.jianshu.com/p/36b00257c5cf《程序员的自我修养》读书笔记 -- 第三章https://www.cnblogs.com/songshuguiyu/p/8447035.htmlobjdump命令详解(GUN目标文件可执行文件查看器)https://www.jianshu.com/p/6c9587e25046.plt/.got.plt及延迟绑定重定位技术详解原创 2020-07-03 17:16:11 · 322 阅读 · 0 评论 -
GDB调试(二)
使用gdb调试程序完全教程https://blog.csdn.net/ugfffj/article/details/84190015gdb调试时如何定义指定类型的变量https://bbs.csdn.net/topics/390754152/在gdb里面无法调用math库函数?https://bbs.csdn.net/topics/392035848?page=1gdb如何进入C库函数https://www.xuebuyuan.com/1042258.htmlgdb进库调试ht原创 2020-07-02 20:04:41 · 216 阅读 · 0 评论 -
ebp_esp_reading_625
https://www.cnblogs.com/chris-cp/p/3768685.htmlGDB下查看内存命令(x命令)https://blog.csdn.net/allenlinrui/article/details/5964046https://www.cnblogs.com/adamwong/p/10538019.htmlhttps://www.cnblogs.com/chris-cp/p/3768685.htmlhttps://www.cnblogs.com/chris-cp/cat原创 2020-06-26 09:17:53 · 205 阅读 · 0 评论 -
汇编里ebp和esp
寄存器简介 与 ebp esphttps://www.cnblogs.com/feng9exe/p/6475980.htmlhttp://www.cnblogs.com/zhuyuanhao/archive/2012/10/16/3262870.html32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标.转载 2020-06-25 17:58:08 · 1098 阅读 · 0 评论 -
esp_ebp
函数调用栈 剖析+图解[转]https://www.jianshu.com/p/78e01e513120函数调用栈 剖析+图解https://blog.csdn.net/wangyezi19930928/article/details/16921927反汇编01https://www.jianshu.com/p/aabdcf981465栈帧ebp,esp详解https://blog.csdn.net/TuxedoLinux/article/details/100921994X86原创 2020-06-24 17:17:39 · 186 阅读 · 0 评论