微软Windows 8 研发包括128位版本

3

分类 : 业界动态 | 发表时间 12-10-2009

Windows 7已经炒作这么长时间了,Linker在测试版本的时候,也试装过几次,印象不错,不过最近已经快半年不曾安装Windows 7了,主要还是因为现有硬件太逊,使用Windows XP已经足矣,可微软的研发脚步总是很快,Windows 8研发已经提上日程,据内部泄露出来的可靠消息,研发将包括128位的版本。这戏好看了,现在64位系统的应用软件还没有大量流行,128位的就已经上日程了,前卫!

10月11日消息,据国外媒体今日报道,一位微软研发人员罗伯特·摩根(Robert Morgan)日前透漏,Windows 8 将推出支持128位计算技术的版本。这条消息是摩根在商务社交网站LinkedIn上泄露的。

微软将于10月22日在全球范围内开售Windows 7,该操作系统将包括32位和64位版本。实际上,从微软2005年5月发布XP专业版64位版本开始,Windows就开始支持64位技术。然而,由于Vista系统未获成功,64位操作系统一直未能广泛应用。Windows8将推出128位计算架构版本

摩根称,他是微软的资深研发人员。主要负责Windows 8内核中128位计算技术的架构和Windows 9整体项目规划。目前,摩根的个人信息已经被LinkedIn网站删除,但可以在Google上搜索到摩根相关的信息。 

摩根在个人档案中表示,正工作于高级安全研发部门,包括中长期项目的战略规划。他同时表示,研发项目包括“Windows 8内核对128位架构的兼容性和Windows 9项目规划”,同时负责维护与英特尔(博客)、AMD、惠普和IBM等主要合作伙伴的关系。

鉴于包含32位和64位计算技术的Windows 7将于10月22日在全球范围内开售。这条消息引起人们的广泛关注。专家认为,为了保证软件之间的兼容性,Windows 8不会只推出128位计算技术的版本。最有可能的是Windows 8推出相应的128位计算技术的版本,以培育市场。直到windows 9 全面实施128位计算架构技术。专家预计,随着Windows 7的推出 ,64位计算技术的相应软件将替代32位计算技术的软件成为市场主流。按照每3年推出一款新的操作系统的惯例,Windows8预计会在2012年向全球出售。

专家对此给出的详细3点理由推断:

1.尽管现在市面上的处理器都已经支持64位操作,但是Windows 7为了保持与原有软件的兼容型,依然推出了32位操作版本。所以windows8不会只推出128位计算技术的版本。

2.尽管微软公司可能在技术上足够成熟,但是支持128位操作的芯片非常昂贵,所以即使windows8推出128位计算技术版本,也只能用于服务器市场。

根据以上推断,专家预测,Windows8推出相应的128位计算技术的版本,以培育市场。直到windows 9 全面实施128位计算架构技术,这条消息还是比较可信的。(网易科技讯)

为什么那么多人在打击ie8?

13

分类 : 网络日志 | 发表时间 22-03-2009

微软现在确实还是软件大帝国,在操作系统、办公系统软件领域,在服务器软件平台,都具有举足轻重的地位,可以说他的一举一动,都会在业界掀起争论的狂潮。

ie8在出现的第一瞬间,Linker就获得了消息和下载地址,由于前一段不断有兄弟在讨论说,在林网博客这里看到的文章,其他地方也可以看到,这对于博客存在群体来说,不是一个好事。但对于一个博客的独立存在个体来说,这也是很正常的事,尽管如此,Linker还是没有特别的发布这个比较重要,并且影响力很大的软件资讯。

IE8正式版

Linker安装了ie8正式版本之后,在ie8beta版本中出现的一些问题,还是有些不太适应,不过“discuz论坛上传附件提示路径”问题,已经不存在,查看验证码也没有问题,使用ie8正式版本,查看了几个比较有技术含量的wordpress站,zblog站,以及几个门户网站的几个频道,更是煞有介事的利用ie8给几个朋友到备案网站备了案,很好,很稳定,并且速度确实比ie7,有着明显的区别。

我不是专业的微软产品认证工程师,但对软件应用方面,也是经历了这么些年,还是有那么一点不太权威的感觉的,ie8相比较于ie6、ie7,进步还是有的,Linker经常说,有进度,就是有进步,较之保守、较之顺从大部分网民的ie6使用习惯,而不再升级,不再突破,不再改进,这样要好得多。有进度的前进,哪怕是错误,也是向往理想圆满的排除性进步。

IE8正式版

我不太明白几位很知名的博客站长,为什么那么粗率的针对ie8这样的偏激,黑客竞赛上,虽然google的chrome撑到了最后一刻,但我不认同chrome使用起来非常方便,特别是适合大部分普通网民的习惯,主流应用永远是最重要最关键的,哪怕这一部分是盲目的不进步的,但却是需要我们认真对待的。我赞同支持开源,但凡事不可过于专注,过于偏向会让自己迷失,丧失客观的判断力,一己之私,一己境遇,会让很多只以评论而下定论的人,走入误区,错过进步。

IE8正式版

在堂而皇之的使用正版软件、鄙视盗版,自称道义的时候,就没有想到过,无数的网友还在为基础的生活水平而发愁、奔波,特殊的时代,特殊的群体,就要诞生出特殊的道德标准。不要动辄就以良心、道德压人,你不累,会让很多人更累。

总之ie8正式版本的发布,绝对是好事,广大ie6使用爱好者的未来,需要大家耐心的等待、引导、过渡,只要未来的选择和道路是正确的,没理由止步,但却应该有很简单的理由,去面对,哪怕是未知结果的进步。

增强对木马和病毒防范之几大绝招

0

分类 : 系统安全 | 发表时间 15-06-2006

信息来源:http://gooo.77169.com/archives/2006/77592.html

一、问题的提出

  大部分的木马及部分的病毒是通过注册表的自启动项或文件关联或通过系统服务实现自启动的,那是否有一种方法可以防止木马或病毒修改注册表项及增加服务呢?

  二、问题的解决

  windows2000/xp/2003的注册表是可以设置权限的,只是我们比较少用到。设置以下注册表键的权限:

  1、设置注册表自启动项为everyone只读(Run、RunOnce、RunService),防止木马、病毒通过自启动项目启动
  2、设置.txt、.com、.exe、.inf、.ini、.bat等等文件关联为everyone只读,防止木马、病毒通过文件关联启动
  3、设置注册表HKLM/SYSTEM/CurrentControlSet/Services为everyone只读,防止木马、病毒以”服务”方式启动

  注册表键的权限设置可以通过以下方式实现:

  1、如果在域环境里,可能通过活动目录的组策略实现的

  2、本地计算机的组策略来(命令行用secedit)

  3、本文通过setacl这个程序加批处理实现,可以在http://www.helge.mynetcologne.de/setacl/下载

  4、手工操作可以通过regedt32(windows2000系统,在菜单“安全”下的“权限”)或regedit(windows2003/xp,在“编辑”菜单下的“权限”)

  批处理代码在后面给出。

  如果只有users组权限,以上键值默认是只读的,就可以不用这么麻烦了。

  三、适用人群

  1)、对电脑不是很熟悉,不经常安装/卸载软件的人

  2)、喜欢在网上下载软件安装的朋友

  3)、每台电脑的操作人员都有管理员权限,这些人的电脑水平又参差不齐的企业

  四、还存在的问题

  1)、安装杀毒软件,打补丁的时候都可能对那些注册表进行操作,这样就得先恢复权限设置,再安装,安装完成后重新设置。不方便

  2)、防不住3721,不知是不是3721的权限太高了(听说3721是通过驱动程序启动的,有ring 0级权限)

  3)、只适合windows2000/xp/2003,其他的就没办法了

  4)、只能对付那些简单的病毒和木马

  五、其他

  大家看完本文看,可能禁不住大骂:神经病,两三句话就说完的事,非得搞得像论文,写这么一大堆,浪费我时间。如果真的是这样,那真的是对不起了。只因为公司在实施ISO,我也觉得ISO里提倡的东西蛮好的,为了规范化我的文档,我就多做些练习了。

  打包好的程序可以到:
https://www.xfocus.net/php/tools.php?sub=down&tid=741下载。

  六、批处理源代码

@goto start
==============================================================
名称:反特洛伊木马
功能:

1、禁用自启动项目(run runonce runservices)
2、禁止修改.txt、.com、.exe、.inf、.ini、.bat等等文件关联
3、禁止修改”服务”信息

原理:设置注册表权限为只读

版本修订情况

版本号 修订日期 修订人 修订内容
1.0 2004-12-22 netu0 创建本脚本
==============================================================
:start
@SETLOCAL
@rem 活动代码页设为中文
@chcp 936>nul 2>nul
@echo.
@echo ************************************************************
@echo #
@echo #         欢迎使用反特洛伊木马程序
@echo #
@echo #
@echo ************************************************************

:chkOS
@echo.
@ver find “2000″ > nul 2>nul
@if “%ERRORLEVEL%”==”0″ goto :2000
@ver find “Microsoft Windows [版本 5" > nul 2>nul
@if "%ERRORLEVEL%"=="0" goto :2003
@ver find "XP" > nul 2>nul
@if "%ERRORLEVEL%"=="0" goto :XP
@echo.
@echo #您的操作系统不是Windows 2000/XP/2003中的一种,无法使用。
@goto quit

@rem 在下面语句插不同系统的不同命令
:2000
@set UpdatePolicy=secedit /refreshpolicy machine_policy>nul 2>nul
@goto Selection

:XP
@set UpdatePolicy=GPUpdate /Force>nul 2>nul
@goto Selection

:2003
@set UpdatePolicy=GPUpdate /Force>nul 2>nul
@goto Selection

:Selection
@rem User Choice
@echo.
@echo 请输入以下选项前面的数字
@echo.
@echo 1: 安装反特洛伊木马保护
@echo 2: 删除反特洛伊木马保护(恢复默认设置)
@echo 3: 查看技术信息
@echo 4: 退出
@echo.
@set /p UserSelection=输入您的选择(1、2、3、4)
@if "%UserSelection%"=="1" goto install
@if "%UserSelection%"=="2" goto uninstall
@if "%UserSelection%"=="3" goto information
@if "%UserSelection%"=="4" goto quit
@rem 输入其他字符
@cls
@goto Selection

:information
@cls
@echo

============================================================
@echo #
@echo #         欢迎使用反特洛伊木马程序
@echo #
@echo #功能:
@echo #
@echo # 1、设置注册表自启动项为只读(Run、RunOnce、RunService),
@echo # 防止木马、病毒通过自启动项目启动
@echo # 2、设置.txt、.com、.exe、.inf、.ini、.bat等等文件关联为只读,
@echo # 防止木马、病毒通过文件关联启动
@echo # 3、设置注册表HKLM/SYSTEM/CurrentControlSet/Services为只读
@echo # 防止木马、病毒以"服务"方式启动
@echo #
@echo #注意事项:
@echo # 某些安装程序也会用到以上注册表键,请在安装前运行本程序,
@echo # 然后选择2,恢复默认设置。安装完成后,重新运行本程序,
@echo # 然后选择1,实施反特洛伊木马保护
@echo ==============================================================
@echo.
@echo 按任意键,返回选择
@pause>nul 2>nul
@cls
@goto Selection
:install
@set OP=/grant everyone /read /p:no_dont_copy
@goto Doit
:uninstall
@set OP=/revoke everyone /read /p:yes
@goto Doit
:D oit
@echo.
@echo 正在执行操作...
@rem HKLM
@setacl machine/SOFTWARE/Microsoft/Windows/CurrentVersion/Run /registry %OP%>nul 2>nul
@setacl machine/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnce /registry %OP%>nul 2>nul
@setacl machine/SOFTWARE/Microsoft/Windows/CurrentVersion/RunServices /registry %OP%>nul 2>nul
@setacl machine/SOFTWARE/Microsoft/Windows/CurrentVersion/RunEX /registry %OP%>nul 2>nul
@setacl machine/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnceEX /registry %OP%>nul 2>nul
@setacl machine/SOFTWARE/Microsoft/Windows/CurrentVersion/RunServicesEx /registry %OP%>nul 2>nul

@rem HKCU
@setacl CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Run /registry %OP%>nul 2>nul
@setacl CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnce /registry %OP%>nul 2>nul
@setacl CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunServices /registry %OP%>nul 2>nul
@setacl CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunEX /registry %OP%>nul 2>nul
@setacl CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnceEX /registry %OP%>nul 2>nul
@setacl CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunServicesEx /registry %OP%>nul 2>nul
@setacl CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunServicesOnce /registry %OP%>nul 2>nul

@rem USERS
@setacl USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Run /registry %OP%>nul 2>nul
@setacl USER/SOFTWARE/M
icrosoft/Windows/CurrentVersion/RunOnce /registry %OP%>nul 2>nul
@setacl USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunServices /registry %OP%>nul 2>nul
@setacl USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunEX /registry %OP%>nul 2>nul
@setacl USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnceEX /registry %OP%>nul 2>nul
@setacl USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunServicesEx /registry %OP%>nul 2>nul
@setacl USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunServicesOnce /registry %OP%>nul 2>nul

@rem Services
@setacl MACHINE/SYSTEM/CurrentControlSet/Services /registry %OP%>nul 2>nul

@rem CLASSES_ROOT
@setacl CLASSES_ROOT/exefile/shell/open/command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT/inifile/shell/open/command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT/txtfile/shell/open/command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT/comfile/shell/open/command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT/batfile/shell/open/command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT/inffile/shell/open/command /registry %OP%>nul 2>nul

@echo 正在更新帐户策略、审核策略......
@REM [刷新本地安全策略]
@%UpdatePolicy%>nul 2>nul
@echo 帐户策略、审核策略更新完成

:complete
@echo 操作完成
@echo.
@echo.
@echo 请按任意键退出。
@pause>nul 2>nul

:quit
@rem Clear
@del %systemroot%/system32/setacl.exe>nul 2>nul
@del %systemroot%/system32/AntiTrojanhorse.bat>nul 2>nul

@ENDLOCAL

一个在黑客界引起轰动的菜鸟教材–编程系列

0

分类 : 网络日志 | 发表时间 15-06-2006

跟我学编程系列
原黑白新区记忆碎片的帖子!转贴上来,供大家学习!!!
发现大部分黑白的朋友都不会编程, 这可不是件好事, 所以这次我就写了一个简单的编程教程, 讲一下VBScript. 主要面向菜鸟, 懂得编程的朋友就不要浪费时间了, 如果你想接触以下VBScript也可以, 但既然有编程基础推荐直接去找一些参考书来读, 会比较快.
什么是VBScript呢? VBScript的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版). 正如其字面所透露的信息, VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言. 我进一步解释一下, Microsoft Visual Basic是微软公司出品的一套可视化编程工具, 语法基于Basic. 脚本语言, 就是不编译成二进制文件, 直接由宿主(host)解释源代码并执行, 简单点说就是你写的程序不需要编译成.exe, 而是直接给用户发送.vbs的源程序, 用户就能执行了.
  我知道菜鸟现在最关心的就是用什么工具来开发VBS程序了, 答案是:记事本(Notepad).我不是开玩笑, 其实任何一种文本编辑器都可以用来开发VBS开发, 只不过记事本是由系统自带的, 比较好找而已. 尽管如此, 我还是建议你去下载一个专业的文本编辑器, 因为这些工具可以提供 “语法高亮”等功能, 更加方便开发, 用哪一个随你喜好, 我比较喜欢Edit Plus (2.10).
  OK, 我们先来写一个VBScript程序热热身.
REM 输入并回显你的名字
‘使用InputBox和Msgbox函数
Dim name,msg
msg=”请输入你的名字:”
name=Inputbox(msg,”名称”)
Msgbox(name)
  把上面的程序清单输入到记事本里面, 然后保存为以.vbs为扩展名的文件(“保存类型”里面选择”所有文件”).然后双击运行, 观察运行结果. 注意:请自己输入程序清单, 不要复制->粘贴!
  我来解释一下这个程序, 第一行和第二行的开头分别是”REM”语句和” ‘ “, 这两个东西的作用是相同的, 表示本行是注释行, 就是说这两行什么也不干,只是用来说明这段程序的功能, 版权信息等等. 注释行是程序最重要的部分之一, 尽管它不是必需的, 但对于其他人阅读源代码, 以及自己分析源代码是很有好处的. 好的习惯是在必要的地方加上清晰, 简洁的注释.
  Dim用来声明一个变量, 在VBS中, 变量类型并不是那么重要, 就是说VBS会帮你自动识别变量类型, 而且变量在使用前不一定要先声明, 程序会动态分配变量空间. 在VBS中你不用考虑name储存的是一个整数还是一个小数(学名叫”浮点数”), 也不用考虑是不是字符串(一串字符, 比如:”Hello World”), VBS会自动帮你搞定. 所以第三行语句可以删除, 效果不会变, 但我强烈反对这么做, 一个变量的基本原则就是:先声明,后使用.变量名用字母开头,可以使用下划线,数字, 但不能使用vbs已经定义的字, 比如dim, 也不能是纯数字.
  下一行被称之为”赋值”, “=”是赋值符号, 并不是数学中的等于号, 尽管看起来一样.这是正统的理解, 你要理解成等于也没有什么不可. 赋值号的左边是一个变量, 右边是要赋给变量的值, 经过赋值以后, msg这个变量在程序中等同于”请输入你的名字:”这个字符串,但当msg被再次复制的时候, 原值就会消失. 不光字符串, 其他任何变量都这样被赋值, 例如: a=2, b=12.222等等.
  再往下,Inputbox和Msgbox是VBS内建的函数, 一个函数就相当于一个”黑箱”, 有输入(参数)和输出(返回值), 你可以不用了解函数是怎么运作的, 只要了解这个函数能干什么就行了, 我们也可以定义自己的函数, 不过那要等到以后再讲. 现在我们只要了解, 一个函数可以有返回值也可以没有, 可以有参数也可以没有. 例如Inputbox就是有返回值的函数, 我们用赋值号左边的变量来”接”住InputBox的返回值–就是你输入的内容. 在inputbox右边的括号里是参数列表, 每个参数用”,”分隔开, 每个参数有不同的功效, 比如第一个参数会显示在提示里, 我们把msg这个变量作为第一个参数传给了Inputbox 函数, 而msg=”请输入你的名字:”, 所以我们在对话框的提示栏就会看到”请输入你的名字:” 第二个参数是对话框的标题, 我们用直接量(学名叫”常量”, 这里是”字符串常量”)传递给函数, 当然你也可以传递变量. Inputbox还有很多参数, 比如你在”名称”后面再加一个”,”然后输入随便一串字符(字符串,用双引号”"包裹起来的一串字符叫做字符串)然后运行, 看看结果. 你会发现用于输入的文本框有了默认的值, 这就是第三个参数的作用.
  Msgbox函数是用来输出的函数, 在VBS中没有专门的输出函数(BASIC中的print,C中的printf), 所以我们只能用对话框来观察输出结果, Msgbox的必要参数只有一个, 就是要输出的内容, 在这种情况下, 我们不需要理会msgbox的返回值. 关于Msgbox和Inputbox我们以后还会在讨论, 今天只是热热身, 到此为止.
要点:
1) 注释(以REM或’开头)行在程序中不起作用, 但能让别人更容易读懂你的程序.
2) 变量好像一个盒子, 或一个代号, 可以代表你想代表的东西. 变量赋值使用”=”
3) 以”"包裹起来的字符称之为”字符串”
4) 函数像一个”黑箱”, 有参数和返回值, 用”=”左边的变量可以接住返回值
5) Inputbox函数弹出一个输入对话框,Msgbox则用于输出
作业:
1) 试验Inputbox的第三个参数
2) 写一段程序输出你的年龄
3) 写一段程序进行3次输入, 分别输入你和你父母的姓名(要求显示提示), 并分3次输出
第二篇:
我真没想到, 第一次的作业竟然有人不会.
  看来要讲的非常非常细致才行, 嗯, 今天讲各种”量”和基本运算
  先说常量, 这个比较简单.
  什么是常量呢, 常量就是其值不可变化的量.
  常量分为两种:第一种, 自然常量. 这叫是因为它们本身就是常量, 你怎么更改21的值呢? 他永远都是21, 不可能变成46
如果你在程序中使用”21=46″, 这样的语句将会引发一个错误. 同样的, 字符串也是常量 (还记得字符串吗? 就是包裹在”"之间的一串字符), “Hello World”就是一个例子, 如果你使用”Hello World”=”Bye”这样的语句同样会引发一个错误. 你能举出自然常量的更多例子吗?
  第二种, 是我们自己定义的常量,这种量也使用代号, 他们也被赋值, 但和变量的不同点在于, 他们在定义的时候被赋值,以后就不能改变了,如果企图改变将会引发一个错误. 定义一个变量,我们使用”const”这个关键字(关键字的意思是系统定义了有特殊功能的字, 不能作为变量名或常量名使用),格式是:const 常量名=常量值.
例如:
const PI=3.1415926
const NAME=”记忆碎片”
  这样我们就定义了两个常量, PI和NAME, 一般说来, 常量名全部使用大写, 但也可以不用, 随你喜好. 将一些在程序中不需要改变的值定义为常量是个好习惯, 这样能防止不必要的意外. 另外, 使用自定义常量也可以减少你的工作量. 比如:
msgbox(“Hello World”)
msgbox(“Hello World”)
msgbox(“Hello World”)
msgbox(“Hello World”)
msgbox(“Hello World”)
  这个程序输出五次Hello World, 如果你想要改变输出为Bye-Bye, 就必须修改全部程序, 当然你可以手动修改5次, 但如果你要输出1000次呢? 常量就可以替我们解决这个问题:
const hw=”Hello World”
msgbox(hw)
msgbox(hw)
msgbox(hw)
msgbox(hw)
msgbox(hw)
  这样当你要修改输出的时候只要修改hw的值就行了.
  好了, 现在我们来看看编程的第一块重要”基石”:变量. 解释变量最好的办法我觉得是”盒子”, 一个变量好像一
个盒子, 里面只能装一个东西, 当你要装进去别的东西的时候必须把原有的东西拿出来. 这个”盒子”是有名称的, 当你在程序中使用变量的时候, 系统会打开盒子取出里面的东西, 让这些东西参与处理, 而不是盒子. 有些语言是很依赖”盒子”里面装些什么东西, 这样才能找到合适的”盒子”(比如C语言), 但VBS给我提供的是能够自动伸缩的”魔术盒”, 我们不用关心装进去的是什么东西,
VBS会自动调整盒子的大小. 例如:
Dim a1,a2,a3
a1=14
a2=12.23
a3=”Hello”
而不用像C语言那样麻烦: 或者是VB的正规声明(VB可以声明也可以不用)那样:
int a1; Dim a1 as integer
float a2; Dim a2 as Double
char* a3; Dim a3 as strnig
a1=14; a1=14
a2=12.23; a2=12.23
a3=”Hello”; a3=”Hello”
嗯……扯远了……
  变量有什么用呢? 哇, 那用处可大了. 最简单, 你并不能确定程序运行时变量的值, 比如前一节课我们编的输入姓名的程序, 你不能确定InputBox返回的是什么(还记得Inputbox的返回值吗? 就是你输入的内容), 所以你就没有办法应对各种情况, 但我们用name这个”盒子”把用户的名字装起来, 到用的时候我们只要知道name这个盒子的名字就行了, 系统会自己打开他并把里面的内容拿出来用. 再举个例子, 我们编写一个程序计算一个矩形的面积, 比如这个程序要发给小学生使用:
dim a,b,s
a=15
b=12
s=a*b
msgbox(s)
  这样就可以求出长为15,宽为12的矩形的面积了, 是不是很简单? 当然, 这个程序也可以这样写:
dim s
s=15*12
msgbox(s)
  这样看起来程序短了许多, 也节约内存, 但并不是鼓励的做法, 为什么? 请看下面.
  现在, 我们的程序要变得像点样子才行, 谁的程序写出来还要别人修改源代码才能用啊?
  所以, 我们要接受用户的输入, 还记得吗? InputBox函数.
  修改后程序如下:
dim a,b,s
a=inputbox(“请输入矩形的长:”)
b=inputbox(“请输入矩形的宽:”)
s=a*b
msgbox(s)
  ok, 这么一修改, 无论用户输入怎样的数据, 我们都能计算出矩形的面积了. 如果你用s=15*12能改嘛? 当然不行.
  我想你已经发现了, vbs中的数学计算和真正的算术没有什么不同, +,-,*,/,(),[],{}都是一样的用法, 比如:
dim ans
ans=12+32/4+[(23-10)*2]
msgbox(ans)
  四则运算的法则在编程中同样生效, 你可以在编程中重新获得小学时候的乐趣(你恨数学?那就别学电脑了).
  在编程中有一个有趣的运算符是”mod”, 这个运算符叫做”取余运算符”, 就是取得一次除法的余数, 例如
dim a
a=16 mod 5
  你知道a等于几吗? Bingo! 没错, 就是1. 因为16 / 5 =3….1, 所以mod计算的结果就是1.
  还有一个运算符是”^”(就是键盘”6″上面的小箭头), 他表示”乘幂”(或者是”方”) 比如:
dim a,b,c
a=2
b=a^2
c=a^3
msgbox(a)
msgbox(c)
  则b=a*a=4, c=a*a*a=8
  我们一次不要讲太多, 这次就讲到这里, 现在总结一下.
要点:
1) 常量分为自然常量和自定义常量, 常量的值不可修改
2) 变量就像盒子, 我们不在乎盒子里装的是什么, 但一定要知道盒子的名字
3) 四则运算在编程中没有任何不同
4) MOD是取余运算
作业:
1) 编一个程序, 计算圆形的面积, 半径由用户给出 (使用Inputbox) PI取值3.14159
2) 编一个程序取得20 / 3 的余数

第三篇(共六篇):



首先, 我来解决一下上次课程的几个疑问

第一, 那个余数问题, 16 / 5 = 3…1, 是因为我改过前面的部分, 后面的忘了改了, 不好意思.

第二, 请看一下程序清单:

1)
Dim a,b,c
a=inputbox(“a是:”,”输入半径”)
b=Inputbox(“b是:”,”输入半径”)
c=a*2+b*2
Msgbox(c)
这个 输入1、2时是6

2)
Dim a,b,c
a=inputbox(“a是:”,”输入半径”)
b=Inputbox(“b是:”,”输入半径”)
c=(a+b)*2
Msgbox(c)
这个输入1、2时是24

  为什么会不一样呢? 在数学上c=(a+b)*2 和 c=a*2+b*2是等价的, 在VBS中也是如此. 问题出在”+”上, 在VBS中, +不仅仅是加号的意思还表示把两个字符串连接起来, 例如”Hello”+”World”=”HelloWorld” have you understood? 你还记得InoutBox函数的返回值吗? 是字符串! 这就看出问题了吧, 在编程中”1″不等于(<>)1, “1″是一个字符, 而1是一个数, 所以a,b都是字符串变量, “1″+”2″=”12″, 这就好像我们小时跟伙伴开玩笑问他们1+1=?一样, 我们总是笑着说”错啦,应该是11″.但为什么, a可以*2却不发生错误呢? 这时VBS比较智能的一个表现, 如果这个字符串的内容是一个数且对他进行数学运算, 则把字符串强制转换成数参与运算, 如果字符串代表一个数, 但不参加数学运算, 而是参加字符串运算(合并)则当作字符串处理, 所以你看到a+b=12, 这时候a+b的结果(12)是一个字符串, 当它要乘以2的时候就被强制转换成了数字12, 这样我就得到了结果24.

  怎么修改这个程序呢? 我们需要用到另一个内建的函数:int, int函数的功能是将输入值转化成整数值, 我们这样修改:

c=(int(a)+int(b))*2

  这个意思就是把a作为参数传递给int函数, int函数就会返回那个整数(你的输入值), 然后让返回值参与运算, 这样就得到了正确答案.所以,以后如果你用的是inputbox函数的话,最好用int语句加工一下:比如c=int(c) ””c是你自己的变量

  大家是不是觉得这个课程有点枯燥, 呵呵, 变量和运算符部分的确是这样的, 不过多多练习也就好了, 这次, 我们写写真正好玩的东西: 流程控制语句. 这个部分开始才是真正的编程.

  首先介绍判断结构.

  在此之前, 我们先介绍一种简单的变量类型:布尔值(Boolean), 这种变量只有两个可能值:True,Flase,即真或假. 这种变量在某些情况下很有用(比如”开关”). 我们定义一个bool变量的方法和其他变量一样, 赋值也一样, 例如:

dim a,b
a=true
b=false

  注意,true和”true”是不一样的, “true”是字符串,true是布尔值, 千万不能混淆.

  回到if语句上来, 我们先来看看简化版的if语句:if 判断式 then 语句体 我们来看一个例子:

dim a,b
a=12
b=13
if b>a then msgbox(“B大于A”)

  我们只看最后一行, a>b这个式子(表达式)有一个返回值, 是bool型的. 因为这个式子只有两种可能:b大于a, b不大于a, 所以这个式子也只有两种可能性, 即真或者假. if语句判断这个表达式的返回值是真还是假, 如果是真(true)则执行then后面的语句, 如果是假, 则不执行, 你把a的值改成14看看还会不会弹出对话框?

  当我们要在判断之后执行多行语句怎么办呢, 我们需要用语句块来解决, 在这里可以叫块if

dim a,b
a=12
b=13
if amsgbox(“A小于B”)
msgbox(“B大于A”)
end if

  两个msgbox函数夹在if和end if之间, 这个部分就是语句块, 块里的每一条语句之前请空出4–8(一个键)个格, 这不是必需的, 但是是一个好习惯, 以便看清楚程序的结构. 这样我们就能运行多于一个的语句, 请注意if…then…end if 这三个关键部分不要掉了. OK, 我出一个题, 输入一个数, 如果小于100就输出”错误”, 如果大于100就输出”正确”, 我这里有两个程序版本:

dim a
a=inputbox(“请输入一个大于100的数”)
a=int(a) ””inputbox返回的是字符串, 我们把他变成整数 : )
if a>100 then msgbox(“正确”)
if a<100 then msgbox("错误")

还有一个更简单的

dim a
a
=inputbox(“请输入一个大于100的数”)
a=int(a) ””inputbox返回的是字符串, 我们把他变成整数
if a>100 then
msgbox(“正确”)
else
msgbox(“错误”)
end if

  看到多了一个else了吧, else的作用就是当要判断的表达式为false时执行的. 这样程序就可以处理两种不同的情况了. 不要忘了用end if结尾

  嘿嘿, 我是变态者, 现在我要你处理三种情况, <100,=100,>100, 还要写在一个if结构里, 你怎么办, 我给你答案:

dim a
a=inputbox(“请输入一个大于100的数”)
a=int(a) ””inputbox返回的是字符串, 我们把他变成整数
if a>100 then
msgbox(“正确”)
elseif a=100 then
msgbox(“老大, 你耍我?”)
else
msgbox(“错误”)
end if

  这次输入100看看, 是什么? else if语句可以在if结构中多次出现, 以灵活判断不同的情况 (如果你要判断得太多, 就请使用”选择结构”, 过会儿就讲), 当所有elseif都处理完了,而没有符合情况的时候再执行else中的语句.另一个例子:

Dim a,b,c,d
a=inputbox(“a是:”,”输入半径”)
b=Inputbox(“b是:”,”输入半径”)
d=Inputbox(“答案:”,”输入答案”)

c=a*2+b*2 ””这里没有问题, 会自动转换
if d=c then
Msgbox(“你好聪明”)
else
Msgbox(“你好猪头 自己的题还不会!”)
end if

  再看看这个, 无论你回答得多么正确你都是猪头, 哈哈, 不是我耍你, 还是文章开始时候的inputbox的返回类型在耍你, d是inputbox的返回值, 他是一个字符串, 而c是一次整数计算的结果, 他是一个整数. 一个字符串无论如何也不等于一个整数, 尽管他们字面上是一样的:”8″<>(不等于号)8 所以if的判断式的值永远是false, 总是执行else部分的语句. 我们可以这么修改

Dim a,b,c,d
a=inputbox(“a是:”,”输入半径”)
b=Inputbox(“b是:”,”输入半径”)
d=Inputbox(“答案:”,”输入答案”)
d=int(d)
””在这里我们取出了d的值, 变成整数, 在放回”d”这个盒子里
c=a*2+b*2
if d=c then
Msgbox(“你好聪明”)
else
Msgbox(“你好猪头 自己的题还不会!”)
end if

  这样就成功了. 这也是Inputbox函数的一个讨厌的地方, 没办法, vbs没有其他好的输入方式了.

  说到if, 我们不得不说一说逻辑运算符, 今天介绍两种, “and” 和 “or” 学会了if语句之后, 我举一个例子, 你一看就明白了.

dim a,b
a=inputbox(“输入一个数 >10″)
b=inputbox(“输入另一个数 >10″)
a=int(a)
b=int(b)
if a>10 and b>10 then
msgbox(“正确”)
else
msgbox(“错误”)
end if

  这段程序让你输入两个值, 必须都大于10, 只要有一个不大于, 就输出错误

dim a,b
a=inputbox(“输入一个数 >10″)
b=inputbox(“输入另一个数 >10″)
a=int(a)
b=int(b)
if a>10 or b>10 then
msgbox(“正确”)
else
msgbox(“错误”)
end if


  这段程序让你输入两个值, 只要有一个大于10, 就返回成功. 其实and和or很好理解, 我读”if a>10 or b>10 then” 这一句, 用华语是这样:”如果a大于10或者b大于10, 那么…”. 这样是不是就很好理解了呢.

  OK, 我们再来看一种新结构, 今天的课就结束, 已经午夜了, 我都累死了.

  当你的程序要处理很多种不同的判断情况的时候elseif..then会让程序看起来很杂乱, 所以就有了一种select case结构专门对付这种情况, select case的语法结构很简单:

select case 变量名
case 值
语句
case 值
语句
case else
语句
end select


  我们举个例子就能很简单的说明:

dim a
a=inputbox(“输入一个1–3的值”)
a=int(a) ””处理inputbox返回字符串的问题
select case a
case 1
msgbox(“壹”)
case 2
msgbox(“贰”)
case 3
msgbox(“叁”)
case else
msgbox(“输入错误”)
end select

  这个例子把1,2,3这三个阿拉伯数字转化成中国大写数字, 这个程序写成if…elseif 的形式如下

dim a
a=inputbox(“请输入1–3的值”)
a=int(a)
if a=1 then
msgbox(“壹”)
elseif a=2 then
msgbox(“贰”)
elseif a=3 then
msgbox(“叁”)
else
msgbox(“输入错误”)
end if

  怎么样, 麻烦吧, 还是select好吧.

  OK, 今天到此结束, 总结一下:


要点:

1) inputbox返回的是一个字符串, 而不是一个数, 必须用a=int(a)这种形式转化成数

2) bool变量的值只有两种:true,false

2.5) and两边的表达式都是true, 则返回true. or两边的表达式有一个是true, 就返回true

3) if 语句的格式

4) select…case的格式


作业:

1) 使用3个bool值, 储存你的3兄弟姐妹是否是男性 (提示:sister1male=false)

2) 给定一个个数, 大于10而且小于20输出”正确”, 否则输出”错误”

3) 输入12,或者15, 输出”正确”, 否则输出”错误”

4) 把5以内的正整数都转换成中国大些数字

5) 自己随便设计一个程序, 应用今天的知识

四篇(共六篇):



大家好, 昨天我休息了一天, 所以今天写第4章:循环结构

  我们先来看一道题:商场进行每日结算, 要求累加出今天的营业额, 每次输入一个数, 这道题其实很简单, 但就我们现在学

过的知识要完成这道题相当麻烦, 我们来分析一下. 首先, 我们需要知道买卖的次数, 这样才能控制输入的次数,但是, 这种设

计是非常低效的, 每天都要重新设计程序. 假定今天进行了5次交易, 以下是源程序:

dim sum
sum=0 ‘初始化变量
sum=sum + int(inputbox(“请输入交易额”))
‘sum=sum+x 这种形式是把本身的值取出来, 进行一次运算, 再放回本身, 这种方法很有用处
‘这里使用了函数嵌套, 把inputbox的返回值直接传给int函数, 转化成整数, 下同
sum=sum + int(inputbox(“请输入交易额”))
sum=sum + int(inputbox(“请输入交易额”))
sum=sum + int(inputbox(“请输入交易额”))
sum=sum + int(inputbox(“请输入交易额”))
msgbox(sum)

  看到了吗, 我通过把计算过程复制了5遍才设计好了程序, 这种程序在汽车交易所等交易次数少的地方还能凑合着用, 如果

放到超市岂不是要复制, 粘贴几千遍? 我们今天讲的内容就可以克服这种缺陷, 首先, 我们来讲以下Do…Loop语句.

  do…loop的结构看上去非常简单, 就是:do…loop, 仅此而已, 这个结构不断执行do和loop之间的语句(学名叫:循环体),
永不停止. 举个例子来说:

do
msgbox(“这个信息会不断重复出现, 要停止程序请使用任务管理器(Ctrl+Alt+Del)中止wscript进程”)
loop

  运行这个程序, 当你点销掉一个对话框马上会出来另一个, 你永远点不完, 总有下一个. 谁会运行这样的程序? 除非是给

别人捣乱(我就干过这种事), 所以在do..loop结构中还有一个语句:exit do, 这个语句将终止循环, 跳到loop后面的语句继续

执行. 据个例子来说:

dim a ‘注意:常量不需要在dim里面声明,否则会引发错误
const pass=”123456″ ‘这是一个字符串 请用”"包裹起来. 设定密码为常量, 不可变更
do
a=inputbox(“请输入密码”)
if a=pass then
msgbox(“密码校验成功”)
exit do
end if
loop

  这个程序会一直不停的问你密码, 知道你输入了正确的密码为止.(if可以嵌套在另一个if当中, 也可以嵌套在循环体当中

, 所以一定要用缩进, 来分清楚程序的各个部分). 这个程序是很经典的, 早期的程序都是这么做的. 但是我

杀毒–难道非要用软件(人毒大战的终级指南)

0

分类 : 技术文摘 | 发表时间 14-06-2006

杀毒——难道非要用软件?(人毒大战的终级指南)

在下Creamdog,可以算是一名熟练的C++程序员了,从业六年。曾尝试过写杀毒软件,仅限于对某一种或几种类似病毒的专杀。我的主攻是三维引擎和仿真领域的数据结构和算法,对杀毒软件这种体力活并不在行,因此没有过多的研究,但对于其机理还是有一定了解的。对于琳琅满目的杀毒软件我一向是不屑一顾,因为他们不仅不能够有效的防范、查杀,自己有时也有一些流氓行为,不仅让计算机性能极剧降低,占用了巨大的内存资源,更为可恶的是有时将病毒杀死后竟藏匿尸首,令人哭笑不得。我数年来从未用过任何杀毒软件杀毒,一切病毒靠人工查杀,机器没有一次因病毒而瘫痪,因此我在在预防和查杀上积累了一些经验,希望和朋友们分享。下面将从预防和查杀两个角度展开讨论,希望此文对于饱受病毒之苦的朋友有所帮助。

预防篇

一、98?ME?2K?XP?Vista!?
操作系统是最需要得到重视的,我估计至少有90%以上的病毒是通过各类操作系统漏洞而感染机器的,因此要想从根源上断掉病毒的根,务必从操作系统入手。我更情愿将机器抵抗病毒的能力比喻为人的免疫系统,而操作系统正像人类免疫系统的第一级——皮肤,因此选择一款安全的操作系统是非常重要的,下面是我对MS各操作系统的看法。98和ME已被我列入黑名单,MS实际上已经放弃了对它们的支持,不会再对其安全性做大的升级了,我想它们对于大家来说也没有什么值得留恋的,正如盖茨曾说的“一晃二十年,形式变了!”但如果你必须要使用,最好的防毒办法就是“物理断开”。网线是一定要拨掉的,光盘、软盘、MP3、移动硬盘……还是少插为妙。有人要问了,什么都不能用,我还用98/ME干嘛呀?是啊,我也不知道您非要用98/ME干嘛!我推荐使用2K和XP,尤其是XP。对于目前来讲,XP的安全性还是最高的,微软出任何补丁也是先给XP出。虽然XP有正版验证的问题,但总有办法破解的,下面我会提到。对于新出的vista,我抱有一定的期望。这一次它的发布又跳票到2007年的1月,可见MS对于其安全性之重视程度。希望在未来的几年,我们会过上高枕无忧,藐视病毒的日子。要想了解关于各操作系统的安全性的详细介绍,Google一下!不过我们下面还是来说现实的事吧。

二、更新•更新•再更新
如果windows的自动更新它总是跳出来,恭喜你,你的机器中毒的机率已经很小了!让机器的自动更新功能打开,时刻与微软保持一致,你将几乎不可能遭受到来自互联网的病毒攻击。如果您是新装的操作系统,强烈建议在安装任何程序,访问任何网站之前访问http://www.windowsupdate.com/,并按照提示安装各类更新,可能在安装的过程中重起,重起后需要再次访问,直到它报告你的机器暂时没有任何可用的更新。这时你的操作系统就是安全的了。但MS动用的正版优势计划无疑对于我们这些用D版的人来说是严重的打击,然而道高一尺魔高一丈,对于2K来说,正版验证实同虚设,根本不予正视。而XP就比较讨厌了,前几天MS又强化了验证的有效性,使得靠修改data.dat文件来更新的人一下子手足无措。但令人惊奇的是,MS依然没有封掉JS的调用,我们依然可以通过调用JS函数的方法来绕过正版验证。方法是先进入更新站点,停在第一个页面应该是有“快速”和“自定义”两个按钮,此时将下面的语法输入地址栏:java script:void(window.g_sDisableWGACheck=’all’),然后按回车,你回惊奇的发现——什么也没有发生。但此时您应当仰天大笑了,直接点“自定义”看看,根本就没有验证那回事了!另外有些朋友问我,为什么总是不能更新,开始我也觉得很奇怪,因为一切都对路,但总是提示没有打开那两个讨厌的服务——AutoUpdate&BackTrans——实际上服务正运行着。后来我才发现服务光开着是不行的,还需要将启动类型设为自动。设定后一切问题都立即烟消云散了。下面我们将面临一个是鸡生蛋还是蛋生鸡的问题,我们所面临的情况是每天都有上百种新病毒或其变种问世,每一秒种无数的病毒都在伺机对任何可能的端口发动攻击,然而我们才装的机子就像刚出生的小孩,没有任何抵抗能力,想直接去MS更新谈何容易,在更新期间中毒是再正常不过的事!幸好对于XP和2K来讲都有强大的更新合集,简称SP。希望大家在电脑正常的时候未雨绸缪,从官方下载之,约有一二百兆,可能对于网速慢的朋友来说比较大,但当您需要重装系统的时候,这是您唯一的“还魂丹”!XP目前是SP2,2K是SP4,注意版本。除了SP,随时下载小更新也是很必要的,如果你不清楚近期你的机器自动安装了什么更新,可以到控制面版的“添加删除程序”里查一下(注意,XP要点上面那个“显示更新”)。要下载的话,先记下它们的编号,一般是KBXXXXXX或QXXXXXX,然后到http://www.microsoft.com去搜索这个号就可以得到下载的地址了。这也许对英文有点抱歉的朋友来说是比较麻烦的事,但国内也有一些网站提供了定期的更新合集下载,可以一试。Google一下!

三、上网=中毒?
网页里经常暗藏杀机,对于机器来说,网页恶意程序是计算机的第二大杀手。我将它比喻为人类的呼吸系统,因为现在计算机不能停止上网就像人类不能停止呼吸一样,而人类的每一次呼吸都意味着可能染上可怕的疾病,比如时髦的SARS和禽流感。但不知您注意到了没有,我并没有在这里提到病毒二字,因为我这里所说的只是普通的网站网页,不包括网页上链接的程序,程序的问题下面会讲到。一般来讲网页能做的还没有那么多,顶多是各种脚本写成的恶意程序,并不具有传染性,因此不能称之为病毒。但千万别小瞧它们,让你的IE病到生不如死还是比较轻松的,他可能会修改你的注册表,让你不能够访问IE的属性;也可能不时弹出/关上你的光驱,让你惊恐万分;也可能将你在网上的信息散之天下;当然,最可怕的事就是只要你一开机就弹出无数的广告窗口让你无法使用。看到这里的朋友相信有很多都在咬牙切齿,谁又不是从这一步走过来的呢?当我们有了Maxthon这样的软件,真的一切问题都搞定了,能禁止下载的全部禁止,能屏蔽的广告全部屏蔽,我不相信单纯的网页又有多大的本事能够冲破Maxthon这个好卫兵的门关!

四、软件是可怕的寄主
如果您按照我上面所讲的内容将最基本的“皮肤”和呼吸这两关打好了预防针,其它的就比较好办了,因为我们致少可以保证在下面进行的查杀毒过程中不会二次中毒。俗话说“病从口入”,计算机也是这样的,第三道免疫的重点关卡“口”就是我们常用的各类软件。机器装的软件越多越杂,中毒的可能性就越大,因为现在各类软件就是病毒的最好寄主,尤其是从网页上下载的各种小软件。对于这类病毒攻击其实我也没有太好的办法,实际上,我的机器也常染上一些病毒,但一般的在发作之前就被我干掉了,因为我清楚的知道我装的软件向我机器上写入的每一字节数据,而做到这一点则需要很多年的经验,对于大多数涉网未深的网友又该如何是好呢?我想最好的办法还是自己谨慎。有几个原则要说明的,邮件里来的附
件一律不要打开;你并没想下载什么而自动跳出来让你下载的一律不要下载;网页上弹出的诱人的信息问你是否查看的一律要点“否”;凡是弹出来ActiveX要安装如果你不是非常的清楚并有安装的经验一律不要安装(Microsoft除外,那是自动更新);没有被其它网友推荐过的软件一律不要下载。能做到上面这几个一律的话,我想你已经将机器的第三道免疫关把的很死了。还有一点是不得不提的,那就是现在流行的一个新词汇——流氓软件。它们并非病毒,也非恶意程序,堂尔皇之的挂上官方的旗号,名正言顺的进驻您的机器,但它们从不干好事。无法干净的卸载事小,上网经时经常受到骚扰就很讨厌了,它们唯一的目的就是令所谓的“官方”获益。3721、中文上网、百度工具条、网络猪之流正是如此,要获得完整的流氓软件列表,请Google“流氓软件”。对于我本人来讲,因为业务需要,所以经常要试用一些陌生的软件,这也给病毒攻击带来了机会,然而对于大多数网友来说,计算机只不过一是台“游戏机”或“家庭影院”,其它能用到的功能用的并不多,因此一份各类软件的推荐列表是很重要的。我会尽快出这样一份列表,包括我能想得到的各类用途的软件,选出公认最好的一两种,附上官方下载地址,以帮助朋友们为机器把好免疫关。目前您要是想了解对于各类软件哪些是公认最棒的,还是那句老话:Google一下!

五、光盘、软盘、MP3、移动硬盘……
这是病毒攻击你的最后机会了,因为这些都是硬性插入你的机器而使你的机器得病的,所以我实在不想用人的免疫系统来比喻了,原谅我吧,那太可怕了。如果你的机器有最新的补丁,我想还是可以放心的打开它们的,只要不随意运行来历不明的程序。不过将所有的自动拨放都关掉还是很必要的!对于2K,自动拨放在设备管理器中,查看光驱的属性就可以取消。对于XP,在盘符上点右键,进入属性就可以设置,具体操作我不想多说了,那不是本文的重点,请自行Google。另外,如果你真的对机器的安全性要求很高,那么在你打开这些盘之前,最好还是先用命令提示符进入,看看根目录下有没有可疑的文件。这一步仅限有经验的朋友。

六、系统设置,无懈可击的境界
虽然免疫系统已经万无一失,但人的操作总会出现一些问题,导致病毒有可乘之机。那么从病毒攻击的手段上来讲,我们可以采取一些补救性的措施。将服务列表中没用的服务全部禁用是非常好的做法,尤其是像Task、Message这类服务是一定要禁用的,因为它们常被病毒所利用!偶尔会用到的服务尽量采用手动启动,这样会为将来的查毒提供方便。有关各服务的详细说明,网上到处都是,Google一下就可以得到。请朋友们根据自己的需要设定吧!我的服务列表里自动运行的服务只有二十来个,这已经足够了。另外可能被病毒攻击的地方就是各种即时通讯软件。QQ这样有一定流氓性质的软件,用起来一定要小心,任何人发来的信息中包括的链接不要随便点,实在要看的话,复制到Maxthon里,在所有屏蔽功能打开的状态下前往,这样您将会得到最有效的安全保障。其它可能会自动上网更新的软件,尽量设置为不自动更新,有时他们的行为会令你摸不着头脑,甚至会被误判为病毒,为查毒操作带来相当大的干扰。定期去官网更新是最安全的方式。

到此为止,预防的工作您已经作的很好了,任何的杀毒软件、防火墙(包括XP自带的)你都可以藐视之,并笑傲江湖。但天有不测风雨,再好的免疫系统也有失效的时候,如果您真的由于操作不慎而导致不幸中招,那就请看下面的查杀篇。记得,查杀只能是一种补救措施,而且任何查杀的措施都只能在预防措施完善的情况下进行,因此防患于未燃才是最重要的。


查毒篇
一、工具
虽然不用杀毒软件,但并不意味着不使用任何工具。要想有效的处理病毒,有两类软件是必不可少的,一是进程管理,二是安装监控。进程管理软件目前最好用的是ProcessExplorer,Google一搜就有,它是完全免费的,请前往官方网站下载最新版。安装监控软件我并不想给大家推荐完美卸载之流的软件,因为他们本身都有一定的缺陷,但这类软件对于新手来讲还是必要的,至少可以让你看到一个安装程序运行的每一个细节,以积累一些查毒经验。我推荐使用的是RegMon软件,它也是完全免费的,并且功能强大,可以随时监控任何程序对注册表进行的任何读、写、创建等操作,这是我们将病毒清理干净的一把利刃,请前往官方网站下载最新版。以上就是我仅仅推荐的两款软件,都是很小的绿色软件,大家放心使用吧!

二、半自动实时监控
我们对于病毒最大的问题是如何知道病毒程序正在运行,这也是电脑新手面临的最大难题,他们往往借助于各类杀毒软件。但这不仅于事无补,并且会导致你的机器性能大幅下降。我做过测试,在同样的机器,上同样时长的网,开杀毒软件导致的用电量都将比不开杀毒软件高出30%左右,这太可怕了。众所周知,我国目前的电能资源极度紧缺……。好,朋友们会问了,不用杀毒软件你怎么知道机器被病毒感染了?我想告诉你的是每一台计算机都有两套天生的病毒警报装置,一套就是机箱上的HDD端口(硬盘)指示灯。学会观查指示灯状态,听辨硬盘的读盘声是非常重要的,也并不很难。首先我们要明确的知道我们现在正在机器上做什么,用到的程序是否会大量的读写硬盘。显然,没有任何一种应用软件在使用的时候会从头到尾不停的读写硬盘(磁盘碎片整理程序等除外),事实上运行大多数程序时,绝大多数时间硬盘也应该只是处于偶尔闪烁一下的状态,包括听歌、看电影、写文档、上网下载甚至是打游戏!但如果硬盘灯在不停的闪,并不断的发出“巨大”的响声,而你并没有进行很复杂的操作,那你的机器就很可能有危险了。排除检测法是很必要的,当你发现机器的硬盘不正常的运作,请将所运行的程序一个个的关掉,直到硬盘工作状态缓和下来。这样就很可能发现原来是某一个程序整在干“坏事”,不过当你把所有的程序都关掉时硬盘仍然在不停的运作就是令人感到非常不安的信号,这时您就应该高度的警惕了!另外一套自动警报装置来自于系统的响应效率。如果你发现你并没有运行什么操作繁杂的程序,但机器却变的很慢,甚至连打开“我的电脑”都要花一些时间的话,我将不幸的告诉您,您的机器八成是中毒了。效率低也可能分几种情况,比如时不时的顿一下,或着每次开机需要很长时间等,这都应该引起我们的注意。当然很多病毒在潜伏期是很安静的,对于这种病毒我们又如何才能发现呢?这确实是一个问题,但很有经验的朋友并不会为此感到担心,因为只要是病毒总会做出一些细小的动作,如果您对你的机算机上任何一个程序的运行过程都了如直掌的话,那病毒隐蔽的再好也不可能逃过你的眼睛。当然这需要长期积累的经验,没有经验的朋友请看下面的内容吧,一台高效病毒监控仪将会成为病毒最残忍的克星!

三、每一个进程都是我们的朋友
孙子曰“知己知彼,百战不殆”,我们必须

入侵网站的各种漏洞的利用

0

分类 : 系统安全 | 发表时间 13-06-2006

信息来源:慕容小雨’s blog

慕容小雨何许人也,偶不认识,不过听neeao说过多次,再从作品上看,当非凡人也!呵

各种漏洞的利用和一些搜索参数
说到漏洞,首先应该提到的就是动网的上传漏洞了。

“洞网”漏洞拉开了上传漏洞文件的序幕,其他系统的上
传漏洞接踵而来!

asp动网论坛漏洞分析

1、这个漏洞不算太严重,用过动网论坛的人都知道,发帖时直接写javascript会被过滤拆分,写http会自动加上链接,漏洞就在此,在这两个地方变通一下,把两个单词的某个字母换成编码形式,然后系统再对应地解码回字母,就达到了避免被过滤的目的。例子说明一下,在发帖时写入[img]javas&#x63ript:window.open(‘htt&#x70://www.fwcn.com’,”)[/img] 很清楚地看到,#x63解码的字母是”c”,#x70解码的字母是”p”,&起到连接作用,最后加上[img],使JS被触发,如果论坛支持flash插入,用[swf]也可。利用这个漏洞可以搞些恶作剧,写上诱人的主题,点进去结果是他的主页(骗点击率,作广告),甚至更绝,连到一个有病毒、木马的网页上,让你直想骂娘。这个漏洞存在于动网的各个版本,包括较新的0519版,覆盖面积之广让人瞠目,各人认为应该对某些非法字符进行检测剔除,而非简简单单地拆分了事,真希望动网开发者能尽早补上这漏洞。

2、比起前者,第二个漏洞问题就大啦,利用该漏洞可以破解掉论坛上所有注册会员的密码(恐怖~~~),由于论坛管理员通常直接把论坛程序载下来梢加以美工就拿来使用了,图方便直接导致了漏洞的出现,我们也载一个回来,只要看一下动网的数据库,就知道了密码的字段为userpassword,接着例如要破一个名叫abc的用户密码,首先察看abc的用户资料,给出的连接是http://xxxxx/dispuser.asp?name=abc ,在dispuser.asp中,读取参数的语句是:username=trim(request(“name”)),数据库的查询的语句是: sql=”select * from [user] where username=’”&username&”‘”,看得出来, abc就是直接被作为了dispuer的一个参数username,另外,如果该用户不存在,程序就会给出提示,既然如此,我们就再写入个查询密码的条件,在where username=abc后面加上and userpassword=”******”,理论上这样就可以实现对密码的破解了,但这么破要破到何年何月,现在就要轮到VBS函数大显身手了,可以先用len函数试出用户的密码位数,地址就这么写http://xxxxx/dispuser.asp?name=abc'%20and%20len(userpassword)=5%20and%20’1′=’1,这么看可能不好理解,放到sql语句里其实就是这副样子:sql=”select * from [User] where username=’abc’ and len(UserPassword)=5 and ’1′=’1′”,现在明白点了吧,%20是空格,abc后面的单引号和’1′=’1里的单引号都是为了和sql语句相匹配。奇怪,该用户不存在,喔?那就说明符合这个条件的用户没有,继续,把5换成6,7,8,依此类推,只要能显示出用户资料了,就说明密码位数猜对了。接下来要做的就是试每位的密码是多少了,继续要用到VBS,可以用left或right或mid函数,http://xxxxx/dispuser.asp?name=abc'%20and%20left(userpassword,1)=’a,如果猜对了就给出用户资料,猜对了就给出该用户不存在的提示,这样子还是嫌太慢,那就在外面再套个asc函数,http://xxxxx/dispuser.asp?name=abc'%20and%20asc(mid(userpassword,1,1))>’50 试出用户密码的ASCII码是否大于50,不断地缩小范围,相信很快就能将范围缩小至个位数,看到这里你是否惊出了一身冷汗,起码我是如此,*几个函数的灵活运用,保守地说,不出半小时就能破解出密码。真是不幸中的大幸,动网开发者在后来的05**版后使用了MD5的加密,这下子总算放心了,但介于国内还有许多地方在使用老版本的动网论坛(包括一个小有名气的flash站点)

3 、动网SQL语句漏洞
此漏洞针对动网SQL版本。
测试方法:在http://ip/bbs/admin_index.asp 输入用户名是’or”=’ 密码也是这个
这样可以跳过认证
原理:利用SQL语法。输入的密码和ID就成为一个合法的SQL语句,直接跳过认证。
此漏洞并不针对动网。很多SQL的ASP都会有这个漏洞

4、动网论坛sp2漏洞 (此漏洞影响范围甚大,动网官方站、黑客防线、安全基地都曾因此被黑过,具体资料大家可以在百度搜一下)
上传漏洞路径:reg_upload.asp及upfile.asp

青创文章系统

打开google 输入.tw qcdn (或者是去百度搜索 Powered by:QCDN_NEWS 但大多数是中国的)
青创文章系统
上传漏洞。在网址后加/admin_upfile.asp 如果出现。
Microsoft VBScript 磅︽顶琿岿粇 岿粇 ’800a01b6′
ンぃや穿妮┦┪よ猭: ‘form’
/article/admin_upfile.asp, 21
就代表已经有90%以上的希望了
桂林老兵的上传工具上传木马
入侵的時候發現admin_upfile.asp改了。你也可以改成user_upfile.asp也上傳傳馬馬。還有一個方法就是把admin_upfile.asp user_upfile.asp加到注入工裏邊

青创文章管理系统注入功击
关键字”list.asp?unid=”
工具:
  1、NBSI好像大部分黑客站点都有得下。
  2、MD5Crack2,破解MD5加密的软件(磊子推荐:dos下DV.exe比较好用)
第一次检测的时候,会报告”暂未检测到注入漏洞”;然后在”特征字符”输入”Unid”
(提示:”Unid”中的” U “一定要是大写的

“飞龙文章管理系统” 漏洞

飞龙文章管理系统 Ver 2.0 Build 20040620 正式版漏洞利用
搜索”Article.asp?ArtID=”关键字
漏洞文件在
admin_upfile.asp
user_upfile.asp
这两个文件”upfile.asp”
动网漏洞的再现
上传时cookie中加”ArtID=1111;”

phpwind 1.3.6 的论坛漏洞的利用
搜索关键字”POWER BY PHPWIND v1.3.6″

phpwind1.3.6论坛利用程序 “群共享”中有上传

保存后,木马地址为当前目录下的faq.php

在本机用如下表单进行提交:

METHOD=”POST”>




上传成功后的木马存在论坛目录下
直接访问就行!

漏洞集合

1)Co Net MiB Ver1.0~4.0 用’or’='or’登陆管理员(一个比较经典的漏洞)

2)ASP Calendar漏洞 请在google搜索Maintained with the Ocean12 ASP Calendar Manager v1.01这个信息,程序的默认数据库为o12cal.mdb(非MD5加密,明文保存)

3)六合彩漏洞 我们打开www.baidu.com或是www.google.com
在搜索里输入 请各位验证会员料
http://www.3589.com/tian/4login.asp把4login.asp改成conn.inc

<%DBPath=Server.MapPath("wz520#.mdb")
Set conn=Server.CreateObject(“ADODB.Connection”)
conn.Open “Driver={Microsoft Access Driver (*.mdb)};DBQ=”&DBPath%>

wz520#.mdb,他就是数据库了。#改成%23就可以下载数据库了

4)青创文章系统出现严重漏洞 在网址后加/admin_upfile.asp上传WEBSHELL

百度搜索 Powered by:QCDN_NEWS 台湾.tw qcdn。

还可以用%5c暴库,通杀

“list.asp?unid=” ” .tw/list.asp?unid= ” 存在注入 在”特征字符”输入”Unid”
(”Unid”中的” U “一定要是大写的)

5)自由动力3.6的软件上传过滤不严 用WinHex.exe和WSockExpert.exe修改上传木马

E时代驿站漏洞
百度搜索”E时代驿站”
漏洞利用页面 /upload.asp 用老
兵直接上传

沸腾新闻系统上传漏洞
搜索:沸腾展望新闻系统[核心:尘缘雅境]授权使用
漏洞:没有对空格进行严格的限制。
所以,我们直接选定要上传的asp木马,然后在后面加上空格
它的上传文件是UploadFaceOK.asp

尘缘雅境

在GOOGLE里搜索关键词: V1.0 ACCESS Finish,就会看
到出现了
一大堆
使用尘缘雅境系统的网站.比如说他的网站首页
是http://www.xx.com/asfq/index.asp,那么就要这样填写
http://www.xx.com/asfq/admin/uploadfaceok.asp,[漏洞目
录]:/asfq/admin
(注意一定要加上admin),[漏洞文件]一般不用改,不过有
些老版的
尘缘系统
的漏洞文件是uploadok.asp,如果uploadfaceok.asp不成功
再改

OFSTAR论坛漏洞利用程序(群共享中)
搜索: powered by ofstar.net
1:输入管理员用户名 2:输入任意一个帖子的路径!

3:单击获取密码,可以截取到管理员的MD5密码!是32位加密的!

4:单击直接登陆按钮!程序会自动构造Cookies进行登陆!单击管理栏的”超管”可直接进入后台!

上传木马: 选择后台的论坛管理=>风格摸版设置 插入以下代码! (其实上传shell部分和PHPWind一样)

然后使用提交页面提交“可以直接拿到shell!



无觅相关文章插件,快速提升流量