码迷,mamicode.com
首页 >  
搜索关键字:栈帧    ( 580个结果
【汇编总结3】函数调用
这块儿的知识长时间不用老是忘掉,本文依据《0Day安全:软件漏洞分析技术》第二章部分内容做个总结。 1. 函数调用约定 TODO 2. 函数调用过程分析 2.1 函数调用大致包括以下几个步骤 >1. 参数入栈: 根据函数调用约定将参数按照一定顺序依次压入系统栈中,最常用的就是从 右 往 左 压入栈中 ...
分类:其他好文   时间:2017-05-25 01:14:49    阅读次数:229
三种方法打印 main函数的返回地址的值(old EIP)(用途,你懂得!)
这里能够简单的改动随意函数的返回地址。能够做到自己定义EIP的指向,就可以运行当前进程空间的随意指令,这里仅仅是让大家更清楚栈帧结构,没有涉及跨进程的inline HOOK 等,后面会陆续讲下读取随意进程内存。改动随意进程函数运行流程等方法。 废话不多说了,直接上菜: #include <stdio ...
分类:其他好文   时间:2017-05-21 09:51:35    阅读次数:182
判断对象存活的方法
1. 引用计数法:给对象添加一个引用计数器,每当一个地方引用它,计数器值加1;当引用失效时,计数器值就减1 2. 可达性分析法:当一个对象到GC Roots没有任何引用链相连时,该对象被判断为可回收的对象,主流方法 可作为GC Roots对象的: (1)虚拟机栈中引用的对象(栈帧中的本地变量表); ...
分类:其他好文   时间:2017-05-20 17:18:11    阅读次数:154
Java中的内存划分
Java程序在运行时,需要在内存中分配空间。为了提高运行效率,就对数据进行了不同的空间划分。因为每一片区域都有特定的数据处理方式和内存管理方式。 具体分为5种内存空间: 程序计数器:保证线程切换后能恢复到原来的执行位置。 虚拟机栈:(栈内存)为虚拟机执行java方法服务,方法被调用时,创建栈帧- 本 ...
分类:编程语言   时间:2017-05-09 11:15:29    阅读次数:157
函数的调用过程(栈帧)
1、什么是栈帧?栈帧也叫过程活动记录,是编译器用来实现函数调用过程的一种数据结构。C语言中,每个栈帧对应着一个未运行完的函数。从逻辑上讲,栈帧就是一个函数执行的环境:函数调用框架、函数参数、函数的局部变量、函数执行完后返回到哪里等等。栈是从高地址向低地址延伸..
分类:其他好文   时间:2017-05-08 14:24:41    阅读次数:203
C语言之函数和字符串
二、函数: 2.1、函数的执行: 1、当我们每次进入一个函数的时候,原函数的栈底进行一个备份,之后将当前函数的栈底和栈顶指针分作同一个。 2、此时我们就可以说产生了一个新栈,产生新栈之后会在新栈中申请一段空间(栈帧),申请到空间之后。 3、再将需要备份的一些寄存器压到栈中。 4、之后将栈中的这些空间 ...
分类:编程语言   时间:2017-05-06 10:09:07    阅读次数:130
常用垃圾回收算法
在java内存模型中,程序计数器、虚拟机栈、本地方法栈这些区域每个线程独立拥有,与线程“同生共死”。每个栈帧内存大小是确定可知的,方法或线程结束时自动回收,这些区域不需要考虑内存回收问题。这里的垃圾回收指的是jvm堆内存和方法区的回收,这些区域内存在程序运行期间动态分配、动态回收,需要考虑选择合适的 ...
分类:编程语言   时间:2017-04-30 18:35:14    阅读次数:146
函数的调用过程(栈帧)
1、什么是栈帧? 栈帧也叫过程活动记录,是编译器用来实现函数调用过程的一种数据结构。C语言中,每个栈帧对应着一个未运行完的函数。从逻辑上讲,栈帧就是一个函数执行的环境:函数调用框架、函数参数、函数的局部变量、函数执行完后返回到哪里等等。栈是从高地址向低地址延伸的。每个函数的每次调用,都有它自己独立的 ...
分类:其他好文   时间:2017-04-27 21:14:00    阅读次数:251
gdb查看core实用指令
1、$sudo gdb binpath corepath 2、bt 查看调用堆栈 3、f 5...假设断的代码在栈号为5这里 4、info locals 查看局部变量 5、info args 查看函数参数的值 6、info catch 查看异常 7、info r 查看寄存器 8、up,down切栈帧 ...
分类:数据库   时间:2017-04-22 12:34:00    阅读次数:266
栈溢出 缓冲区溢出的一种 缓冲区以外的存储单元被改写 优化方法之一:尾调用
个人:尾调用时函数式编程的一个重要概念, 栈溢出: 函数调用会在内存形成一个“调用记录”,又称“调用帧”(call frame),保存调用位置和内部变量等信息。如果在函数A的内部调用函数B,那么在A的调用帧上方,还会形成一个B的调用帧。等到B运行结束,将结果返回到A,B的调用帧才会消失。如果函数B内 ...
分类:其他好文   时间:2017-04-21 09:41:17    阅读次数:169
580条   上一页 1 ... 34 35 36 37 38 ... 58 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!