博文
堆和栈的区别 <转>(2006-01-20 22:10:00)
摘要:
堆和栈的区别
堆和栈的区别 (不知堆栈者请看最后)一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放 4、文字常量区—常量字符串就是放在这里的。 程序结束后由系统释放5、程序代码区—存放函数体的二进制代码。二、例子程序 这是一个前辈写的,非常详细 //main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main() { int b; 栈 char s[] = "abc"; 栈 char *p2; 栈 char *p3 = "123456"; 123456\0在常量区,p3在栈上。 static int c =0; 全局(静态)初始化区 p1 = (char *)malloc(10); p2 = (char *)malloc(20); 分配得来得10和20字节的区域就在堆区。 strcpy(p1, "123456"); 123456\0放在常量区,编译器可能会将它与p3所指向的"123456"优化成一个地方。 } ......
用GOOGLE你瞬间成为黑客!(二)(2006-01-19 22:25:00)
摘要:把什么的信息做个字典吧,挂上慢慢跑。过了一段时间就跑出4个帐号,2个是学生会的,1个管理员,还有一个可能是老师的帐号。登陆上去: name:网站管理员 pass:a2xxxx7619 //说了吧,就是域名+4个数字 要再怎么提权那就不属于本文讨论访问了,呵呵,到此为止。 这段时间在国外的一些google hack的研究站点看了看,其实也都差不多是一些基本语法的灵活运用,或者配合某个脚本漏洞,主要还是靠 个人的灵活思维。国外对于google hack方面的防范也并不是很多,所以大家还是点到为止,不要去搞破坏拉,呵呵。对于一些在win上跑 apache的网管们应该多注意一下这方面,一个intitle:index of就差不多都出来了 1.查找利用php webshell intitle:"php shell*" "Enable stderr" filetype:php (注: intitle—网页标题 Enable stderr—UNIX标准输出和标准错误的缩写filetype—文件类型)。搜索结果中,你能找到很多直接在机器上执 行命令的web shell来。如果找到的PHPSHELL不会利用,如果你不熟悉UNIX,可以直接看看LIST,这里就不详细说了,有很多利用价值。要说明 的是,我们这里搜索出来的一些国外的PHPSHELL上都要使用UNIX命令,都是system调用出来的函数(其实用百度及其他搜索引擎都可以,只是填 写搜索的内容不同)。这个PHPWEBSHELL是可以直接Echo(Unix常用命令)。一句话就把首页搞定了: echo "召唤" > index.jsp 现在看看首页,已经被我们改成: "召唤" 了。 我们也可以用WGET上传一个文件上去(比如你要替换的叶子吧)。然后execute Command输入 cat file > index.html or echo "" > file echo "test" >> file 这样一条条打出来,站点首页就成功被替换了。同样的也可以 uname -a;cat /etc/passwd 不过有点要注意,有些WEBSHELL程序有问题,执行不了的, 2.搜索INC敏感信息 在google的搜索框中填入: Code: .org filetype:inc......
用GOOGLE你瞬间成为黑客!(一)(2006-01-19 22:23:00)
摘要:本文是我通过网上收集整理。若有漏洞和不全面的地方还请多多指教!google hacking其实并算不上什么新东西,当时并没有重视这种技术,认为webshell什么的,并无太大实际用途.google hacking其实并非 如此简单... google hacking的简单实现 使用google中的一些语法可以提供给我们更多的信息(当然也提供给那些习惯攻击的人更多他们所想要的.),下面就来介绍一些常用的语法. intext: 这个就是把网页中的正文内容中的某个字符做为搜索条件.例如在google里输入:intext:动网.将返回所有在网页正文部分包含"动网"的网页 .allintext:使用方法和intext类似. intitle: 和上面那个intext差不多,搜索网页标题中是否有我们所要找的字符.例如搜索:intitle:安全天使.将返回所有网页标题中包含"安全天使"的网 页.同理allintitle:也同intitle类似. cache: 搜索google里关于某些内容的缓存,有时候也许能找到一些好东西哦. define: 搜索某个词语的定义,搜索:define:hacker,将返回关于hacker的定义. filetype: 这个我要重点推荐一下,无论是撒网式攻击还是我们后面要说的对特勘杲行畔⑹占夹枰玫秸飧?搜索指定类型的文件.例如输入 :filetype:doc.将返回所有以doc结尾的文件URL.当然如果你找.bak、.mdb或.inc也是可以的,获得的信息也许会更丰富 info: 查找指定站点的一些基本信息. inurl: 搜索我们指定的字符是否存在于URL中.例如输入:inurl:admin,将返回N个类似于这样的连接:http://www.xxx.com/xxx/admin,用来找管理员登 陆的URL不错.allinurl也同inurl类似,可指定多个字符. link: 例如搜索:inurl:www.4ngel.net可以返回所有和www.4ngel.net做了链接的URL. site: 这个也很有用,例如:site:www.4ngel.net.将返回所有和4ngel.net这个站有关的URL. 对了还有一些*作符也是很有用的: + 把google可能忽略的字列如查询范围 - 把某个字忽略 ~ 同意词 . 单一的通配符 * 通配符,可代表多个......
短小C语言程序(2006-01-19 20:01:00)
摘要: * * * * * * * * * * * * * * * * * * * * * * * * * 就这个图形
#include
void fun(int row,int start,int finish,int m) { int i=0; if (row<1) return; for (;i<=finish;i++) if (i<=finish&&i>=start) printf("*"); else printf(" "); ......
贪吃蛇游戏(C语言)(2006-01-18 13:08:00)
摘要:#define N 200#include<graphics.h>#include<stdlib.h>#include<dos.h>#define LEFT 0x4b00#define RIGHT 0x4d00#define DOWN 0x5000#define UP 0x4800#define Esc 0x011bint i,key;int score=0;int gamespeed=50000;struct Food{int x;int y;int yes;}food;struct Snake{int x[N];int y[N];int node;int direction;int life;}snake;void Init();void Close();void DrawK();void GamePlay();void GameOver();void PrScore();void main(){ Init(); DrawK(); GamePlay(); Close();
}void Init(){int gd=DETECT,gm;initgraph(&gd,&gm,"F:\\tuoboc2");/*此处为turboc的路径,读者可以根据自己的电脑而改*/cleardevice();}void DrawK(){setbkcolor(LIGHTGREEN);setcolor(11);setlinestyle(SOLID_LINE,0,THICK_WIDTH);for(i=50;i<=600;i+=10){rectangle(i,40,i+10,49); rectangle(i,451,i+10,460);}for(i=40;i<=450;i+=10){rectangle(50,i,59,i+10); rectangle(601,i,610,i+10);}}void GamePlay(){randomize();food.yes=1;snake.life=0;snake.direction=1;snake.x[0]=100;snake.y[0]=100;snake.x[1]=110;snake.y[1]=100 ;snake.node=2;P......
排序方法(2006-01-13 15:33:00)
摘要: 对于n个元素的数组的排序,最佳算法的运行时间是O(nlog2n)≈p*nlog2n。方法有堆排序与快速排序。
(1)堆排序
方法SORT重排一个数组,而方法SORT2用于同时对另一组作相应重排。(用java语言)
1,方法SORT。
public class love
{
void sort(int n,double ra[])
{
int i,j,l,ir;
double rra;
l=(int)(n/2)+1;
&n......
应用MATLAB的一个例子(2006-01-11 23:17:00)
摘要:应用MATLAB的一个例子 ——数学也是一门技术 王天顺 整理 本来想用 “数学也是一门技术”作题目,主要是基于两点,一是从数学的应用角度,它 的确具备了作为一门技术的特征,这也就是今天我要通过一个例子要表达的;二是咱们在 座的大多数都是从事职业教育的老师,不知道我理解得是不是正确,职业教育与普通教育 的区别是较为侧重于教授技术,我主观上感觉这个题目和大家的关系更紧密一些。但是, 这个题目有点太大了!和领导商量了一下还是换个题目吧。 首先可以证明:数学确是一门技术,比如说要从技术的定义入手,流行的做法是:查查《 辞海》,查查相关的如《科学学辞典》和《科技辞典》等等,看看他们是怎样给技术定义 的;其次,论述一下数学的确是符合这些定义的。 实际上,我也确实查阅过这些资料,可以说没有问题,一定可以找到证据证明这个论断! 注:“技术”一词的中文解释有两种,一种是以《辞海》为代表的解释,把技术定义为: (1 )泛指根据生产实践经验和自然科学原理而发展成的各种工艺操作方法与技能;(2 )除操作技能外, 广义的还包括相应的生产工具和其他物质设备,以及生产的工艺过程 或作业程序、方法。另一种是以《科学学辞典》和《科技辞典》为代表的解释,把技术定 义为:是为社会生产和人类物质文化生活需要服务的,供人类利用和改造自然的物质手段 、智能手段和信息手段的总和。 可见, “技术”一词所包含的内容除了有形的物化形态之外,还包括无形的智能形态方 面。无形的智能形态的技术是客观存在的,在某种意义上说,这方面技术的作用并不亚于 物化形态的技术,更不能为物化形态技术所取代(背景资料)。因此,有关“技术”的涵 义,有人概括为:指的是有形的物化技术和无形的智能技术的总和。 当然,容易想到我们把数学看作一门技术,可能更多的是从技术的无形“智能形态”角度 论述的。我想这只是他的一个方面,今天先给各位介绍的是一个例子,展现他的另一个方 面,用数学(包括相关的软件)去解决一个实际问题,其过程就像“传统的”、物化形态 的技术一样;其次,结合上述例子,探讨有关数学建模及相关培训指导工作的一般原则和 步骤,谈一点个人对此项工作的认识;最后,介绍我校的这些年数学建模培训工作的一些 具体做法。 一、 足球比赛中的吊门问题 1. 问题:只考虑如下的因素:球与球门的距离为a,守门员与球门的距离为b(假设在调 门过程中,守门员不......
