1、内存溢出 内存溢出是指程序在申请内存时没有足够的内存空间供其使用。原因可能如下: (1)内存中加载的数据过于庞大; (2)代码中存在死循环; (3)递归调用太深,导致堆栈溢出等; (4)内存泄漏最终导致内存溢出; 2、内存泄漏 内存泄漏是指使用new申请内存, 但是使用完后没有使用delete释 ...
分类:
编程语言 时间:
2019-03-17 23:38:43
阅读次数:
154
一、函数调用时的栈函数调用时的栈?程序中的“函数调用栈”是栈数据结构的一种应用?函数调用栈一般是从高地址向低地址增长的??栈底为内存的高地址处??栈顶为内存的低地址处?函数调用栈中存储的数据为活动记录程序中的栈?在不断的压栈过程中造成栈空间耗尽而产生栈溢出?栈溢出常由于函数递归过深或局部数组过大造成二、递归的应用?递归是一种数学上分而自治的思想?递归将大型复杂问题转化为与原问题相同但规模较小的问题
分类:
其他好文 时间:
2019-03-11 21:20:53
阅读次数:
273
单片机里的堆栈 做单片机的应该都听说过堆栈,跟指针一样,一看到这两个就会莫名的蛋疼。但是用汇编的同志肯定不会陌生,因为要经常出栈入栈,但是用C语言的同志有一些可能就比较陌生了,因为出入栈全部交给了编译器。最近我就在这里吃了亏,虽然听说过堆栈,也知道在哪里修改,但因为以前写的代码量很小,变量完全不会让 ...
分类:
其他好文 时间:
2019-03-09 01:17:05
阅读次数:
184
关于fatal error C1063 这个错误是编译器栈溢出,可能是你的程序单个源文件太大了,拆分成小一些的文件试试 MSDN上: Fatal Error C1063 compiler limit : compiler stack overflow The program was too comp ...
分类:
其他好文 时间:
2019-02-25 13:18:52
阅读次数:
170
预编译:预编译过程主要处理那些源代码中以“#”开始的预编译指令。比如“#include","#define"等1.将所有的“#define” 删除并且展开所有的宏定义2.处理所有条件预编译指令。比如:#if #ifdef #endif #else3.处理#include 预编译指令 将被包涵的文件插 ...
分类:
系统相关 时间:
2019-02-13 10:47:12
阅读次数:
220
今天遇到了一个错误, 堆栈溢出,很好奇就是一个简单ajax请求怎么会报这个错误,研究了一下,发现犯了一个很低级的错误,data的参数错误了; passWord是未定义的变量,值为空,然后导致了这个问题。 ...
分类:
其他好文 时间:
2019-02-13 00:42:20
阅读次数:
235
关于这个问题个人认为是一个比较棘手的问题,因为我们每个人遇到溢出问题的原因都不一样,所以遇到这样的问题就多从问题的根本入手。 我遇到的原因是,循环多次导致的,以为我的俩个互相关联的实体类,当作查询时,互相循环查询导致陷入死循环。 例图: 在我的Returnorders 类中设置了入下属性 二在我的R ...
分类:
其他好文 时间:
2019-02-10 09:28:51
阅读次数:
191
准备知识引用自https://www.freebuf.com/articles/rookie/182894.html 0×01 利用思路 ret2libc 这种攻击方式主要是针对 动态链接(Dynamic linking) 编译的程序, 因为正常情况下是无法在程序中找到像 system() 、exe ...
分类:
其他好文 时间:
2019-02-04 19:38:30
阅读次数:
201
栈溢出 一、基本概念: 函数调用栈情况见链接 基本准备: bss段可执行检测: 函数调用栈情况见链接 bss段可执行检测: ROPgadget ROPgadget --binary rop --only 'pop|ret' | grep 'eax' ROPgadget --binary rop -- ...
分类:
其他好文 时间:
2019-02-03 18:14:47
阅读次数:
421
一、函数调用栈过程总结 Fig 1. 函数调用发生和结束时调用栈的变化 Fig 2. 将被调用函数的参数压入栈内 Fig 3. 将被调用函数的返回地址压入栈内 Fig 4. 将调用函数的基地址(ebp)压入栈内,并将当前栈顶地址传到 ebp 寄存器内 Fig 5. 将被调用函数的局部变量压入栈内 二 ...
分类:
其他好文 时间:
2019-02-03 12:29:29
阅读次数:
333