前面的Shellcode中,我使用的都是自己XP机器上的硬编码地址。不论什么时候在Shellcode中使用硬编码地址都不是个好主意,这一点与动态库的重定位相似,一旦系统环境和程序编译设置发生变化。Shellcode差点儿肯定会失效。因此。我们要找到更好一点的方法。 前面的Shellcode中,我用到 ...
分类:
其他好文 时间:
2017-07-31 14:48:39
阅读次数:
144
创建POSIX线程的函数为 第1个参数为线程句柄(类似于文件描述符),第3个参数为线程启动函数(输入void*、返回void*,因为指向任何结构体/基本数据类型的指针都可以被看作void*,而void*一般都可以显式强制转换成指向对应类型的指针甚至整型,这是不支持纯C编程的常见技巧),第4个参数为传 ...
分类:
编程语言 时间:
2017-07-30 22:09:45
阅读次数:
253
Stack Buffer Overflow On Windows Part 11.介绍本篇文章旨在带领学习二进制安全的新手朋友在Stack Buffer Overflow在Windows上的技术实现从0到1的这个过程。笔者也希望能够通过这些技术分享帮助更多的朋友走入到二进制安全的领域中。2.文章拓扑 ...
在postgresql9.2中遇到一个错误,就是在流复制模式下,如果用psql访问备机,无论执行什么SQL语句,都会报ERRORDATA_STACK_SIZE exceeded错误。 网上搜了下这个错,说是因为保存错误信息的栈溢出了。在postgresql.conf中,这个值默认是2M,按理说2M足 ...
分类:
数据库 时间:
2017-07-27 15:50:26
阅读次数:
202
题目地址:HDU 2473 这题曾经碰到过,没做出来。。如今又做了做,还是没做出来。。、、 这题涉及到并查集的删除操作。想到了设一个虚节点,可是我把虚节点设为了要删除的点的父节点。一直是栈溢出,目測是无限递归了。看了看别人的做法。 原来仅仅要建一个映射就能够了,虚节点是作为的新的映射,每次删除一个点 ...
分类:
其他好文 时间:
2017-07-22 11:05:05
阅读次数:
173
下面的代码,如果队列太长会导致栈溢出,怎样解决这个问题并且依然保持循环部分: 通过修改nextListItem功能可以避免潜在的堆栈溢出,如下所示: 栈溢出主要是因为循环事件,而不是栈。当执行nextListItem时,如果item不是null,在settimeout函数中的nextListItem ...
分类:
其他好文 时间:
2017-07-21 19:56:41
阅读次数:
405
一个函数调用自己本身,就是递归调用 递归调用的三个条件 1.必须有结束条件 2.规模必须每次减少 3.缺点容易导致栈溢出,所以一般调用层次是999层 def func(n): print(n) return func(n+1) func(1) 999层 def fun(n): if n >1: re ...
分类:
其他好文 时间:
2017-07-18 17:50:55
阅读次数:
119
错误代码: 正确代码: 可以看到不同点只是把current->val == pHead->val和current != NULL换了一下位置 错误的代码报错报的是:段错误:您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起 ...
分类:
其他好文 时间:
2017-07-17 17:17:11
阅读次数:
175
错误代码 此代码会报“段错误:您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起” 如果链表只有一个节点,那p2就是空指针,p3就是空指针的下一个指针,但空指针是没有next的 正确代码 ...
分类:
其他好文 时间:
2017-07-11 11:19:32
阅读次数:
110
错误代码 会报“段错误:您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起” 因为k的数字可能大于整个链表的长度,这时p1可能指向空指针,空指针的next就会报错 如果去计算一遍整个链表的长度,再判断k与链表长度的大小,这样还是会和笨办法一样遍历两次链表,直接在for循 ...
分类:
其他好文 时间:
2017-07-11 11:19:24
阅读次数:
149