乞丐
我是个程序猿,一天我坐在路边一边喝水一边苦苦检查bug。这时一个乞丐在我边上坐下了,开始要饭,我觉得可怜,就给了他1块钱,然后接着调试程序。他可能生意不好,就无聊的看看我在干什么,然后过了一会,他幽幽的说,这里少了个分号。。。分号。。。分号。。。
墓志铭
程序员,年二十有二,始从文,连考而不中。 遂习武,练武场上发一矢,中鼓吏,逐之出。 改学IT,自撰一函数,用之,堆栈溢出...
分类:
其他好文 时间:
2014-11-08 08:13:01
阅读次数:
154
有一个回调函数中发生了段错误,但经检查也没有什么明显的错误,然后用排除法一点一点屏蔽,最后定位在一个函数里出错,但这个函数没什么明显错误。最后把入口参数改为引用传递就不报错误。
但隔了一段时间这个函数又报错了,原因是我加一行代码,但这行代码就是一个赋值语句;于是我不甘心,又开始排除法,最后定位到一个变量,加上它报错,不加就不报错;我一直怀疑是不是linux对一个函数的大小有限制;于是将这个函数换成全局变量,而在此函数中用的此变量时候采用指针,诶,不再报段错误了,世界终于安静了。
但不知是根本原因是什么,于...
分类:
其他好文 时间:
2014-11-05 23:11:59
阅读次数:
271
文本由 www.169it.com 搜集整理 windows下的堆栈溢出攻击和unix下的,原理基本相同。但是,由于windows用户进程地址空间分配和堆栈处理有其独立的特点,导致了windows?环境下堆栈溢出攻击时,使用的堆栈溢出字符...
本系列的3介绍了现有的linux系统对栈的保护,在那种栈保护措施下,要修改SIP(saved instruction pointer)不可能;但是栈保护对象有限,对程序中的数据不一定都能保护到。本文就是探讨程序中有内存操作漏洞时,如何利用漏洞改写数据,达到控制的目的。...
分类:
数据库 时间:
2014-10-23 14:36:06
阅读次数:
207
摘要:
本文主要在之前系列1的代码基础上,分析下gcc如何进行栈保护以避免栈溢出攻击的。...
分类:
数据库 时间:
2014-10-20 23:29:46
阅读次数:
423
从编译器角度来看内存分三种情况:1 系统初始化时都已经确定好、不会再变动的内存区域,一般指的是全局变量、静态变量数组等。2 栈上内存:一般指的是函数内部的局部变量等,函数调用时分配内存,调用结束后系统自动释放不用自己考虑回收,效率高。有时候栈需要自己设定,设定不当可造成栈溢出。3 堆上内存:即用动态...
分类:
其他好文 时间:
2014-10-20 13:21:39
阅读次数:
252
摘要:
原来的版本:http://blog.csdn.net/bigbug_zju/article/details/39892129
原版本中的问题主要在于调试过程中,蛮力的痕迹太重,没有很好地体现常用的调试准则;本文在原版本的基础上,融入参考文献中提及的调试原则,重新审视和操练该问题,希望尽量体现出调试中常用的思维法则。...
分类:
数据库 时间:
2014-10-15 16:07:50
阅读次数:
247
1,什么是栈溢出?由于栈一般默觉得1-2m,一旦出现死循环或者是大量的递归调用,在不断的压栈过程中,造成栈容量超过1m而导致溢出。2,解决方式:方法一:用栈把递归转换成非递归通常,一个函数在调用还有一个函数之前,要作例如以下的事情:a)将实在參数,返回地址等信息传递给被调用函数保存; b)为被调用函...
分类:
其他好文 时间:
2014-10-09 22:06:17
阅读次数:
163
??本文主要演示linux平台下的栈溢出,首先根据理论对示例代码进行溢出攻击;结果是溢出攻击成立,但是与设想的有差别;然后采用GDB调试工具对发生的意外,进行深入的分析。...
分类:
数据库 时间:
2014-10-08 16:06:15
阅读次数:
377
题目地址:HDU 2473
这题以前碰到过,没做出来。。现在又做了做,还是没做出来。。、、
这题涉及到并查集的删除操作。想到了设一个虚节点,但是我把虚节点设为了要删除的点的父节点,一直是栈溢出,目测是无限递归了。看了看别人的做法, 原来只要建一个映射就可以了,虚节点是作为的新的映射,每次删除一个点,就把他映射到一个新的点上去。
代码如下:
#include
#include
#incl...
分类:
其他好文 时间:
2014-10-02 12:57:02
阅读次数:
163