首页 | 乐园 | 淘宝店 | 社区 | 电驴 | 网页游戏 | 网址大全

VeryCD / 社区 / 操作系统爱好者 / 精华

资源管理小组

相关主题

主题: [电脑教程]电脑软硬件教学看完後保证你就算是电脑进阶了。

相关分类: 电脑教程
« 上一页 1 2 3

g950g950 (斑竹) 2007/08/13 01:54:26 顶楼 举报

内存条原理:


IPB Image

我是一条内存,我在一台PC电脑里工作,但是我记不得我是从哪里来的,是什么牌子,因为我健忘。我的上司是CPU大哥,他是我们的老大。都说他是PC电脑的脑子,可是我看他的脑子实在是太小了,比我还要健忘。每天他总是不停的问我,某某页某某地址存的是什么?我总是不厌其烦的告诉他,可是不出一秒钟他又忘记了,又要问一遍,一次我说大哥你烦不烦,你就不能记住点有用的东西?他说“RAM内存兄弟,我有苦衷啊,每天都在不停地计算,头晕眼花的,我也难啊。” 其实我不愿意跟他计较,因为他脑子小,思维也很简单。虽然说他是我的上司,可是每次睡觉醒来,他连要干什么都不记得了,总是急急忙忙地找BIOS兄弟,“嘿,哥们,今天干什么来着”。BIOS总是很不耐烦地把每天必做的工作说一遍,然后就去睡觉了。接下来就轮到我和Cashe哥瞎忙了。在机箱里的兄弟中,我最喜欢HD硬盘了。他脑子大,记得东西多,而且记得牢。他说话的速度很慢,而且很少说错,这说明他很有深度,我这么感觉。CPU也这么想,不过他很笨,每次都忘了硬盘是谁。开机自检的时候总要问:“嘿,那家伙是谁?” “st380021a!”我总要重复一遍。HD硬盘很喜欢忧郁,我觉得像他这样忧郁的人不适合做技术活,迟早会精神分裂的,但是他不信。其实睡着的时候我总是把几乎所有的东西都忘记掉,但是我从来都不会忘记朋友。有一块地方叫做CMOS,那是我记忆的最深处,保存着HD硬盘device光驱的data名字。有些东西应该很快忘掉,而有些东西应该永远记得。我再梦中总是这么想着。 BIOS是一个很奇怪的家伙,他老是睡觉,但是却总是第一个醒过来。让我们自检,启动,然后接着睡觉。我知道如果我在CMOS里头把BIOS shadow选项去掉,他就睡不成了,但是看着他晕晕乎乎的样子,也就不忍心这么做了。他对人总是爱搭不理,没有什么人了解他。但是这次HD硬盘恋爱的事,却使我重新认识了他。 那是很久以前的事了,机箱里似乎来过一块USB盘,很可爱,说实话我也喜欢她。不过现在除了记得他可爱,别的都忘记了。这就是我比HD硬盘幸运的地方,我把所有应该忘记的都忘记了,但是他却什么都记得。 自从USB盘走了之后,HD硬盘就变得很不正常。每次他的磁头经过一些地方的时候,我们都能感觉到电流很不正常。 “HD硬盘这是怎么了?”我问CPU。 “谁是HD硬盘?” 我就知道和CPU没有办法交流,倒是BIOS没好气地说:“那个傻瓜恋爱了”。我不知道什么是恋爱,因为我记不住东西,似乎有一些人或者事在我生命中留下过痕迹,但是我都轻率地把他们忘记了。BIOS对我说:“对你来说记忆太容易了,所以你遗忘得更快,生命中能够永刻的记忆都带着痛楚。”我不懂,但是我知道BIOS曾经被over write刷写过,那时他很痛,像要死了一样。我的记忆是轻浮的,不像他们……我很羡慕他们,因为他们拥有回忆,而我们有,从此我也学会了忧郁,因为我在CMOS里面写下了“blue忧郁”两个字。HD硬盘一天比一天不对劲,终于有一天,CPU对我说:“下条指令是什么来着?”我一看,吓了一跳:“format” “是什么?”CPU很兴奋,这个没脑子的家伙。我还是告诉了他。我不知为什么这么做。HD硬盘犹豫了很久,终于说了一句: track 0 bad, disk unusable。电停了,很久很久,我在黑暗中数着时钟。一个月后HD硬盘回来了,也许最后的挣扎也没有使他摆脱残酷的命运,他被Low Level format低阶格式了。他什么也不记得了,如同一个婴儿,我们很难过,但是这未必不是一件好事,他以后不用痛苦了。 为了恢复Date数据,USB盘回来了。"hi,HD",她说,"你不认识我了?HD硬盘没有说话,似乎低阶格式对他的伤害很大。过了一会,他说:“对不起,好像我们没有见过吧……”。USB盘显得很伤心,我能感觉到她带泪的电流。“想不到连你也这么健忘”。 “哦……”。HD硬盘没有回答。我很难过,USB盘的心里依然记着他,而他把一切都忘了,而那正是他最不希望忘却的。究竟是幸运,还是痛苦,我说不上来,只是觉得造化弄人,有一种淡淡的悲凉。这时从BIOS传来一阵奇怪的电流,我感觉到HD硬盘的表情在变化,由漠然到兴奋,由兴奋到哀伤,由哀伤到狂喜…… “USB盘,你回来了……”。 ……………… ……………… ……………… …………………………… ………………… 后来BIOS对我说,其实他并没有睡觉,自从HD硬盘被Low Level format低阶格式以后,他就料到会有这样的结局,于是偷偷地把其中一些Date放到了备份里。 “幸好我是DUAL BIOS,虽然藏得不多,还足够让他想起来……”。我想BIOS保存这些东西的时候一定很疼,“为什么这么做呢?” “呵呵,我们是朋友嘛”。

分享到开心网  分享到校内  收藏到QQ书签    订阅本主題RSS更新  美味书签

2007/09/15 07:49:30g950g950 最后编辑 | 查看全部

g950g950 (斑竹) 2007/08/13 01:55:05 2楼 举报

电脑BIOS声音判断:


IPB Image

1 记忆体Refresh有问题
2 记忆体同位元检查错误
3 前 64K 记忆区段检测失败
4 系统计时器失效
5 处理器错误
6 键盘控制器 8024 . A20 位址线错误
7 处理器发生异常中断
8 显示卡未装妥或视讯记忆体存取错误
9 ROM BIOS 检查错误
10 CMOS shutdown 暂存器存取错误
11 外部快取错误
1长3短 记忆体错误
1长8短 显示测试错误

----------------------------------------------------------------------------------------------------------------------------------------------------------------
PHOENIX BIOS
哔声方式        代表意义
2-2-3        ROM BIOS 檢查碼錯誤
3-1-1        記憶體充電失敗
3-1-3         鍵盤控制器 8042 錯誤
3-4-1         512K 位址解碼電路錯誤
3-4-3         512K 主記憶體錯誤
2-1-2-3         BIOS 版權遭修改
2-2-3-1         處理器發生異常中斷
----------------------------------------------------------------------------------------------------------------------------------------------------------------
AWARD BIOS
哔声方式       代表意义
1長1短        RAM或主机板出错
1長2短      显示卡有问题或没插好或者与显示卡与萤幕之间的连线没接好
1長3短         键盘控制器错误
连续的哔叫      记忆体损坏或没插好
----------------------------------------------------------------------------------------------------------------------------------------------------------------
AMI
哔声方式        代表意义
1短音        DRAM复新失败
1長音3短音音    DRAM错误
1長音8短音     显示测试失败
2短音       DRAM同位检测失败
3短音        基本64K RAM测试失败
4短音        系统时钟错误
5短音        CPU处理器错误
6短音        主机板键盘控制器错误
7短音        CPU中断错误
8短音        显示卡记忆体写入/读取错误
9短音        ROM BIOS检查码错误
10短音       CMOS 关机暂存器写入/读取错误
11短音       快取记忆体故障
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Award
哔声方式        代表意义
1短音        系统启动正常
2短音        CMOS设定错误
1長音1短音     DRAM或主机板错误
1長音2短音     显示错误(显示器或显示卡)
1長音3短音     键盘控制器错误
1長音9短音     主机板Flash RAM或EPROM错误(BIOS损坏)
不断地响(長音)    DRAM没插好或损坏
不断地响      电源,显示器未和显示卡连接好
重覆短响      电源有问题
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Phoenix
哔声方式        代表意义
1短         系统启动正常
1短1短1短      系统开机初始化失败
1短1短2短      主机板错误
1短1短3短      CMOS或电池失效
1短1短4短      ROM BIOS校验错误
1短4短3短      EISA时序器错误
1短3短1短      RAM复新错误
3短1短2短     主DMA暂存器错误
3短1短3短      主中断处理暂存器错误
3短2短4短      主机板键盘控制器错误
3短4短2短      显示错误(显示器或显示卡)
4短2短2短      关机错误
4短4短1短      串列埠错误
4短4短2短     并列埠错误


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 01:56:03 3楼 举报

如何使用 Fdisk 分割硬盘?


IPB Image

说明:一般很少人会去分割他的硬盘 (废话嘛!谁那麼无聊,没事去分割硬盘) , 没错, 正如刚刚我心里想的一样, 谁都不可能没事去分割他的硬盘 ,因为这需要大量的时间才能将一台电脑恢复到好用的 Windows 系统, 工程真是不小, 但是如果你自己买了一颗新硬盘, 或是别人送给你一颗硬盘, 如果找的到找别人愿意来帮忙,那就还好, 如果没有人愿意帮忙, 一点小事请电脑公司来作, 还要花钱跟时间, 求人不如求自己, 让我来教您如何使用 Fdisk 分割硬盘, 让您也拥有几分电脑IQ, 其实有很多种软体都可以分割硬盘, 例如: Fdisk, Gdisk, Spfdisk 等都是可以分割硬盘的软体, 而这些软体到网路上去找也都可以找的到, 而 Gdisk 跟 Spfdisk 功能都比 Fdisk 强大的许多, 因为前两者分割的磁区都可以作为开机磁区, 也就是可以在同一颗硬盘装上数种作业系统, 譬如你可以分割成 4 个, 分别作为 Win98、WinNT、OS、Dos 作业系统, 而 Fdisk的缺点就是没有这种能力, 但是由於 Fdisk, 到处都有(ps. win98开机片里面就有 Fdisk 了 , 本篇的 fdisk 亦是以 win98 的 fidsk 为主) ,所以我先介绍如何使用 Fdisk 分割硬盘。

特殊字词:在开始之前对於一些专有名词可能需要看一下,而且希望您可以稍微知道硬盘的分割内容, 我在下面用图示说明:(这部分如果看的很混乱其实也蛮正常的,但这没有关系,主要是让您看一看这些名词代表的意思)

A.假设我有一颗8GB(等於8000MB ) 的硬盘,我要将一颗硬盘分割成两个盘,当然,每一盘的大小是可以由您自订的,假设我分成每盘各一半 (4000MB)
DOS主分割区(C 盘) 4000MB
延伸分割磁区(D 盘) 4000MB

B. 那如果我要分割成 C D E F G... (您认为:"反正现在硬盘大又便宜"), 可以, 没问题 !那我再以12GB 为例子, 我想给 C 盘4GB , 给 D E F G各2GB, 那我们要怎麼作呢? 我跟你说喔! 这时候我们在作分割时就要给 DOS 主分割区 4GB,而延伸分割磁区就要给8GB, 很奇怪吗? 其实用 Fdisk 所割出来的分割区主要有 DOS 主分割区跟延伸分割磁区, 而 DOS 主分割区就是所谓的 C 盘, 而剩下的 D E F G 就是由延伸分割磁区再分割成逻辑磁区作成的,看看下图或许可以让您稍为清楚一点DOS 主分割区(C 盘)4000MB延伸分割磁区逻辑磁区(D 盘)2000MB逻辑磁区(E 盘)2000MB逻辑磁区(F 盘)2000MB逻辑磁区(G 盘)2000MB
上图可以表示成 : 硬盘分成 DOS 主分割区跟延伸分割磁区两部分,而我们又将延伸分割磁区分割成数个逻辑磁区的意思,换句话说,所有的逻辑磁区都包含在延伸分割磁区中, 好, 不管你懂不懂都没关系, 因为这只是灌输给您一点观念而已,让我们开始吧!


假设分割一个12GB 硬盘
----------------------------------------------------------------------------------------------------------------------------------------------------------------
步骤一.以 Dos 模式开机, 开机成功之后, 插入有 Fdisk 软体的磁片 (如果是开机片就直接使用开机片), 现在萤幕上应该会有 A:\ 的符号, 在符号后面打上 fdisk ,像这样 A:\fdisk ,按下 Enter 然后屏萤上应该会出现一篇英文字, 最后一行是 Do you wish to enable large disk support (Y/N)...........? [ ]

这是说如果想用 FAT32 档案格式请按 [Y] ,如果想用 FAT16 格式就按下 [N], 视你要使用的档案格式而定, 一般都用FAT32格式, 所以按 [Y]
( 名词解释 : 「 FAT 」( File Allocation Table ) 是作业系统用来存取硬盘资料的重要资讯, 目前微软的 Win95 OSR / 2 用的是FAT16格式, Win98 之后都用 FAT32, 而使用 FAT32 格式我们可以较节省的使用硬盘空间, 就是 FAT32 比 FAT16 有较多的使用空间 )
----------------------------------------------------------------------------------------------------------------------------------------------------------------
步骤二.接著部分内容会有以下文字:

1.Create DOS partition or Logical DOS Drive 这是建立 DOS 主分割区或是延伸分割磁区
2.Set active partition 这项是要设定开机的分割磁区
3.Delete partition or Logical DOS Drive 这项是要删除分割磁区
4.Display partition information 此项是要显示分割区的资料

Enter choice: [1]
不管你对上面文字的意思是不是了解, 如果不明白的话也没关系, 因为这并不会影响到你,我们选择 1.因为我们要建立分割磁区。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
步骤三.接著会有以下文字:

1.Create Primary DOS Partition 这是建立 DOS 主分割区
2.Create Extend Partition 这是建立延伸分割磁区
3.Create Logical DOS Drive(s) in the Extend Partition 这是建立逻辑磁区

Enter choice: [1]
选择1.建立 DOS 主分割区
----------------------------------------------------------------------------------------------------------------------------------------------------------------
步骤四.接著部分内容一样会有以下文字:

Do you wish to use the maximum available size for a Primary DOS Partition and make the Primary Partition active (Y/N) ..........?[N]

如果你要硬盘不做分割就选 [Y], 当然,我们是要分割的, 所以要选 [N]才对喔!
----------------------------------------------------------------------------------------------------------------------------------------------------------------
步骤五.接著部分内容会有像下面的文字:

Enter partiotion size in Mbytes or percent of disk space (%) to create a Primary DOS Partition..............................: [ ]

这是问我们要给DOS主分割区多大的空间( C 盘), 您就在[ ] 中输入您要的大小, 我给它 4GB (输入4000)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
步骤六.接著屏幕回到主画面:

1.Create DOS partition or Logical DOS Drive 这是建立 DOS 主分割区或是延伸分割磁区
2.Set active partition 这项是要设定开机的分割磁区
3.Delete partition or Logical DOS Drive 这项是要删除分割磁区
4.Display partition information 此项是要显示分割区的资料

Enter choice: [1]
还是选择1.建立延伸分割磁区。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
步骤七.这次要建立延伸分割磁区:

1.Create Primary DOS Partition 这是建立 DOS 主分割区
2.Create Extend Partition 这是建立延伸分割磁区
3.Create Logical DOS Drive(s) in the Extend Partition 这是建立逻辑磁区

Enter choice: [1]
这次请选择2.建立延伸分割磁区
----------------------------------------------------------------------------------------------------------------------------------------------------------------
步骤八.接著部分内容会有像下面的文字:

Enter partiotion size in Mbytes or percent of disk space (%) to create a Extend DOS Partition..................: [ ]

这是问我们要给延伸分割磁区多大的空间请输入剩下的所有硬盘空间, 我有12GB 但是前面用去了4GB ,所以剩下8 GB, 我就在 [ ] 中输入8000, 您如果没跟我举的例子12GB一样大的硬盘, 肯定跟我不一样, 请您自己简单算一下吧!
----------------------------------------------------------------------------------------------------------------------------------------------------------------
步骤九.出现的画面应该会是之前我们设定的DOS 主分割区跟延伸分割磁区的资料, 看看应该正确吧! 然后可以按 Esc 继续
----------------------------------------------------------------------------------------------------------------------------------------------------------------
步骤十.接下来就是要建立逻辑硬盘了, 屏幕文字部分内容会有
Enter logical drive size in Mbytes or percent of disk space (%).....[ ]

这时候你就要开始斟酌要规划成几个逻辑磁区了,如果你只要把硬盘分成2 个, 因为你已经分割好 C 盘了, 那麼只要在分割一个 D 盘就可以了, 那你就可以把剩下的空间全部输入进去 [ ] 中, 譬如我就剩下8GB, 那我就输入 8000, 但是如果你不只想割成 C 跟 D, 还要有 E, F, G, 那麼你就先输入要给 D 盘的大小, 我再举例, 我已经剩下 8GB, 我想给 D, E, F,G 盘各有2GB, 那我就先输入2000,这是给 D 槽的, 按下 Enter ,接著的画面上你会看到有被你分割的 d 盘大小看看屏幕较下方的文字, 是不是显示著剩下的空间, 像我应该剩下6GB, 如下面的文字

Enter logical drive size in Mbytes or percent of disk space (%).....[6000]
因为我用去 2GB, 所以是剩下 [6000] MB = 6GB ,那我还要再有 E 盘, 你就可以重覆分割 D 盘的方法来分割 E 盘就可以了, 只是你需要注意的一点就是 : 在你的最后一个逻辑磁区(分割的盘)一定要把剩下的空间全部输入, 譬如我不想分割下去了, 我只想分割到 E 盘就好了, 以我而言, 我就要把剩下的 6GB 全部用上, 那我就要输入剩下的 6000,好, 这个步骤就交给你完成了, 完成后按 Esc 继续下步骤。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
步骤十一.现在应该是回到主画面了, 你最熟悉的画面了:

1.Create DOS partition or Logical DOS Drive 这是建立 DOS 主分割区或是延伸分割磁区
2.Set active partition 这项是要设定开机的分割磁区
3.Delete partition or Logical DOS Drive 这项是要删除分割磁区
4.Display partition information 此项是要显示分割区的资料

Enter choice: [1]
现在选择2.设定开机的分割磁区。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
步骤十二.这个时候应该部分内容会有下面的这段文字:

Enter the number of the partition you want to make active .....[1]
这是问你要让哪个分割磁区作为开机磁区呢? 一般我们都是用 C 盘开机嘛! 所以就按 1 吧! 接著按 Esc 回到主画面。现在就已经完成分割的工作了, 还要格式化喔!但是在格式化之前按一下 Esc 离开 Fdisk 程式, 然后按Ctrl + Alt + Delete 重新开机。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
步骤十三.开机成功后, 嗯! 又出现 A: 了, 好, 格式化开始了, 如果要格式化 C 盘,就打入 FORMAT C:(注意:FORMAT跟C:之间要空一格) 按下Enter,接著电脑会询问你确定要执行格式化吗?按 Y ,就开始格式化了,这时萤幕出现的应该是格式化完成率的百分比, 依此类推, 要格式化 D盘就打入 FORMAT D: 接著就只能请你慢慢的等待格式化的完成删除分割磁区:至此其实已经是完成了, 但是你如果要分割的硬盘是以前被分割过的, 但是你想把它重新分割或是如果以后想重新分割硬盘呢? 那就要先删除分割区喔!怎麼删除呢? 很简单, 执行 FDISK ,下面是 FDISK 的主画面, 相信你都已经知道了:

1.Create DOS partition or Logical DOS Drive 这是建立 DOS 主分割区或是延伸分割磁区
2.Set active partition 这项是要设定开机的分割磁区
3.Delete partition or Logical DOS Drive 这项是要删除分割磁区
4.Display partition information 此项是要显示分割区的资料

Enter choice: [1]
我们选择3.然后先删除所有的逻辑磁区再删除延伸分割磁区,最后再删除 DOS 主分割区就可以了, 相信这些名词现在你应该已经懂了吧! 相信您都是聪明人, 但是还是怕有人不知道, 所以提醒您,不懂的人可以现在再回到前面看一次, 相信这次您就等於是在复习而已, 完全不会有任何的难度喔!
----------------------------------------------------------------------------------------------------------------------------------------------------------------
另一种教学:
前言:
一颗新买来的硬盘是必须经过FDISK的处理才可以使用的,如果您的观念里面,买回家的硬盘马上可以使用那可是错的。所以FDISK这个步骤相当重要。(也有其他的分割硬盘程式 ex:SPFdisk)

要学会FDISK必须要有一些基本观念与知识:
分割硬盘是把硬盘分为-『主分割区』(Primary Partition)『延伸分割区』(Extended Partition)。主分割区就是我们硬盘为主的C:盘,延伸分割区就是主分割区之外的空间,而设立了延伸分割区,那只算是一个空壳子,你必须在延伸分割去底下建立『逻辑磁盘区』(Logical Drive),而逻辑磁盘举例来说就是D: E:...盘。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
1.放入开机片(由新增/移除程式中制作,在控制台中)将出现:

1.Help
2.Start with CD-ROM support
3.Start without CD-ROM support
4.Mini boot

2.我们选择2,支援光盘机的启动模式,等待一段时间,会进入FDISK的画面,首先他会告诉你,您是否要使用FAT 32的分割模式?现在的系统都是使用FAT 32,(2GB以下才选FAT16)所以这里我们选"Y"

3.接著進入了主畫面

1.Create DOS partition or Logical Dos Drive(建立分割区或逻辑磁盘)
2.Set active partition(设定开机分割区)
3.Delete partition or Logical Dos Drive(删除分割区或逻辑磁盘)
4.Display partition information(展示分割区资讯)
5.Change current Fixed disk drive(变更目前的硬盘)

4.现在要开始分割硬盘,所以选1.接著出现

1.Create Primary DOS partition(建立主分割区)
2.Create Extended DOS partition(建立延伸分割区)
3.Creat Logical DOG Drive(s) in the extended partitions(建立逻辑磁碟)

如果要分割成C: D: E:三个硬盘则必须先建立主分割区→建立延伸分割区→建立逻辑磁区

5.选1之后,他会问你是否只要建立一颗硬盘C:就好,选Y是确定,选N则是还要分割更多的逻辑硬盘。

6.选N之后,他会问你要建立多大的主分割区,这边可以直接输入MB或者是百分比来告诉电脑你要建立的比率,我们输入33%。

7.接著电脑会告诉你,你没有设定开机硬盘,所以去主画面的Set active partition 输入代号1.

8.然后我们还要建造延伸分割区,所以在主画面再选1.进入→选2(建立延伸分割区),电脑侦测完硬盘的容量,再输入逻辑磁盘D:容量为33%,因为我们还要分割一个E:盘,所以继续侦测硬碟容量,这时候我们不需要再继续输入逻辑磁盘E:的大小了,直接按Enter他会把所有空间都给E:盘。

9.现在几乎就是大公告成了,剩下的唯一工作,就是把分割出来的硬盘,一一格式化,(A:format C: A:format D: .......)这样子,硬盘规划就完成了,就可以使用以及灌作业系统。


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 01:56:49 4楼 举报

WinXP蓝色死机画面错误代码说明:


IPB Image

00 0x0000 作业完成。
01 0x0001 不正确的函数。
02 0x0002 系统找不到指定的档案。
03 0x0003 系统找不到指定的路径。
04 0x0004 系统无法开启档案。
05 0x0005 拒绝存取。
06 0x0006 无效的代码。
07 0x0007 储存体控制区块已毁。
08 0x0008 储存体空间不足,无法处理这个指令。
09 0x0009 储存体控制区块地址无效。
10 0x000A 环境不正确。
11 0x000B 尝试加载一个格式错误的程序。
12 0x000C 存取码错误。
13 0x000D 资料错误。
14 0x000E 储存体空间不够,无法完成这项作业。
15 0x000F 系统找不到指定的磁盘驱动器。
16 0x0010 无法移除目录。
17 0x0011 系统无法将档案移到 其它的磁盘驱动器。
18 0x0012 没有任何档案。
19 0x0013 储存媒体为写保护状态。
20 0x0014 系统找不到指定的装置。
21 0x0015 装置尚未就绪。
22 0x0016 装置无法识别指令。
23 0x0017 资料错误 (cyclic redundancy check)
24 0x0018 程序发出一个长度错误的指令。
25 0x0019 磁盘驱动器在磁盘找不到 持定的扇区或磁道。
26 0x001A 指定的磁盘或磁盘无法存取。
27 0x001B 磁盘驱动器找不到要求的扇区。
28 0x001C 打印机没有纸。
29 0x001D 系统无法将资料写入指定的磁盘驱动器。
30 0x001E 系统无法读取指定的装置。
31 0x001F 连接到系统的某个装置没有作用。
32 0x0020 the process cannot access the file because it is being used by another process.
33 0x0021 档案的一部份被锁定, 现在无法存取。
34 0x0022 磁盘驱动器的磁盘不正确。请将 %2 (volume serial number: %3) 插入磁盘机%1。
36 0x0024 开启的分享档案数量太多。
38 0x0026 到达档案结尾。
39 0x0027 磁盘已满。
50 0x0032 不支持这种网络要求。
51 0x0033 远程计算机无法使用。
52 0x0034 网络名称重复。
53 0x0035 网络路径找不到。
54 0x0036 网络忙碌中。
55 0x0037 the specified network resource or device is no longer available.
56 0x0038 the network bios command limit has been reached.
57 0x0039 网络配接卡发生问题。
58 0x003A 指定的服务器无法执行要求的作业。
59 0x003B 网络发生意外错误。
60 0x003C 远程配接卡不兼容。
61 0x003D 打印机队列已满。
62 0x003E 服务器的空间无法储存等候打印的档案。
63 0x003F 等候打印的档案已经删除。
64 0x0040 指定的网络名称无法使用。
65 0x0041 拒绝存取网络。
65 0x0041 拒绝存取网络。
66 0x0042 网络资源类型错误。
67 0x0043 网络名称找不到。
68 0x0044 超过区域计算机网络配接卡的名称限制。
69 0x0045 超过网络 bios 作业阶段的限制。
70 0x0046 远程服务器已经暂停或者正在起始中。
71 0x0047 由于联机数目已达上限,此时无法再联机到这台远程计算机。
72 0x0048 指定的打印机或磁盘装置已经暂停作用。
80 0x0050 档案已经存在。
82 0x0052 无法建立目录或档案。
83 0x0053 int 24 失败。
84 0x0054 处理这项要求的储存体无法使用。
85 0x0055 近端装置名称已经在使用中。
86 0x0056 指定的网络密码错误。
87 0x0057 参数错误。
88 0x0058 网络发生资料写入错误。
89 0x0059 此时系统无法执行其它行程。
100 0x0064 无法建立其它的系统 semaphore。
101 0x0065 属于其它行程专用的 semaphore.
102 0x0066 semaphore 已经设定,而且无法关闭。
103 0x0067 无法指定 semaphore 。
104 0x0068 在岔断时间无法要求专用的 semaphore 。
104 0x0068 在岔断时间无法要求专用的 semaphore 。
105 0x0069 此 semaphore 先前的拥有权已经结束。
106 0x006A 请将磁盘插入 %1。
107 0x006B 因为代用的磁盘尚未插入,所以程序已经停止。
108 0x006C 磁盘正在使用中或被锁定。
109 0x006D pipe 已经中止。
110 0x006E 系统无法开启指定的装置或档案。
111 0x006F 档名太长。
112 0x0070 磁盘空间不足。
113 0x0071 没有可用的内部档案标识符。
114 0x0072 目标内部档案标识符不正确。
117 0x0075 由应用程序所执行的 ioctl 呼叫不正确。
118 0x0076 写入验证参数值不正确。
119 0x0077 系统不支持所要求的指令。
120 0x0078 此项功能仅在 win32 模式有效。
121 0x0079 semaphore 超过逾时期间。
122 0x007A 传到系统呼叫的资料区域太小。
123 0x007B 文件名、目录名称或储存体卷标语法错误。
124 0x007C 系统呼叫层次不正确。
125 0x007D 磁盘没有设定卷标。
126 0x007E 找不到指定的模块。
127 0x007F 找不到指定的程序。
128 0x0080 没有子行程可供等待。
129 0x0081 %1 这个应用程序无法在 win32 模式下执行。
130 0x0082 attempt to use a file handle to an open disk partition for an operation other than raw disk I/O.
131 0x0083 尝试将档案指针移至档案开头之前。
132 0x0084 无法在指定的装置或档案,设定档案指针。
133 0x0085 join 或 subst 指令无法用于内含事先结合过的磁盘驱动器。
134 0x0086 尝试在已经结合的磁盘驱动器,使用 join 或 subst 指令。
135 0x0087 尝试在已经替换的磁盘驱动器,使 用 join 或 subst 指令。
136 0x0088 系统尝试删除 未连结过的磁盘驱动器的连结关系。
137 0x0089 系统尝试删除 未替换过的磁盘驱动器的替换关系。
138 0x008A 系统尝试将磁盘驱动器结合到已经结合过之磁盘驱动器的目录。
139 0x008B 系统尝试将磁盘驱动器替换成已经替换过之磁盘驱动器的目录。
140 0x008C 系统尝试将磁盘驱动器替换成已经替换过之磁盘驱动器的目录。
141 0x008D 系统尝试将磁盘驱动器 subst 成已结合的磁盘驱动器 目录。
142 0x008E 系统此刻无法执行 join 或 subst。
143 0x008F 系统无法将磁盘驱动器结合或替换同一磁盘驱动器下目录。
144 0x0090 这个目录不是根目录的子目录。
145 0x0091 目录仍有资料。
146 0x0092 指定的路径已经被替换过。
147 0x0093 资源不足,无法处理这项指令。
148 0x0094 指定的路径这时候无法使用。
149 0x0095 尝试要结合或替换的磁盘驱动器目录,是已经替换过的的目标。
150 0x0096 config.sys 文件未指定系统追踪信息,或是追踪功能被取消。
151 0x0097 指定的 semaphore事件 dosmuxsemwait 数目不正确。
152 0x0098 dosmuxsemwait 没有执行;设定太多的 semaphore。
153 0x0099 dosmuxsemwait 清单不正确。
154 0x009A 您所输入的储存媒体标 元长度限制。
155 0x009B 无法建立其它的执行绪。
156 0x009C 接收行程拒绝接受信号。
157 0x009D 区段已经被舍弃,无法被锁定。
158 0x009E 区段已经解除锁定。
159 0x009F 执行绪识别码的地址不正确。
160 0x00A0 传到 dosexecpgm 的自变量字符串不正确。
161 0x00A1 指定的路径不正确。
162 0x00A2 信号等候处理。
164 0x00A4 系统无法建立执行绪。
167 0x00A7 无法锁定档案的部份范围。
170 0x00AA 所要求的资源正在使用中。
173 0x00AD 取消范围的锁定要求不明显。
174 0x00AE 档案系统不支持自动变更锁定类型。
180 0x00B4 系统发现不正确的区段号码。
182 0x00B6 操作系统无法执行 %1。
183 0x00B7 档案已存在,无法建立同一档案。
186 0x00BA 传送的旗号错误。
187 0x00BB 指定的系统旗号找不到。
188 0x00BC 操作系统无法执行 %1。
189 0x00BD 操作系统无法执行 %1。
190 0x00BE 操作系统无法执行 %1。
191 0x00BF 无法在 win32 模式下执行 %1。
192 0x00C0 操作系统无法执行 %1。
193 0x00C1 %1 不是正确的 win32 应用程序。
194 0x00C2 操作系统无法执行 %1。
195 0x00C3 操作系统无法执行 %1。
196 0x00C4 操作系统无法执行 这个应用程序。
197 0x00C5 操作系统目前无法执行这个应用程序。
198 0x00C6 操作系统无法执行 %1。
199 0x00C7 操作系统无法执行这个应用程序。
200 0x00C8 程序代码的区段不可以大于或等于 64kb。
201 0x00C9 操作系统无法执行 %1。
202 0x00CA 操作系统无法执行 %1。
203 0x00CB 系统找不到输入的环境选项。
205 0x00CD 在指令子目录下,没有任何行程有信号副处理程序。
206 0x00CE 文件名称或扩展名太长。
207 0x00CF ring 2 堆栈使用中。
208 0x00D0 输入的通用档名字元 * 或 ? 不正确, 或指定太多的通用檔名字元。
209 0x00D1 所传送的信号不正确。
210 0x00D2 无法设定信号处理程序。
212 0x00D4 区段被锁定,而且无法重新配置。
214 0x00D6 附加到此程序或动态连结模块的动态连结模块太多。
215 0x00D7 can''t nest calls to loadmodule.
230 0x00E6 the pipe state is invalid.
231 0x00E7 所有的 pipe instances 都在忙碌中。
232 0x00E8 the pipe is being closed.
233 0x00E9 no process is on the other end of the pipe.
234 0x00EA 有更多可用的资料。
240 0x00F0 作业阶段被取消。
254 0x00FE 指定的延伸属性名称无效。
255 0x00FF 延伸的属性不一致。
259 0x0103 没有可用的资料。
266 0x010A 无法使用 copy api。
267 0x010B 目录名称错误。
275 0x0113 延伸属性不适用于缓冲区。
276 0x0114 在外挂的档案系统上的延伸属性档案已经毁损。
277 0x0115 延伸属性表格文件满。
278 0x0116 指定的延伸属性代码无效。
282 0x011A 外挂的这个档案系统不支持延伸属性。
288 0x0120 意图释放不属于叫用者的 mutex。
298 0x012A semaphore 传送次数过多。
299 0x012B 只完成 read/writeprocessmemory 的部份要求。
317 0x013D 系统找不到位于讯息文件 %2 中编号为 0x%1 的讯息。
487 0x01E7 尝试存取无效的地址。
534 0x0216 运算结果超过 32 位。
535 0x0217 信道的另一端有一个行程在接送资料。
536 0x0218 等候行程来开启信道的另一端。
994 0x03E2 存取延伸的属性被拒。
995 0x03E3 由于执行绪结束或应用程序要求,而异常终止 I/O 作业。
996 0x03E4 重叠的 I/O 事件不是设定成通知状态。
997 0x03E5 正在处理重叠的 I/O 作业。
998 0x03E6 对内存位置的无效存取。
999 0x03E7 执行 inpage 作业发生错误。
1001 0x03E9 递归太深,堆栈满溢。
1002 0x03EA 窗口无法用来传送讯息。
1003 0x03EB 无法完成这项功能。
1004 0x03EC 旗号无效。
1005 0x03ED 储存媒体未含任何可辨识的档案系统。 请确定以加载所需的系统驱动程序,而且该储存媒体并未毁损。
1006 0x03EE 储存该档案的外部媒体发出警告,表示该已开启档案已经无效。
1007 0x03EF 所要求的作业无法在全屏幕模式下执行。
1008 0x03F0 an attempt was made to reference a token that does not exist.
1009 0x03F1 组态系统登录数据库毁损。
1010 0x03F2 组态系统登录机码无效。
1011 0x03F3 无法开启组态系统登录机码。
1012 0x03F4 无法读取组态系统登录机码。
1013 0x03F5 无法写入组态系统登录机码。
1014 0x03F6 系统登录数据库中的一个档案必须使用记录或其它备份还原。 已经还原成功。
1015 0x03F7 系统登录毁损。其中某个档案毁损、或者该档案的 系统映对内存内容毁损、会是档案无法复原。
1016 0x03F8 系统登录起始的 i/o 作业发生无法复原的错误。 系统登录无法读入、写出或更新,其中的一个档案 内含系统登录在内存中的内容。
1017 0x03F9 系统尝试将档案加载系统登录或将档案还原到系统登录中, 但是,指定档案的格式不是系统登录文件的格式。
1018 0x03FA 尝试在标示为删除的系统登录机码,执行不合法的操作。
1019 0x03FB 系统无法配置系统登录记录所需的空间。
1020 0x03FC 无法在已经有子机码或数值的系统登录机码建立符号连结。
1021 0x03FD 无法在临时机码下建立永久的子机码。
1022 0x03FE 变更要求的通知完成,但信息 并未透过呼叫者的缓冲区传回。呼叫者现在需要自行列举档案,找出变更的地方。
1051 0x041B 停止控制已经传送给其它服务所依峙的一个服务。
1052 0x041C 要求的控制对此服务无效。
1053 0x041D the service did not respond to the start or control request in a timely fashion. 1054 0x041e 无法建立服务的执行绪。
1055 0x041F 服务数据库被锁定。
1056 0x0420 这种服务已经在执行。
1057 0x0421 帐户名称错误或者不存在。
1058 0x0422 指定的服务暂停作用,无法激活。
1059 0x0423 指定循环服务从属关系。
1060 0x0424 指定的服务不是安装进来的服务。
1061 0x0425 该服务项目此时无法接收控制讯息。
1062 0x0426 服务尚未激活。
1063 0x0427 无法联机到服务控制程序。
1064 0x0428 处理控制要求时,发生意外状况。
1065 0x0429 指定的数据库不存在。
1066 0x042A 服务传回专属于服务的错误码。
1067 0x042B the process terminated unexpectedly.
1068 0x042C 从属服务或群组无法激活。
1069 0x042D 因为登入失败,所以没有激活服务。
1070 0x042E 在激活之后,服务在激活状态时当机。
1071 0x042F 指定服务数据库锁定无效。
1072 0x0430 指定的服务已经标示为删除。
1073 0x0431 指定的服务已经存在。
1074 0x0432 系统目前正以上一次执行成功的组态执行。
1075 0x0433 从属服务不存在,或已经标示为删除。
1076 0x0434 目前的激活已经接受上一次执行成功的控制设定。
1077 0x0435 上一次激活之后,就没有再激活服务。
1078 0x0436 指定的名称已经用于服务名称或服务显示 名称。
1100 0x044C 已经到了磁带的最后。
1101 0x044D 到了档案标示。
1102 0x044E 遇到磁带的开头或分割区。
1103 0x044F 到了档案组的结尾。
1104 0x0450 磁带没有任何资料。
1105 0x0451 磁带无法制作分割区。
1106 0x0452 存取多重容体的新磁带时,发现目前区块大小错误。
1107 0x0453 加载磁带时,找不到磁带分割区信息。
1108 0x0454 无法锁住储存媒体退带功能。
1109 0x0455 无法解除加载储存媒体。
1110 0x0456 磁盘驱动器中的储存媒体已经变更。
1111 0x0457 已经重设 I/O 总线。
1112 0x0458 磁盘驱动器没有任何储存媒体。
1113 0x0459 目标 multi-byte code page,没有对应 unicode 字符。
1114 0x045A 动态链接库 (dll) 起始例程失败。
1115 0x045B 系统正在关机。
1116 0x045C 无法中止系统关机,因为没有关机的动作在进行中。
1117 0x045D 因为 i/o 装置发生错误,所以无法执行要求。
1118 0x045E 序列装置起始失败,会取消加载序列驱动程序。
1119 0x045F 无法开启装置。这个装置与其它装置共享岔断要求 (IRQ)。 至少已经有一个使用同一 IRQ 的其它装置已经开启。
1120 0x0460 a serial i/o operation was completed by another write to the serial port. (the ioctl_serial_xoff_counter reached zero.)
1121 0x0461 因为已经过了逾时时间,所以序列 I/O 作业完成。(ioctl_serial_xoff_counter 不是零。)
1122 0x0462 在磁盘找不到任何的 id 地址标示。
1123 0x0463 磁盘扇区 id 字段与磁盘控制卡追踪地址不符。
1124 0x0464 软式磁盘驱动器控制卡回报了一个软式磁盘驱动器驱动程序无法识别的错误。
1125 0x0465 软式磁盘驱动器控制卡传回与缓存器中不一致的结果。
1126 0x0466 存取硬盘失败,重试后也无法作业。
1127 0x0467 存取硬盘失败,重试后也无法作业。
1128 0x0468 存取硬盘时,必须重设磁盘控制卡,但是 连重设的动作也失败。
1129 0x0469 到了磁带的最后。
1130 0x046A 可用服务器储存空间不足,无法处理这项指令。
1131 0x046B 发现潜在的死锁条件。
1132 0x046C 指定的基本地址或档案位移没有适当对齐。
1140 0x0474 尝试变更系统电源状态,但其它的应用程序或驱动程序拒绝。
1141 0x0475 系统 bios 无法变更系统电源状态。
1150 0x047E 指定的程序需要新的 windows 版本。
1151 0x047F 指定的程序不是 windows 或 ms-dos 程序。
1152 0x0480 指定的程序已经激活,无法再激活一次。
1153 0x0481 指定的程序是为旧版的 windows 所写的。
1154 0x0482 执行此应用程序所需的链接库档案之一毁损。
1155 0x0483 没有应用程序与此项作业的指定档案建立关联。
1156 0x0484 传送指令到应用程序发生错误。
1157 0x0485 找不到执行此应用程序所需的链接库档案。
1200 0x04B0 指定的装置名称无效。
1201 0x04B1 装置现在虽然未联机,但是它是一个记忆联机。
1202 0x04B2 尝试记忆已经记住的装置。
1203 0x04B3 提供的网络路径找不到任何网络提供程序。
1204 0x04B4 指定的网络提供程序名称错误。
1205 0x04B5 无法开启网络联机设定文件。
1206 0x04B6 网络联机设定文件坏掉。
1207 0x04B7 无法列举非容器。
1208 0x04B8 发生延伸的错误。
1209 0x04B9 指定的群组名称错误。
1210 0x04BA 指定的计算机名称错误。
1211 0x04BB 指定的事件名称错误。
1212 0x04BC 指定的网络名称错误。
1213 0x04BD 指定的服务名称错误。
1214 0x04BE 指定的网络名称错误。
1215 0x04BF 指定的资源共享名称错误。
1216 0x04C0 指定的密码错误。
1217 0x04C1 指定的讯息名称错误。
1218 0x04C2 指定的讯息目的地错误。
1219 0x04C3 所提供的条件与现有的条件组发生冲突。
1220 0x04C4 尝试与网络服务器联机,但是与该服务器的联机已经太多。
1221 0x04C5 其它网络计算机已经在使用这个工作群组或网域名称。
1222 0x04C6 网络没有显示出来或者没有激活。
1223 0x04C7 使用者已经取消作业。
1224 0x04C8 要求的作业无法在已经开启使用者对应区段的档案执行。
1225 0x04C9 远程系统拒绝网络联机。
1226 0x04CA 关闭网络联机。
1227 0x04CB 网络传输端点已经有相关连的地址。
1228 0x04CC 地址尚未有相关的网络端点。
1229 0x04CD 尝试在不存在的网络连线作业。
1230 0x04CE 在作用中的网络联机上执行无效的作业。
1231 0x04CF 无法传输到远程网络。
1232 0x04D0 无法联机到远程系统。
1233 0x04D1 远程系统不支持传输通讯协议。
1234 0x04D2 远程系统的目的地网络端点没有作何执行中的服务。
1235 0x04D3 要求已经中止。
1236 0x04D4 进端系统已经中断网络联机。
1237 0x04D5 无法完成作业,请重试。
1238 0x04D6 无法与服务器联机,原因是这个帐户已经到达同时联机数目的上限。
1239 0x04D7 尝试在这个帐户未授权的时间登入网络。
1240 0x04D8 这个帐户无法从这个地方登入网络。
1241 0x04D9 网络地址无法用于这个要求的作业。
1242 0x04DA 服务已经登记。
1243 0x04DB 指定的服务不存在。
1244 0x04DC 作业无法执行,原因是使用者尚未授权使用。
1245 0x04DD 要求的作业无法执行,原因是使用者尚未登入网络。指定的服务不存在。
1246 0x04DE 传回要求呼叫者继续工作的讯息。
1247 0x04DF 在完成起始作业之后,尝试再执行起始作业。
1248 0x04E0 没有其它的近端装置。
1300 0x0514 并未指定所有的参照权限给呼叫者。
1301 0x0515 帐户名称与安全识别码之间尚有未执行完成的联机。
1302 0x0516 此帐户并未设定特别的系统配额限制。
1303 0x0517 没有可用的加密机码。传回一个已知的加密机码。
1304 0x0518 nt 密码太复杂,无法转换成 lan manager 密码。传回的lan manager密码是一个空字符串。
1305 0x0519 修正层次不详。
1306 0x051A 表示两个修订阶层不兼容。
1307 0x051B 此安全识别码无法指定为这个对象的拥有者。
1308 0x051C 此安全识别码无法指定为主要的对象群组。
1309 0x051D an attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client.
1310 0x051E 不可以关闭群组。
1311 0x051F 目前没有可登入的服务器,所以无法处理登入要求。
1312 0x0520 指定登入作业阶段不存在。该作业阶段可能已经结束。
1313 0x0521 指定的权限不存在。
1314 0x0522 客户端未列出要求的权限。
1315 0x0523 所提供的名称格式与帐户名称不符。
1316 0x0524 指定的使用者已经存在。
1317 0x0525 指定的使用者不存在。
1318 0x0526 指定的群组已经存在。
1319 0x0527 指定的群组不存存。
1320 0x0528 指定的使用者帐户已经是指定群组的成员,或 指定的群组因为内含成员而无法删除。
1321 0x0529 指定的使用者帐户不是指定的群组帐户成员。
1322 0x052A 上一次留下来的管理帐户无法关闭或 删除。
1323 0x052B 无法更新密码。所输入的密码不正确。
1324 0x052C 无法更新密码。所输入的新密码内含不符合密码规定。
1325 0x052D 因为违反密码更新规则,所以无法更新密码。
1326 0x052E 登入失败: 无法辨识的使用者名称或密码错误。
1327 0x052F 登入失败: 使用者帐户限制。
1328 0x0530 登入失败: 违反帐户登入时间限制。
1329 0x0531 登入失败: 使用者不可登入这部计算机。
1330 0x0532 登入失败: 指定的帐户密码过期。
1331 0x0533 登入失败: 帐户目前无效。
1332 0x0534 帐户名称与帐户识别码不符。
1333 0x0535 一次要求太多的近端使用者识别码 (local user identifiers,luids)。
1334 0x0536 没有可用的近端使用者识别码 (local user identifiers,luids)。
1335 0x0537 安全识别码的转授权部份对这个特殊用法无效。
1336 0x0538 无效的存取控制清单结构。
1337 0x0539 安全识别码结构无效。
1338 0x053A 安全叙述子结构无效。
1340 0x053C 无法建立继承的存取控制清单或存取控件目。
1341 0x053D 服务器目前无效。
1342 0x053E 服务器目前可以使用。
1343 0x053F 所提供的值是无效的识别码授权值。
1344 0x0540 没有可供安全信息更新使用的内存。
1345 0x0541 指定的属性无效,或指定的属性与整个群组的属性不兼容。
1346 0x0542 either a required impersonation level was not provided, or the provided impersonation level is invalid.
1347 0x0543 cannot open an anonymous level security token.
1348 0x0544 所要求的认可信息类别无效。
1349 0x0545 the type of the token is inappropriate for its attempted use.
1350 0x0546 无法在没有相关连安全性的对象执行 安全作业。
1351 0x0547 指示无法连到 windows nt 服务器,或网域中的对象受到保护,所以无法撷取所需的对象。
1352 0x0548 安全帐户管理程序或区域安全授权服务器状态不正确,所以无法执行安全作业。
1353 0x0549 网域状态错误,所以无法执行安全作业。
1354 0x054A 只有网域的主域控制器才能使用这项作业。
1355 0x054B 指定的网域不存在。
1356 0x054C 指定的网域已经存在。
1357 0x054D 尝试超过每个服务器的网域数目限制。
1358 0x054E 因为磁盘上发生严重的储存媒体错误或是数据结构毁损, 所以无法完成所要求的作业。
1359 0x054F 安全帐户数据库内有内部不一致的状况。
1360 0x0550 通用的存取类型包含在某一存取屏蔽中, 这个屏蔽已经对应到非通用的类型。
1361 0x0551 安全叙述子的格式不正确 (absolute or self-relative)。
1362 0x0552 所要求的动作只能给登入使用。 而目前呼叫该动作的处理并未登录为登入。
1363 0x0553 无法利用已经在使用的识别码来激活新的作业阶段。
1364 0x0554 无法识别指定的确认包装。
1365 0x0555 登入作业阶段不是在与要求的作业一致的状态。
1366 0x0556 登入作业阶段识别码已经在使用中。
1367 0x0557 登入要求包含无效的登入类型值。
1368 0x0558 Unable to impersonate via a named pipe until data has been read from that pipe.
1369 0x0559 The transaction state of a Registry subtree is incompatible with the requested operation.
1370 0x055A 内部安全数据库毁损。
1371 0x055B 无法在内建帐户执行这项作业。
1372 0x055C 无法在这个内建的特殊群组执行这项操作。
1373 0x055D 无法在这个内建的特殊使用者执行这项作业。
1374 0x055E 因为群组目前是使用者的主要群组,所以不能 从群组移除使用者。
1375 0x055F The token is already in use as a primary token.
1376 0x0560 指定的区域群组不存在。
1377 0x0561 指定的帐户名称不是区域群组的成员。
1378 0x0562 指定的帐户名称已经是区域群组的成员。
1379 0x0563 指定的区域群组已经存在。
1380 0x0564 登入失败:使用者无权在这部计算机以要求的 登入类型登入。
1381 0x0565 The maximum number of secrets that may be stored in a single system has been exceeded.
1382 0x0566 The length of a secret exceeds the maximum length allowed.
1383 0x0567 本区安全性授权数据库内含的资料不一致。
1384 0x0568 在登入时,使用者的安全内容累积太多的 安全识别码。
1385 0x0569 登入失败: 使用者尚未被许可在这个台脑使用要求的登入类型。
1386 0x056A 交叉加密的密码需要变更使用者的密码。
1387 0x056B 因为成员不存在,所以无法将新的成员新增到 区域群组。
1388 0x056C 因为成员的帐号类型不正确,所以无法新增到区域群组。
1389 0x056D 指定的安全 ID 太多。
1390 0x056E 需要用到交互加密的密码才能变更这个使用者的密码。
1391 0x056F 表示存取控制清单没有可继承的组件。
1392 0x0570 档案或目录已毁,无法读取资料。
1393 0x0571 磁盘结构已毁无法读取。
1394 0x0572 没有指定之登入作业阶段的使用者作业阶段机码。
1395 0x0573 正在存取的服务仅授权特定数目的联机。 而目前联机数目已达上限,所以无法再建立服务联机。
1400 0x0578 窗口代码无效。
1401 0x0579 菜单识别码无效。
1402 0x057A 光标句柄无效。
1403 0x057B 加速键表格句柄无效。
1404 0x057C Invalid hook handle. 1405 0x057D 无效的多重窗口位置结构控制。
1406 0x057E 无法建立最上层的子窗口。
1407 0x057F 找不到 Window Class。
1408 0x0580 无效的窗口,属于其它的执行绪。
1409 0x0581 快速键已经登记。
1410 0x0582 Class 已经存在。
1411 0x0583 Class 不存在。
1412 0x0584 Class 仍然有开启的窗口。
1413 0x0585 无效的索引。
1414 0x0586 图标句柄无效。
1415 0x0587 使用专用的 DIALOG 窗口文字。
1416 0x0588 清单方块识别码找不到。
1417 0x0589 找不到任何通配字符。
1418 0x058A 执行绪 (thread) 没有开启剪贴簿。
1419 0x058B 快速键没有登记。
1420 0x058C 不是有效的对话窗口。
1421 0x058D Control ID 找不到。
1422 0x058E 清单方块的讯息无效,因为没有任何的编辑句柄。
1423 0x058F 窗口不是一个清单方块。
1424 0x0590 高度必须小于 256。
1425 0x0591 装置范围 (DC) 句柄无效。
1426 0x0592 锁定程序类型无效。
1427 0x0593 锁定程序无效。
1428 0x0594 没有模块句柄就不能设定非本区的锁定。
1429 0x0595 This hook procedure can only be set globally.
1430 0x0596 The journal hook procedure is already installed.
1431 0x0597 The hook procedure is not installed.
1432 0x0598 无效的单一选择清单方块讯息。
1433 0x0599 LB_SETCOUNT 传送到 non-lazy 清单方块。
1434 0x059A 这个清单方块不支持跳格停驻。
1435 0x059B 不可毁损由其它执行绪所建立的对象。
1436 0x059C 子窗口不能有菜单。
1437 0x059D 窗口没有系统菜单。
1438 0x059E 无效的消息框样式。
1439 0x059F 无效的 system-wide (SPI_*) 参数。
1440 0x05A0 屏幕已经锁定。
1441 0x05A1 All handles to windows in a multiple-window position structure must have the same parent.
1442 0x05A2 窗口不是子窗口。
1443 0x05A3 GW_* 指令无效。
1444 0x05A4 执行绪识别码无效。
1445 0x05A5 无法处理多重文件接口窗口的讯息。
1446 0x05A6 即现式菜单已在作用中。
1447 0x05A7 窗口没有滚动条。
1448 0x05A8 滚动条范围不可以大于0x7FFF。
1449 0x05A9 无法以指定的方式显示或移除窗口。
1450 0x05AA 系统资源不足,无法完成所要求的服务。
1451 0x05AB 系统资源不足,无法完成所要求的服务。
1452 0x05AC 系统资源不足,无法完成所要求的服务。
1453 0x05AD 配额不足,无法完成所要求的服务。
1454 0x05AE 配额不足,无法完成所要求的服务。
1455 0x05AF 这项作业的 paging 文件太小,无法完成作业。
1456 0x05B0 找不到菜单项目。
1500 0x05DC 事件记录文件坏掉。
1501 0x05DD 无法开启事件记录文件,因此事件记录服务没有激活。
1502 0x05DE 事件记录文件已满。
1503 0x05DF 事件记录文件已经变更。
1700 0x06A4 字符串连结错误。
1701 0x06A5 连结句柄 (binding handle) 的类型错误。
1702 0x06A6 连结句柄 (binding handle) 无效。
1703 0x06A7 不支持 RPC 通讯协议顺序。
1704 0x06A8 RPC 通讯协议顺序无效。
1705 0x06A9 字符串 universal unique identifier (UUID) 无效。
1706 0x06AA 端点格式错误。
1707 0x06AB 网络地址无效。
1708 0x06AC 找不到端点。
1709 0x06AD 逾时数值无效。
1710 0x06AE 找不到对象的 universal unique identifier (UUID)。
1711 0x06AF 对象的 universal unique identifier (UUID) 已经登记。
1712 0x06B0 类型的 universal unique identifier (UUID) 已经登记。
1713 0x06B1 RPC 服务器已经在听候。
1714 0x06B2 没有登记通讯协议顺序。
1715 0x06B3 RPC 服务器没有听候指令。
1716 0x06B4 管理员类型不详。
1717 0x06B5 接口不详。
1718 0x06B6 没有联机。
1719 0x06B7 没有通讯协议顺序。
1720 0x06B8 无法建立端点。
1721 0x06B9 资源不足,无法完成作业。
1722 0x06BA RPC 服务器无法使用。
1723 0x06BB RPC 服务器太忙,无法完成这项作业。
1724 0x06BC 网络选项无效。
1725 0x06BD 这个执行绪 (thread) 没有任何执行的远程过程调用。
1726 0x06BE 远程过程调用失败。
1727 0x06BF 远程过程调用失败,所以没有执行。
1728 0x06C0 远程过程调用 (remote procedure call,RPC) 通讯协议发生错误。
1730 0x06C2 RPC 服务器不支持转送语法。
1732 0x06C4 不支持 universal unique identifier (UUID) 的类型。
1733 0x06C5 封签 (tag) 无效。
1734 0x06C6 数组无效。
1735 0x06C7 连结中没有项目名称。
1736 0x06C8 名称语法无效。
1737 0x06C9 名称语法不被支持。
1739 0x06CB 没有任何网络地址可以用来建立全球唯一的识别码 (UUID)。
1740 0x06CC 端点重复。
1741 0x06CD 授权类型不详。
1742 0x06CE 呼叫次数的上限太小。
1743 0x06CF 字符串太长。
1744 0x06D0 找不到 RPC 通讯协议顺序。
1745 0x06D1 程序号码超出范围。
1746 0x06D2 连结中没有包含任何确认信息。
1747 0x06D3 确认服务不详。
1748 0x06D4 确认层次不详。
1749 0x06D5 安全内容无效。
1750 0x06D6 确认服务不详。
1751 0x06D7 项目无效。
1752 0x06D8 服务器端点无法执行这个作业。
1753 0x06D9 端点对应程序没有其它的端点。
1754 0x06DA 没有汇出任何的接口。
1755 0x06DB 项目名称不完整。
1756 0x06DC 版本选项无效。
1757 0x06DD 没有其它的成员。
1758 0x06DE 没有任何资料可以取消汇出。
1759 0x06DF 接口找不到。
1760 0x06E0 项目已经存在。
1761 0x06E1 项目找不到。
1762 0x06E2 名称服务无法使用。
1763 0x06E3 网络地址系列无效。
1764 0x06E4 要求的作业不受支持。
1765 0x06E5 没有可用来仿真的安全内容。
1766 0x06E6 远程过程调用 (RPC) 发生内部错误。
1767 0x06E7 RPC 服务器尝试用整数除以 0。
1768 0x06E8 RPC 服务器发生地址设定错误。
1769 0x06E9 RPC 服务器的浮点作业导致除以 0 的运算。
1770 0x06EA RPC 服务器发生浮点 underflow。
1771 0x06EB RPC 服务器发生浮点 overflow。
1772 0x06EC 清单中可供连结自动代码 的 RPC 服务器已经用完。
1773 0x06ED 无法开启字符转换表档案。
1774 0x06EE 包含字符转换表的档案少于 512 字节。
1775 0x06EF 在远程过程调用时,将空的 context 代码从 客户端传送到主计算机。
1777 0x06F1 在远程过程调用时内容处理改变。
1778 0x06F2 传送给远程过程调用的连结代码不符。
1779 0x06F3 The stub is unable to get the remote procedure call handle.
1780 0x06F4 A null reference pointer was passed to the stub.
1781 0x06F5 The enumeration value is out of range.
1782 0x06F6 字节计数太小。
1783 0x06F7 The stub received bad data.
1784 0x06F8 所提供的使用者缓冲区对要求的作业无效。
1785 0x06F9 无法辨识磁盘储存媒体。磁盘储存媒体可能还没有制作格式。
1786 0x06FA The workstation does not have a trust secret.
1787 0x06FB The SAM database on the Windows NT Server does not have a computer account for this workstation trust relationship.
1788 0x06FC The trust relationship between the primary domain and the trusted domain failed.
1789 0x06FD The trust relationship between this workstation and theprimary domain failed.
1790 0x06FE 网络登入失败。
1790 0x06FE 网络登入失败。
1791 0x06FF 远程过程调用已经在这个执行绪进行中。
1792 0x0700 尝试登入,但网络登入服务尚未激活。
1793 0x0701 使用者的帐户已经过期。
1794 0x0702 The redirector is in use and cannot be unloaded.
1795 0x0703 指定的打印机驱动程序已经安装。
1796 0x0704 指定的连接埠无法识别。
1797 0x0705 打印机驱动程序无法识别。
1798 0x0706 打印处理器不详。
1799 0x0707 指定的分隔档无效。
1800 0x0708 指定的优先级无效。
1801 0x0709 打印机名称无效。
1802 0x070A 打印机已经存在。
1803 0x070B 打印机指令无效。
1804 0x070C 指定的数据类型无效。
1805 0x070D 指定的 Environment 无效。
1806 0x070E 没有其它的连结。
1807 0x070F 这是一个跨网域的信任帐户。请用您的全域性使用者帐户或区域性使用者帐户来存取服务器。
1808 0x0710 这是一个计算机帐户。请使用您的全域性使用者帐户或区域性使用者帐户来存取这个服务器。
1809 0x0711 这是一个伺服端信任帐户。请用您的全域性使用者帐户或区域性使用者帐户来存取服务器。
1810 0x0712 指定的网域名称或安全识别码与网域信用信息不符。
1811 0x0713 服务器正在使用中,无法卸载。
1812 0x0714 指定的影像档案没有有包含资源区段。
1813 0x0715 在影像文件找不到指定的资源类型。
1814 0x0716 在影像文件找不到指定的资源名称。
1815 0x0717 在影像文件找不到指定的资源语系识别码。
1816 0x0718 可用的配额不足,无法处理这项指令。
1817 0x0719 登录任何接口。
1818 0x071A 处理这项呼叫的时候,服务器发生变更。
1819 0x071B 连结代码没有包含所有必须的信息。
1820 0x071C 通讯失败。
1821 0x071D 要求的认证层次不被支持。
1822 0x071E 没有登记任何主要的名称。
1823 0x071F 指定的错误不是有效的 Windows RPC 错误码。
1824 0x0720 A UUID that is valid only on this computer has been allocated.
1825 0x0721 发生安全包装指定错误。
1826 0x0722 没有取消执行绪 (THREAD)
1827 0x0723 针对编码/译码的代码进行无效的作业。
1828 0x0724 Incompatible version of the serializing package.
1829 0x0725 不兼容的RPC stub版本。
1898 0x076A 找不到群组成员。
1899 0x076B 无法建立 endpoint mapper 数据库。
1900 0x076C The object universal unique identifier (UUID) is the nil UUID.
1901 0x076D 指定的项目无效。
1902 0x076E 指定窗体名称错误。
1903 0x076F 指定的窗体大小错误。
1904 0x0770 指定的打印机句柄已经在等候。
1905 0x0771 指定的打印机已经删除。
1906 0x0772 打印机的状态错误。
1907 0x0773 使用者在第一次登入之前,必须先变更它的密码。
1908 0x0774 找不到这个网域的域控制器。
1909 0x0775 参照的帐户目前被锁定,无法登入。
2000 0x07D0 像素格式无效。
2001 0x07D1 指定的驱动程序无效。
2002 0x07D2 窗口样式或 class 属性对这项作业无效。
2003 0x07D3 不支持所要求的中继文件作业。
2004 0x07D4 不支持要求的传输作业。
2005 0x07D5 不支持要求的剪辑作业。
2202 0x089A 指定的使用者名称无效。
2250 0x08CA 网络联机不存在。
2401 0x0961 这个网络联机已经开启档案或者要求暂停。
2402 0x0962 现行的联机仍然存在。
2404 0x0964 装置正在使用中,无法中断联机。
3000 0x0BB8 指定的打印机监视器不详。
3001 0x0BB9 指定的打印机驱动程序正在使用中。
3002 0x0BBA 找不到排存盘。
3003 0x0BBB 没有发出 StartDocPrinter 呼叫。
3004 0x0BBC 没有发出 AddJob 呼叫。
3005 0x0BBD 指定的打印处理器已经安装。
3006 0x0BBE 指定打印监控程序已经安装。
4000 0x0FA0 在处理指令时,WINS 发生错误。
4001 0x0FA1 无法删除区域的 WINS。
4002 0x0FA2 The importation from the file failed.
4003 0x0FA3 制作备份失败。以前执行过完整的备份吗?
4004 0x0FA4 无法制作备份,请检查目录。
4005 0x0FA5 名称不在 WINS 数据库中。
4006 0x0FA6 不可用未设定的打印机来取代。
6118 0x17E6 这个工作群组的服务清单目前无法使用。


[+1] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:01:33 5楼 举报

计算机实用小秘密:


IPB Image

密技1:快速看到档案的内容
实用性:*
机密性:***

平常你要看档案的内容的作法是——在档案上按滑鼠右键选取内容,这样大概要花1.5 秒。现在有个新作法——按住键盘的Alt键不放,对档案以滑鼠左键连击两下,这样只花1 秒。试试看吧,能省下0.5秒是件好事,生命应该浪费在美好的事物上!


密技2:快速重新开机
实用性:*****
机密性:***

有时候新灌了一些软体后,WINDOWS就会要我们重新开机;或是你没事做,也想重新开机。在按下确定之前先按住键盘的Shift键,可以跳开暖开机的动作,大概比不按要快上5 秒。现今社会,5秒就可以泡一个妞了,这个密技非常实用。


密技3:改变开关机画面
实用性:****
机密性:*

这个密技应该很多人知道,这可以让你的电脑有你的风格,就像很多人都喜欢在手机上贴贴纸一样。开机画面是在C:\的LOGO.SYS,在C:\WINDOWS\下有等待关机画面LOGOW.SYS 和你可以放心关机画面LOGOS.SYS,其实它们都是BMP图档,大小320*400,256色,WINDOWS会把它放宽170%。所以你可以准备一张256色544*400的BMP图档,再把图缩成320*400,改成上面的档名,放到该放的路径就可以了。很多网站有提供漂亮的开关机画面可抓,事实上也可以找到一些帮你更改开关机画面的程式。


密技4:不要开机画面
实用性:***
机密性:***

如果你想省下更多时间浪费在美好的事物上,或者觉得「没有」是你的风格,那就应该不要开机画面。作法是修改C:\下的MSDOS.SYS,在OPTION段落里加一行LOGO=0 ,注意MSDOS.SYS 的属性是唯读的,要先取消唯读后再修改,改完后要按套用!


密技5:档案直接删除
实用性:**
机密性:***

平常删除档案会放在垃圾筒里,在选删除或按键盘的Delete键之前按住Shift键,档案会直接删除,不用倒垃圾筒了,不过删错你也救不回来了。


密技6:不要让光盘自动执行
实用性:****
机密性:****

有些光盘很鸡婆,放进去会自动执行,在放入光盘前先按住Shift就行了。会这招很重要,如果你放进一片高H黄片,此时很不幸地妈妈或女朋友走了过来,这招有机会救你一命,多学点东西真是件好事。


密技7:永远不要让光盘自动执行
实用性:****
机密性:**

如果你永远不要让光盘自动执行,在桌面上的我的电脑按滑鼠右键,选内容,选装置管理员,找到你的光盘机后选内容,选设定值,把自动安插通知的打勾取消即可。


密技8:改变我的文件夹的路径
实用性:***
机密性:*

如果我的文件夹不想使用预设C:\的空间,可以在我的文件夹图示上按滑鼠右键,选内容,就可以改成你要的位置。


密技9:解决烦人的WINDOWS密码询问
实用性:****
机密性:***

在你安装完WINDOWS后,开机时会有个对话框,要你输入密码。如果你不打密码直接按确定,以后它就不再问你了;但若你有输入密码,从此每次开机它都会问你。解决方法是,杀掉C:\WINDOWS\下的PWL档,如果你的使用者名称是abc,就是abc.PWL档。然后到控制台,把使用者里面的人名砍了,再去控制台的密码,选使用者设定档,选共用设定。下次重新开机出现询问视窗,你再输入名称,密码不用输入,按确定即可。


密技10:网络加速法
实用性:****
机密性:*****

这个方法麻烦许多,不过这个方法是具有危险性的,如果底下有东西你打错了,可能會當機。所以首先要备份登录档,有种的人可以不备份。选开始-执行,打regedit,选登录-汇出登录档案-存档。如果最后你不幸当机,以安全模式开机时,可以汇入登录档案来做回复:

一、先看看控制台-网络-组态中有没有IPX/SPX、NETBEUI跟TCP/IP这三种通讯协定,有少的可以补上。

二、
a.选"我的电脑"按滑鼠右键-内容-装置管理员-数据机-按下内容-选择数据机-最快速度为115200

b. 选择 "连线" 标签
1.资料位元 = 8
2.同位元检查= none
3.选择连接埠设定值,接收跟传输缓冲区都设最高。

c.选进阶按钮
1.使用流量控制打勾-选择硬体
2.不要使用错误控制
3.词变标准 = 标准
4.额外设定值 =%C0(C是大写,0是数字)

三、在装置管理员选择你数据机的连接埠选内容-连接埠设定值:
a.每秒多少位元=最大

b.资料位元=8

c.同位元检查= none

d.流量控制=hardware

四、在c:windowssystem.ini中,[386Enh]后面加上一行Com2Buffer=1024。(PS:Com2 or other 看你的连接埠而定。)

五、再来在开始选单的执行中打regedit:
a.找到HKEY_LOCALMACHINEEnumRootNet000Bindings,看右边框格,记住MSTCP后的数字xxxx(若在0000找不到MSTCP,可能在0001、0002)。

b.再到HKEY_LOCALMACHINEEnumNetworkMSTCPxxxx,看右邊[Driver=NetTransyyyy],記下yyyy。

c.找到HKEY_LOCALMACHINESystemCurrentControlsetServicesClassNetTransyyyy,在右框中新增一個字串值,命名MAXMTU,值為576。若已經有,改數值即可。

d.找到HKEY_LOCALMACHINESystemCurrentControlsetServicesVxDMSTCP,在右邊新增字串值 ,命名DefaultRcvWindow,值為64000。

e.再來把同樣在這裡的DefaultTTL這個字串值設定其值為128。

f.同樣在這裡的DefaultMSS,值設定為536。

g.找到CALMACHINESystemCurrentControlsetServicesVxDNWLinkNdiParamsmaxsockets,,max的值改成1024。

六、重新开机,并且做祈祷:
以我的经验,下载档案每秒经常破5K,快到我会怕,总觉得数据机快烧坏了。


密技11:不让IE鸡婆
实用性:***
机密性:*

IE会帮你自动完成曾经输入过的使用者名称及密码,这是挺方便的,不过有时也是一种鸡婆行为。如果你与别人共用电脑,别人会知道你上过什麼网站,或者你家里的小孩可能会用了你的密码买一些充气娃娃、汽车、房子甚至飞机回来,光是想就觉得恐怖极点了。这个鸡婆行为是可以关闭的,打开浏览器后,选择工具-Internet选项,然后选内容-自动完成,清除所有勾选项,也可以按视窗底部的两个按钮,以清除目前所记录的表单及密码资料。还有另一种方法,你可以将WINDOWS设定为多重使用者环境,则每一位使用者都必须输入密码才能够登入电脑,而且他只能看见自己的桌面设定,包括IE的自动完成。


密技12:加快Outlook Express
实用性:***
机密性:*

M牌的软件总是又大又慢又鸡婆又常当机,虽然软体傻瓜化适合愚蠢的大众使用,不过很多软体预设的运作方式实在很智障,而愚蠢的大众又不知道要改。请在OutlookExpress中选择工具-选项,选一般,顶端三个项目仅勾选第一个,其他的视个人喜好决定;然后再选维护,清除"在背景压缩邮件"选项,这样OE就不会背著你偷偷去压缩邮件,清除"在背景压缩邮件"选项这是一项省硬碟空间但浪费时间的功能。当你没连线而使用OE时,选择档案离线工作,便可以离线操作;选择工具-选项,选一般,"每隔X分钟传送及接收邮件"下方的下拉式选单选"不要连线"这样OE就不会没事跳出视窗打扰你了。


WINDOWS常用热键:
PS:WINDOW键、CTRL键、ALT键要先按住再按后面的其他键)
**EX:WINDOW按住,再按E,即为呼叫档案总管**
「WINDOW键」+「E」:档案总管
「WINDOW键」+「F」:寻找字串、寻找电脑、寻找档案
「WINDOW键」+「Pause/Break」:系统内容
「WINDOW键」+「M」:瞬间缩小所有视窗
「Ctrl」+「C」:记至记忆体中(准备做拷贝动作)
「Ctrl」+「V」:呼叫出记忆体中的东西(将东西贴上)
「Ctrl」+「Esc」:拉出开始功能表
「Ctrl」+「Home」:将游标移至文字编辑区的开始(Home单用:移至列首)
「Ctrl」+「End」:将游标移至文字编辑区的终点(End单用:移至列尾)
文字移动中按住「Shift」视为选取动作
例:在文字编辑模式中「Ctrl」+「Home」→「Shift」按住→「Ctrl」+「End」
(★即可完全选取全部文字的动作☆)
「Alt」+「F4」:关闭作用中视窗(若是点一下桌面再按则为「关机」)
「F2」:更改名称(档案更名、ICON更名…)


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:02:58 6楼 举报

两部电脑的局域网络设定:


IPB Image

问:两部电脑的区域网络设定有哪四大基本步骤?
答:
一.第一台组态设定(连接实体印表机者)
01.网络组态--新增通讯协定(NetBEUI),新增服务(File&Printer分享)
02.启动档案及列印分享
03.自订电脑识别资料
04.重新启动
二.第二台组态设定
01.电脑识别资料--电脑名称不同,工作群组与第一台相同
02.重新启动
三.设定档案资料分享
01.自行选取磁盘或资料夹,以右键点选资源分享,选择分享方式,设密码
02.或另可设定为网络磁盘机--(工具/连线网络磁盘机:输入路径\\第?电脑名称\磁盘机或资料夹)
四.设定印表机列印分享
01.第一台实体印表机设为资源分享
02.第二台新增为"网络"印表机
----------------------------------------------------------------------------------------------------------------------------------------------------------------
我家中有两台电脑,如何用同一宽频帐户,使两台电脑同时上网?
A:请依照下列步骤设定你的电脑

1.主机设定(即直接连接Cable Modem的电脑)
除用来连接Cable Modem的网卡外,用户须安装另一张网卡作为分享宽频之用.
把用来分享宽频的网卡的IP Address设定为192.168.0.1,而子网络屏蔽遮罩则设定为255.255.255.0.
右击〔网络上的芳邻〕,选择〔内容〕
右击〔宽频连线〕的图示,选择〔内容〕
在〔内容〕视窗中选择〔进阶〕分页.
把所有选择点选,最后按〔确定〕即可.

2.其他电脑设定
网卡的IP Address可由192.168.0.2至192.168.0.244选择,子网络遮罩应设定为255.255.255.0,预设闸道为192.168.0.1,而DNS亦为192.168.0.1
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Windows XP与98网络芳邻设定

区域网络设定方法:要注意两部的电脑群组名称需一致而且电脑名称不可相同。

一、98的设定
到网络→新增通讯协定→加入NETBUI....→新增档案与印表机分享→确定(重新开机)

二、XP的设定
新增 NetBEUI 通讯协定,NetBEUI 仍在原版光盘上(在 Valueadd\Msft\Net\Netbeui 下),如果需要这个通讯协定的話,就必须靠使用者「自己安装」。放入 Windows XP 光盘片,开启档案总管,到 Valueadd\Msft\Net\Netbeui 下。将 Netnbf.inf 复制到 C:\Windows\INF 中。将 Nbf.sys 复制到 C:\Windows\System32\Drivers 中。关闭档案总管,按「开始」>>「控制台」>>「网络和网际网络连线」,选择「网络连线」。在「区域连线」(就是你目前使用中的连线)上按右键,选内容。於「一般」这页,按「安装」,选「通讯协定」按「新增」。此时就可以看到「NetBEUI Protocol」一项(原本并没有),选取 NetBEUI 之后,按确定,再按关闭,以关闭设定视窗。以上二部电脑设定好分享出要分享的磁盘与目录,在网芳中即可看出队分的电脑名称与分享的档案或印表机了。


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:04:24 7楼 举报

显卡超频完整图片教学:


IPB Image
smile.gif开始
IPB Image
smile.gif执行输入regedit
IPB Image
smile.gifHKEY_LOCAL_MACHINE\SOFTWARE
IPB Image
smile.gifHKEY_LOCAL_MACHINE\SOFTWARE\NVIDIACorporation\Global\Nv Tweak
IPB Image
smile.gif新增DWORD
IPB Image
smile.gif右边出现DWORD
IPB Image
smile.gif输入档案名称CoolBits
IPB Image
smile.gif数值输入36底用16进位
IPB Image
smile.gif在桌面点右键选内容
IPB Image
smile.gif选进阶
IPB Image
smile.gif出现显示卡内容
IPB Image
smile.gif选最右边你的显示卡
IPB Image
smile.gif左边选时脉频率设定值
IPB Image
smile.gif出现原厂警告你确定要超频吗?不管他选"我同意"
IPB Image
smile.gif选手动超频
IPB Image
smile.gif选自动电脑自动侦测帮你超频你看显示卡在跑了
IPB Image
biggrin.gif显示卡安全超频成功
IPB Image
smile.gif^ ^a祝你们成功


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:05:51 8楼 举报

P2P保护硬盘方法:


为什麼P2P频繁读写会损坏硬盘呢?

IPB Image

磁头寿命是有限的,频繁的读写会加快磁头臂及磁头电机的磨损,频繁的读写磁片某个区域更会使该区温度升高,将影响该区磁介质的稳定性还会导至读写错误,高温还会使该区因热膨涨而使磁头和碟面更近了(正常情况下磁头和碟面只有几个微米,更近还得了?),而且也会影响薄膜式磁头的资料读取灵敏度,会使晶体振荡器的时钟主频发生改变,还会造成硬盘电路元件失灵。任务繁多也会导至IDE硬盘过早损坏,由於IDE硬盘自身的不足,过多工请求是会使寻道失败率上升导至磁头频繁重定(重定就是磁头回复到 0 磁轨,以便重新寻道)加速磁头臂及磁头电机磨损。

我先说一下现代硬盘的工作原理:

现在的硬盘,无论是IDE还是SCSI,采用的都是"温彻思特“技术,都有以下特点:

1。磁头,盘片及运动机构密封。
2。固定并高速旋转的镀磁碟片表面平整光滑。
3。磁頭沿碟片徑向移動。
4。磁头对碟片接触式启停,但工作时呈飞行状态不与碟片直接接触。


盘片:硬盘盘片是将磁粉附著在铝合金(新材料也有用玻璃)圆盘片的表面上.这些磁粉被划分成称为磁轨的若干个同心圆,在每个同心圆的磁轨上就好钗陬L数的任意排列的小磁铁,它们分别代表著0和1的状态。当这些小磁铁受到来自磁头的磁力影响时,其排列的方向会随之改变。利用磁头的磁力控制指定的一些小磁铁方向,使每个小磁铁都可以用来储存资讯。

盘体:硬盘的盘体由多个碟片组成,这些碟片重叠在一起放在一个密封的盒中,它们在主轴电机的带动下以很高的速度旋转,其每分钟转速达3600、4500、5400、7200甚至以上。(=.=||在玩机械切削床吗?)

磁头:硬盘的磁头用来读取或者修改碟片上磁性物质的状态,一般说来,每一个磁面都会有一个磁头,从最上面开始,从0开始编号。磁头在停止工作时,与磁片是接触的,但是在工作时呈飞行状态。磁头采取在碟片的著陆区接触式启停的方式,著陆区不存放任何资料,磁头在此区域启停,不存在损伤任何资料的问题。读取资料时,碟片高速旋转,由於对磁头运动采取了精巧的空气动力学设计,此时磁头处於离盘面资料区0.2-0.5微米高度的"飞行状态"。既不与盘面接触造成磨损,又能可靠的读取资料。

电机:硬盘内的电机都为无刷电机,在高速轴承支撑下机械磨损很小,可以长时间连续工作。高速旋转的盘体产生了明显的陀螺效应,所以工作中的硬盘不宜运动,否则将加重轴承的工作负荷。硬盘磁头的寻道饲服电机多采用音圈式旋转或者直线运动步进电机,在饲服跟踪的调节下精确地跟踪盘片的磁轨,所以在硬盘工作时不要有冲击碰撞,搬动时要小心轻放。

原理说到这裏,大家都明白了吧?

1.首先磁头和资料区是不会有接触的,所以不存在磨损的问题。
2.其次一开机硬盘就处於旋转状态,主轴电机的旋转可以达到4500rpm或者7200rpm,这和你是否使用flashget或者ed都没有关系,只要一通电它们就在转、它们的磨损也和软件有关。
3.再次寻道电机控制下的磁头的运动,是左右来回移动的,而且幅度很小,从盘片的最内层(著陆区)启动,慢慢移动到最外层,再慢慢移动回来,一个磁轨再到另一个磁轨来寻找资料。不会有什麼大规模跳跃的(又不是青蛙)。所以它的磨损也是可以忽略不记的。
==================================================================
那麼,热量是怎麼来的呢?

1.首先是主轴电机和寻道服务电机的旋转,硬盘的温度主要是因为这个。
2.其次,高速旋转的盘体和空气之间的摩擦。这个也是主要因素。


而硬盘的读写?

很遗憾,它的发热量可以忽略不记!!!!!!!!!!
硬盘的读x作,是碟片上磁场的变化影响到磁头的电阻值,这个过程中碟片不会发热,磁头倒是因为电流发生变化,所以会有一点热量产生。写x作呢?正好反过来,通过磁头的电流强度不断发生变化,影响到盘片上的磁场,这一过程因为用到电磁感应,所以磁头发热量较大。但是盘片本身是不会发热的,因为盘片上的永磁体是冷性的,不会因为磁场变化而发热。但是总的来说,磁头的发热量和前面两个比起来,是小巫见大巫了。热量是可以辐射传导的,那麼高热量对碟片上的永磁体会不会有伤害呢?其实伤害是很小的,永磁体消磁的温度远远高於硬盘正常情况下产生的温度。当然要是你的机箱散热不好,那可就怪不了别人了。


我这裏不得不说一下某人的几个错误:

一、高温是影响到磁头的电阻感应灵敏度,所以才会产生读写错误,和永磁体没有关系。
二、所谓的热膨胀,不会拉近盘体和磁头的距离,因为磁头的飞行是空气动力学原理,在正常情况下始终和碟片保持一定距离。当然要是你大力打击硬盘,那麼这个震动。。。。。
三、所谓寻道是指硬盘从初使位置移动到指定磁轨。所谓的复位动作,并不是经常发生的。因为磁轨的物理位置是存放在cmos裏面,硬盘并不需要移动回0磁轨再重新出发。只要磁头一启动,所谓的复位动作就完成了,除非你重新启动电脑,不然复位动作就不会再发生。
四、IDE硬盘和SCSI硬盘的盘体结构是差不多的。只是scsi硬盘的介面带宽比同时代的ide硬盘要大,而且往往SCSI卡往往都会有一个类似CPU的东西来减缓主CPU的占用率。仅此而已,所以希捷才会把它的SCSI硬盘的技术用在IDE硬盘上。
五、硬盘的读写是以柱面的磁区为单位的。柱面也就是整个盘体中所有磁面的半径相同的同心磁轨,而把每个磁轨划分为若干个区就是所谓的磁区了。硬盘的写x作,是先写满一个磁区,再写同一柱面的下一个磁区的,在一个柱面完全写满前,磁头是不会移动到别的磁轨上的。所以档在硬盘上的存储,并不是像一般人的认为,是连续存放在一起的(从使用者来看是一起,但是从x作系统底层来看,其存放不是连续的)。所以flashget或者ed开了再多的线程,磁头的寻道一般都不会比你一边玩游戏一边听歌大。当然,这种情况只是单纯的下载或者上传而已,但是其实在这个过程中,谁能保证自己不会启动其他需要读写硬碟的软体?可能很多人都喜欢一边下载一边玩游戏或者听歌吧?更不用说windows本身就需要频繁读写虚拟记忆体档了。所以,用fg下载也好,ed也好,对硬盘的折磨 和平时相比不会太厉害的。
六、再说说flashget为什麼开太多线程会不好和ed为什麼硬盘读写频繁。首先,线程一多,CPU的占用率就高,换页动作也就频繁,从而虚拟记忆体读 写频繁,至於为什麼,学过x作系统原理的应该都知道,我这裏就不说了。ed呢?同时从几个人那裏下载一个档,还有几个人同时在下载你的档,这和fg开多线程是。所以硬盘灯猛闪。但是,现在的硬盘是有缓存的,资料不是马上就写到硬盘上,而是先存放在缓存裏面,,然后到一定量了再一次性写入硬盘。在fg裏面再怎麼设置都好,其实是先写到缓存裏面的。但是这个过程也是需要CPU干预的,所以设置时间太短,cpu占用率也高,所以硬盘灯也还是猛闪的,因为虚拟档在读。
七、硬盘读写频繁,磁头臂在寻道伺服电机的驱动下移动频繁,但是对机械来说这点耗损虽有,其实不大。除非你的硬盘本身就有机械故障比如力臂变形之类的(水货最常见的故障)。真正耗损在於磁头,不断变化的电流会造成它的老化,但是和它的寿命相比。。。。。应该也是在合理范围内的。除非因为震动,磁头撞击到了盘体。
八、受高温影响的最严重的是机械的电路,特别是硬盘外面的那块电路板,上面的集成块在高温下会加速老化的。所以IBM的某款玻璃硬盘,虽然有坏道,但是一用某个软体,马上就不见了。再严重点的,换块线路板,也就正常了。就是这个原因.


总之,硬盘会因为环境不好和保养不当而影响寿命,但是这绝对不是软体的错。flashget也好,ed也好,ftp也好,它们虽然对硬盘的读写频繁,但是还不至於比你一般玩游戏一般听歌对硬盘伤害大.说得更加明白的话,它们对硬盘的所谓耗损,其实可以忽略不记.不要因为看见硬盘灯猛闪,就在那裏瞎担心.不然那些提供web服务和ftp服务的服务器,它们的硬盘读写之大,可绝非平常玩游戏,下软体的硬盘可比的。硬盘有一个参数叫做连续无故障时间。它是指硬盘从开始运行到出现故障的最长时间,单位是小时,英文简写是MTBF。一般硬盘的MTBF至少在30000或 40000小时。具体情况可以看硬盘厂商的参数说明。这个连续无故障时间,大家可以自己除一下,看看是多少年。然后大家自己想想,自己的硬盘平时连续工作最久是多长时间。


最后补充一下若干点:

一、硬盘最好不要买水货或者返修货。水货在运输过程中是非常不安全的,虽然从表面上看来似乎无损伤,但是有可能在运输过程中因为各种因素而对机械体造成损伤。返修货就更加不用说了。老实说,那些埋怨硬盘容易损坏的人,你们应该自己先看看,自己的硬盘是否就是这些货色。
二、硬盘的工作环境是需要整洁的,特别是注意不要在频繁断电和灰尘很多的环境下使用硬盘。机箱要每隔一两个月清理一下灰尘。
三、硬盘的机械最怕震动和高温。所以环境要好,特别是机箱要牢固,以免共震太大。电脑桌也不要摇摇晃晃的。
四、要经常整理硬盘碎片。这裏有一个大多数人的误解,一般人都以为硬盘碎片会加大硬盘耗損,其实不是这样的。硬盘碎片的增多本身只是会让硬盘读写所花时间比碎片少的时候多而已,对硬盘的耗损是可以忽略的(我在这裏只说一个事实,目前网路上的服务器,它们用得最多的x作系统是unix,但是在unix下面是没有磁片碎片整理软体的。就连微软的nt4,本身也是没有的)。不过,因为磁头频繁的移动,造成读写时间的加大,所以CPU的换页动作也就频繁了,而造成虚拟档(在这裏其实准确的说法是换页档)读写频繁,从而加重硬盘磁头寻道的负荷。这才是硬盘碎片的坏处。
五、在硬盘读写时尽量避免忽然断电,冷启动和做其他加重CPU负荷的事情(比如在玩游戏时听歌,或者在下载时玩大型3D游戏),这些对硬盘的伤害比一般人想像中还要大。

总之,只要平常注意使用硬盘,硬盘是不会那麼快就和我们说byebye的。当然,如果是硬盘本身的品质就不行,那就无话可说了。
======================================================================================================
以下建议转载自贪婪大陆哈LOCK所发表:

如果还是怕硬盘坏,那就~~~~~~~~~~~

1、设大硬盘Cache:
BT会多线程地下载和上传,很多资料吞吐,Windows默认只有512KB的Cache显然不够,如果记忆体在256MB以上,开大一些Cache应该可以减少硬盘读写,提高性能。一般设在8-16MB效果最好。我设到32MB,开4个BT硬盘灯都不怎麼闪。
a ) 开始---->执行----> "regedit";
b )去注册表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Memory Management/左边找IoPageLockLimit  
c ) 根据你的记忆体修改其十六进位值:
8000为32MB,4000为16MB,其他数字按此计算。
补充计算转换方法如下:
1MB = 1024K,
10MB = 10240K
= 2800(16进制)
= 2*16^3 + 8*16^2 + 0*16^1 + 0*16^0 = 10240k (十进位)  
d ) 重启
如果没有找到IoPageLockLimit,就要新建DWORD。

2、降低运行优先顺序:
BT比较占用资源,启动后,可能会对整个系统的性能造成一定的影响。如果你是用2K/XP,可以利用任务管理器把所有的BT软体的优先顺序降低,这样即使它占用资源,也不会影响其他应用程式的性能,因为它抢占资源的优先顺序不够高,降低对系统的影响

有人说,作业系统是win2k或winxp的话,使用BT下载的情况会好些,因为这两种作业系统会帮你在BT写入硬盘资料时自动升高CACHE,从而减轻(但不是避免)硬盘的损伤。


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:07:56 9楼 举报

各种颜色的光盘用途:


IPB Image

1、WATER BLUE(水藍色)用最新的防DATA LOST技術,大大減少BufferUnder Run的情況,所以在一對一及一對多的1x-12x燒錄模式中擁有超強的穩定性。 最佳燒錄格式為:數據(DATA)

2、OMEGA BLACK(黑色) 純黑的材質,能防止光線損壞當中的有機染料,大大延長CD-R的壽命,保存更長時間。 最佳燒錄格式為:遊戲(GAMES、DATA、MP3、PS2)

3、PURPLE(紫色)能防止光線損壞當中的有機染料,大大延長CD-R的壽命,保存更長時間。最佳燒錄格式為:遊戲(GAMES、DATA、PS2)

4、APPLE GREEN(蘋果綠色)當中的有機染料對微弱訊號極為敏感,能令燒錄的音樂音域表露無遺,可以說是特別為數碼音樂而設。 最佳燒錄格式為:歌曲(DIGITAL AUDIO、MUSIC CD、DATA)

5、METALATE RED(金屬紅色)能令雷射光完全穿過,使CD-R接收訊號完美無暇。 最佳燒錄格式為:音樂(MUSIC、CD、DATA)

6、COPPER MINE(礦黃色)能令雷射光完全穿過,使CD-R接收訊號完美無暇。 最佳燒錄格式為:音樂(MUSIC、CD、DATA)

7、ORANGE(橙色)能令雷射光完全穿過,使CD-R接收訊號完美無暇。 最佳燒錄格式為:音樂(MUSIC、CD、DATA、VCD)

8、DIAMOND(純銀色)其燒錄面顏色與普通VCD無異,當中的「串音頻率」特別低,可令文件讀取時的線條或馬賽克出現減至最低。 最佳燒錄格式為:視頻文件(VCD、MPEG、FILE)


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:08:56 10楼 举报

LCD屏幕的影像原理:


IPB Image

TFT型的液晶显示器较为复杂,主要的构成包括了:萤光管导光板偏光板滤光板玻璃基板配向膜液晶材料薄模式电晶体.....等等。液晶显示器的运作原理:如以上所提目前液晶显示技术大多以TNSTNTFT三种技术为主轴,因此我们就这从这三种技术来探讨它们的运作原理。TN型的液晶显示技术可说是液晶显示器中最基本的,而之后其他种类的液晶显示器也可说是以TN型为原点来加以改良。同样的,它的运作原理也较其他技术来的简单,请读者参照上方的图片。图中所表示的是TN型液晶显示器的简易构造图,包括了垂直方向与水平方向的偏光板,具有细纹沟槽的配向膜,液晶材料以及导电的玻璃基板。 其显像原理是将液晶材料置於两片贴附光轴垂直偏光板之透明导电玻璃间,液晶分子会依配向膜的细沟槽方向依序旋转排列,如果电场未形成,光线会顺利的从偏光板射入,依液晶分子旋转其行进方向,然后从另一边射出。如果在两片导电玻璃通电之后,两片玻璃间会造成电场,进而影响其间液晶分子的排列,使其分子棒进行扭转,光线便无法穿透,进而遮住光源。这样所得到光暗对比的现象,叫做扭转式向列场效应,简称TNFE(twisted nematic field effect)。在电子产品中所用的液晶显示器,几乎都是用扭转式向列场效应原理所制成。STN型的显示原理也似类似,如上图不同的是TN扭转式向列场效应的液晶分子是将入射光旋转90度,而STN超扭转式向列场效应是将入射光旋转180~270度要在这边说明的是,单纯的TN液晶显示器本身只有明暗两种情形(或称黑白),并没有办法做到色彩的变化。而STN液晶显示器牵涉液晶材料的关系,以及光线的干涉现象,因此显示的色调都以淡绿色与橘色为主。但如果在传统单色STN液晶显示器加上一彩色滤光片(color filter),并将单色显示矩阵之任一像素(pixel)分成三个子像素(sub-pixel),分别透过彩色滤光片显示绿三原色,再经由三原色比例之调和,也可以显示出全彩模式的色彩。另外,TN型的液晶显示器如果显示萤幕做的越大,其萤幕对比度就会显得较差,不过藉由STN的改良技术,则可以弥补对比度不足的情况。液晶萤幕的驱动方式 在TN与STN型的液晶显示器中,所使用单纯驱动电极的方式,都是采用X、Y轴的交叉方式来驱动,如上图所示因此如果显示部份越做越大的话,那麼中心部份的电极反应时间可能就会比较久。而为了让萤幕显示一致,整体速度上就会变慢。讲的简单一点,就好像是CRT显示器的萤幕更新频率不够快,那是使用者就会感到萤幕闪烁、跳动;或著是当需要快速3D动画显示时,但显示器的显示速度却无法跟上,显示出来的要果可能就会有延迟的现象。所以早期的液晶显示器在尺寸上有一定的限制,而且并不适合拿来看电影、或是玩3D游戏。 为了改善此一情形,后来液晶显示技术采用了主动式矩阵(active-matrix addressing)的方式来驱动,这是目前达到高资料密度液晶显示效果的理想装置,且解析度极高。方法是利用薄膜技术所做成的矽电晶体电极,利用扫描法来选择任意一个显示点(pixel)的开与关。这其实是利用薄膜式电晶体的非线性功能来取代不易控制的液晶非线性功能。在TFT型液晶显器中,导电玻璃上画上网状的细小线路,电极则由是薄膜式电晶体所排列而成的矩阵开关,在每个线路相交的地方则有著一弄控制匣,虽然驱动讯号快速地在各显示点扫瞄而过,但只有电极上电晶体矩阵中被选择的显示点得到足以驱动液晶分子的电压,使液晶分子轴转向而成「」的对比,不被选择的显示点自然就是「」的对比,也因此避免了显示功能对液晶电场效应能力的依靠。TFT型液晶显示器的运作原理:TFT型的液晶显示器较为复杂,主要的构成包括了:萤光管导光板偏光板滤光板玻璃基板配向膜液晶材料薄模式电晶体.....等等。首先液晶显示器必须先利用背光源,也就是萤光灯管投射出光源,这些光源会先经过一个偏光板然后再经过液晶,这时液晶分子的排列方式进而改变穿透液晶的光线角度。然后这些光线接下来还必须经过前方的彩色的滤光膜与另一块偏光板。因此我们只要改变刺激液晶的电压值就可以控制最后出现的光线强度与色彩,并进而能在液晶面板上变化出有不同深浅的颜色组合了。


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:10:05 11楼 举报

HTML语法大全:


IPB Image

标签 | 属性名称 | 简介
<! - - ................................. - ->註 解
----------------------------------------------------------------------------------------------------------------------------------------------------------------
<A HREF TARGET> 指定超连结的分割视窗
<A HREF=#锚的名称> 指定锚名称的超连结
<A HREF> 指定超连结
<A NAME=锚的名称> 被连结点的名称
<ADDRESS>....</ADDRESS> 用来显示电子邮箱地址
<B> 粗体字
<BASE TARGET> 指定超连结的分割视窗
<BASEFONT SIZE> 更改预设字形大小
<BGSOUND SRC> 加入背景音乐
<BIG> 显示大字体
<BLINK> 闪烁的文字
<BODY TEXT LINK VLINK> 设定文字颜色
<BODY> 显示本文
<BR> 换行
<CAPTION ALIGN> 设定表格标题位置
<CAPTION>...</CAPTION> 为表格加上标题
<CENTER> 向中对齐
<CITE>...<CITE> 用於引经据典的文字
<CODE>...</CODE> 用於列出一段程式码
<COMMENT>...</COMMENT> 加上註解
<DD> 设定定义列表的项目解说
<DFN>...</DFN> 显示"定义"文字
<DIR>...</DIR> 列表文字标签
<DL>...</DL> 设定定义列表的标签
<DT> 设定定义列表的项目
<EM> 强调之用
<FONT FACE> 任意指定所用的字形
<FONT SIZE> 设定字体大小
<FORM ACTION> 设定户动式表单的处理方式
<FORM METHOD> 设定户动式表单之资料传送方式
<FRAME MARGINHEIGHT> 设定视窗的上下边界
<FRAME MARGINWIDTH> 设定视窗的左右边界
<FRAME NAME> 为分割视窗命名
<FRAME NORESIZE> 锁住分割视窗的大小
<FRAME SCROLLING> 设定分割视窗的卷轴
<FRAME SRC> 将HTML档加入视窗
<FRAMESET COLS> 将视窗分割成左右的子视窗
<FRAMESET ROWS> 将视窗分割成上下的子视窗
<FRAMESET>...</FRAMESET> 划分分割视窗
<H1>~<H6> 设定文字大小
<HEAD> 标示文件资讯
<HR> 加上分格线
<HTML> 文件的开始与结束
<I> 斜体字
<IMG ALIGN> 调整图形影像的位置
<IMG ALT> 为你的图形影像加注
<IMG DYNSRC LOOP> 加入影片
<IMG HEIGHT WIDTH> 插入图片并预设图形大小
<IMG HSPACE> 插入图片并预设图形的左右边界
<IMG LOWSRC> 预载图片功能
<IMG SRC BORDER> 设定图片边界
<IMG SRC> 插入图片
<IMG VSPACE> 插入图片并预设图形的上下边界
<INPUT TYPE NAME VALUE> 在表单中加入输入栏位
<ISINDEX> 定义查询用表单
<KBD>...</KBD> 表示使用者输入文字
<LI TYPE>...</LI> 列表的项目 ( 可指定符号 )
<MARQUEE> 跑马灯效果
<MENU>...</MENU> 条列文字标签
<META NAME="REFRESH" CONTENT URL> 自动更新文件内容
<MULTIPLE> 可同时选择多项的列表栏
<NOFRAME> 定义不出现分割视窗的文字
<OL>...</OL> 有序号的列表
<OPTION> 定义表单中列表栏的项目
<P ALIGN> 设定对齐方向
<P> 分段
<PERSON>...</PERSON> 显示人名
<PRE> 使用原有排列
<SAMP>...</SAMP> 用於引用字
<SELECT>...</SELECT> 在表单中定义列表栏
<SMALL> 显示小字体
<STRIKE> 文字加横线
<STRONG> 用於加强语气
<SUB> 下标字
<SUP> 上标字
<TABLE BORDER=n> 调整表格的宽线高度
<TABLE CELLPADDING> 调整资料栏位之边界
<TABLE CELLSPACING> 调整表格线的宽度
<TABLE HEIGHT> 调整表格的高度
<TABLE WIDTH> 调整表格的宽度
<TABLE>...</TABLE> 产生表格的标签
<TD ALIGN> 调整表格栏位之左右对齐
<TD BGCOLOR> 设定表格栏位之背景颜色
<TD COLSPAN ROWSPAN> 表格栏位的合并
<TD NOWRAP> 设定表格栏位不换行
<TD VALIGN> 调整表格栏位之上下对齐
<TD WIDTH> 调整表格栏位宽度
<TD>...</TD> 定义表格的资料栏位
<TEXTAREA NAME ROWS COLS> 表单中加入多少列的文字输入栏
<TEXTAREA WRAP> 决定文字输入栏是自动否换行
<TH>...</TH> 定义表格的标头栏位
<TITLE> 文件标题
<TR>...</TR> 定义表格每一行
<TT> 打字机字体
<U> 文字加底线
<UL TYPE>...</UL> 无序号的列表 ( 可指定符号 )
<VAR>...</VAR> 用於显示变数
----------------------------------------------------------------------------------------------------------------------------------------------------------------
以下为简易HTML语法教学, 照这即可产生变化字型
----------------------------------------------------------------------------------------------------------------------------------------------------------------
<font size=1></font>
<font size=2></font>
<font size=3></font>
<font size=4></font>
<font size=5></font>
<font size=6></font>
<font size=7></font>
<font style ="font-size =数字pt"></font>字体无限放大语法
<marquee>跑馬燈</marquee>
<B>字体加粗</B>
<hr>水平分隔线
<br>强制换行
<p align="center">內容</p> 对正中央的语法
<p align="left">內容</p> 对正左边的语法
<p align="right">內容 </p> 对正右边的语法
<img src="位址"> 贴图1
<image src="位址"> 贴图2:环通发言区专用语法
<IMG SRC=图档位址 ALGIN=MIDDLE HEIGHT=??? WIDTH=???> 放大图档语法(参数自订)
<a href="位址">要留的字or图片档案</a> 捷径的语法
<MARQUEE bgcolor="#aaff00色碼">这里加上背景颜色,颜色可以自己改喔</MARQUEE>
<MARQUEE DIRECTION=RIGHT> 这里的文字是由左到右喔</MARQUEE>
<MARQUEE scrollamount=3 direction=up>这里的文字是由下到上喔</MARQUEE>
<MARQUEE LOOP=2>这里的文字只会卷动两次</MARQUEE>
<MARQUEE BEHAVIOR=SCROLL>这里的文字卷动效果为SCROLL,为内定选项</MARQUEE>
<MARQUEE BEHAVIOR=SLIDE>文字碰到左边就会停止</MARQUEE>
<MARQUEE BEHAVIOR=ALTERNATE>这里的文字会在左右两边弹来弹去</MARQUEE>
<MARQUEE SCROLLDELAY=1000>这里的文字SCROLLDELAY=1000亳秒</MARQUEE>
<MARQUEE SCROLLAMOUNT=50>这里的速度快</MARQUEE>
<MARQUEE SCROLLAMOUNT=90>这里的速度極快</MARQUEE>


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:11:16 12楼 举报

软件工程与程式语言:


IPB Image

一.软件工程(SE,Software Engineering)的发展趋势:


【软件工程的重要结果】

1. 由上而下的程式设计(Top - down programming):亦称为逐步细分化(stepwise refinement)或模組化程式設計法(modular programming),它把一个大程式采用由上而下的方法逐步细分,分成很多功能独立的模组再予以程式设计的方法称之。

2. 模组化程式设计法(modular programming):模组是任一具独立功能的程式片断,模组化程式设计也是一种结构化程式设计法。

3. 结构化程式设计法(structure programming)结构化程式设计是一种由上而下的程式设计法,也是一种模组化的程式设计法,三种基本控制结构如下:

a. 顺序(sequence);
b. 选择(selection);
c. 反覆(iteration);


4. 少用GOTO之程式法。

5. 可读性成是型态(program style)。

6. 主程式师队。

7. 全程实施结构化复杂(walk - through):软件系统发展过程的每一阶段定期实施有系统的检查。(复查中只有问题的发掘而不寻找问题的解决方案。)

8. 良好的文件说明(documentation):当软件系统发展完成后应将所有之细节具体化,按一定标准格式以具体文字、图表表示之。

9. 程式验证与证明:程式验证共分为二方面:一是程式测试、一是程式证明。

1.程式验证是利用一组选定的输入资料,由程式加以执行,以其输出是否为
所期望者。
2.程式证明是在程式及规格已知的情况,利用数学证明来推演程式的正确性。


10. 系统开发的新方法:

A.原型系统发展策略(Prototype)
B. 4GT(4th Generation Technology)
C.个体导向方法(Object - Oriented Methodology):使软件系统发展的分析与设
计更具有弹性与效率


物件导向的特性有:

1. Class;
2. Object;
3. Data abstraction(资料抽象化);
4. data encapsulation(资料封装);
5. inheritance(继承);
6. polymorphism(多型);
7. dynamic(动态连结);


软件系统发展的生命周期:

1.软件系统发展的生命周期(SDLC):
软件系统发展的生命周期(SDLC:Software Devlopment Life Cycle)
1.软件系统的开发必须经过下列几个阶段来完成:(也就是业务电脑化的步骤)
2.调查规划阶段主要的产品是:可靠性研究报告、整体专案计划书。
3.结构化系统分析:目的就是了解现行系统工作的概况,订定电脑化系统后系统
架构与功能规格。
4.结构化系统设计:用两种方式来评估模组的好坏

(1)内聚力(Cohesion):用以衡量模组内部不同事物聚集力量大小的标准。愈
高愈好。
(2)耦合力(Coupling):用以衡量模组间彼此独立的程度。愈低愈好。

5.程式撰写与测试。



二.程式语言系统:

1.程式语言:

A. 机器语言(Machine Language):由0与1两个数字所组成的二进位指令。
B. 汇编语言(Assembly Language):以符号代替机器语言的二进位数,必须
通过组译程序(assembler)将它翻成机器语言后,电脑才可以执行。
C. 高级语言(High - level Language):其特色─通用性、普遍性,是一种程序
导向语言;而第4代语言,是一种问题导向语言。


2.高级语言的种类:

A. FORTAN - 科学与工程用语言:世界上第一种高级语言。用来表达数的
运算故一般工程界普遍使用之。
B. ALGOL - 科学与工程用语言:与FORTAN相似,却较有效率,但与
FORTRAN相同缺点─非数值资料处理能力差。ALGOL采用call by name,
具递回(recursive)能力。
C. COBOL - 商用语言:善于处理大量的商业资料。
D. PL/1:兼具FORTRAN和COBOL的特点,具例外处理及递回能力。
E. RPG:主要供报表印出之用。
F. BASIC:优点容易学习。
G. PASCAL:最早提供结构化程序设计的主要语言之一。
H. Ada:
I. 物件导向程序语言:具有reusable的特性。
J. C:具可携性(Portability)。
K. 人工智能 (AI , Artificial Intelligence):因庞大的推理演算,故必须使用特殊性且具递回性的语言与极高速的电脑。(LISP & PROLOG)


3.程序语言的组译方式:

4.interpreter 与 compiler综合比较表:


三.传值呼叫、传名呼叫、传址呼叫


【传址呼叫(call by address , reference)】

1.主程序的参数称为实际参数(actual parameter),而副程序的参数则称为形式参数 (formal、dummy parameter)。
2.主程序呼叫副程序时,只把实际参数的地址(address)传给副程序,使主、副程序的相对参数占用相同的存贮器位置,因此被呼叫程序在执行过程中,若副程序参数值改变,则相对应的主程序参数值的也会改变,一般称为Side effect(副效应)。
3.这种方式因占用相同存贮器,故系结(binding)最快。
4.FORTRAN主、副程序间阵列(array)的传递及PASCAL副程序使用VAR时即靠此法。


【传值呼叫(call by value)】

1.主程序的参数称为实际参数(actual parameter),而副程序的参数则称为形式参数(formal、dummy parameter)。
2.主程序呼叫副程序时,只把实际参数的值传给副程序,故主、副程序的参数,并不占用相同的?存地址,故被呼叫程序在执行过程中并不会去改变呼叫程序相对变数的值,不会产生side effect。
3.程序执行完毕,结果并不传回主程序,故主程序参数值不会受副程序改变的影响。
4.这种方式因需额外内存,故系结(binding)时间最晚。


【传结果呼叫(call by result)】

把执行结果再传回主程序,也因不占相同记忆位置,故在执行过程中不会去改变主程序参数的值,只有在有了结果后才会把结果传回去,所以没有side effect。


【传名呼叫(call by name)】

1.主程序的参数称为实际参数(actual parameter),而副程序的参数则称为形式参数(formal、dummy parameter)。
2.主程序呼叫副程序时,除了把实际参数的名称(name)传给副程序外,并取代整个副程序相对应之参数名称。
3.这种方法除了相对应参数占相同?存地址外,尚须改变所有副程序相对应参数的名称,故在联结速度上比call by address 稍慢,但较call by value为快。
4.这种方法因为容易产生很多不预期的结果,故目前很少语言在使用了。


问:何谓结构化系统分析 结构化系统分析法是一种很系统化的方法,他主要的目的是把使用者对电脑化的需求,通过这种结构化分析的方式转换成系统的结构化功能规格(structure specification),以便使系统设计阶段能顺利的衔接。

结构化分析法主要用到五种工具:

1. Data Flow Diagram (DFD图,资料流程图)
2. Data Dictionary(DD,资料典)
3. Structured English(结构化英文)
4. Decision Tables(决策表) 结构化设计
5. Decision Trees(决策树)

(3),(4),(5)三者可合成来描述最底层的处理程序。


问:传统系统分析法与结构化系统分析法有何不同?

1. 传统分析法─以系统分析师(SA,System Analyst)为核心,采用电脑专门术语与观念,忽略使用者(user)的需求。
2. 结构化分析─以使用者需求为核心,采用DFD图、资料典、结构化英文等简洁有条理方式,将系统加构、功能与处理步骤表示出来,提高系统发展效能。



问:在系统设计中(System design)常用的方法有两种:structure chart与Jackson's method,试择一说明之?

1. Structure design(SD,结构化系统设计)与Michael Jackson Structured Design(MJSD杰克森法)是软件系统设计阶段常用的方法,而MSJD法则使用类似树状的结构(tree linke Chart)来代表资料结构。
2. Jackson法的系统设计步骤首先建立类似树状的资料结构并导出处理的层次(processing hierarchy)写出代表处理此系统的程序结构。
3. 结构化设计法(又称Top - Down Design 法或Yourdon法)主要是运用由上而下的设计观念,将一个系统分割成很多功能的独立的module及对module进行阶层式分割的设计技巧。设计最大的特色就是使用structure chart,它能将系统分割成很多module,并将之层次化以表达出程序所要求的单位(module)间的关系。



问:何谓结构化程序设计?它特性与优缺点?


1. 它是一种将程序用由上而下(Top -Down)设计方法把程序分解成多数个具有独立功能模组(module),再使用模组化程序设计,使每个模组的功能单元自成一段程序,最后再做体整合测试的一种程序设计方法。
2. 结构化程序设计除了具有由上而下的程序设计与模组化程序设计计两项特性外,它的程序结构永远只有三种结构所组成:顺序(Sequential)结构 、选择(Selection)结构;重覆结构。
3. 结构化程序设计主要的优点:
A. 程序易于阅读和了解
B. 一个入口,一个出口减少程序逻辑错误
C. 提高程序设计师生产力
D. 减少程序维护成本
而缺点所需程序指令较多,所占主存贮器空间亦较大。



【名词解释】

1.proper program(真程序):凡一个程序只有一个入口,只有一个出口,没有无穷回路及没有无法做到的指令者称之。
2.HIPO(Hierarchy plus Input - process - Output):是一种文件编写技术,其目的在由上而下设计中提供一种结构化的方法。
3.Pseudo code(虚拟码):主要是运用结构化程序设计的基本逻辑结构、内缩(indentation)的撰写方法及程序语言中的符号说明程序的步骤,不仅可提供程序设计的参考,更可避免直接撰写程序的缺点。
4.VTOC(结构一览表):又称Hierarchy chart,类似structured chart,用以把程序内各模组间的从属关系,运用阶层式的图形表示出来。
5.Walkthrough(复查):是一种在每一发展阶段进行群体检查的方法,通过群体的智慧,来提早发现任何错误之处并予以改进
6.Chief programmer team(主程序师编组):主要由三种成员组成,包含主程序师;支持程序师;资料管理员。其目的在于程序的发展能分工合作,并由有经验的Chief programmer负责设计与控制,以集体主义完成系统发展。
7.Stub module(傀儡模组):在由上而下的程序设计方法中,高阶呼叫低阶模组的测试工作可藉由呼叫stub module来完成。被呼叫的stub module只要传回一个呼叫成功或不成功的信息即可,俊低一阶module设计好后,再废除这些stub module。
8.Subroutine(副常式):是副程序(subprogram)的一种,它是一个程序的片断,可以单独被compile,但不能单独执行!
9.Coroutine:subroutine是利用call予以呼叫使用,但coroutine的使用却是transfer control权,故在观念上并不相同,故coroutine为concurrent programming上极重要的观念
10.Preprocessor(前置处理器):为Language translator的一种,用以把扩展的高级语言转换成标准的高级语言
11.Cohesion:内聚力─用以衡量模组内部不同事务聚集力量大小的标准。愈高愈好。
12.Subroutine:副常式─是副程序(subprogram)的一种,用以把扩展的高级语言转换成标准的高级语言。
在C语言中,#define所定义的符号常数却称之!
13.Coupling:耦合力─用以衡量模组间彼此独立的程度。愈低愈好。
14.Data encapsulation:资料封装─个体导向(OO)的资料和函式都「封装」在class里面,由于class只是一个specification,因此函式内部真正的建置细节在class并看不到,它们被封装在class的body里面。
15.Inheritance:继承─这是OO可再用性(reusable)的基本机制,它允许把以前物件的特性单一继承(single inheritance)和多重继承(multiple inheritance)之分。
16.Dynamic binding:动态连结─动态连接指OO的程序在执行时才去系结所需的函式,这是OO多型的同名异式(polymorphism)的基本机制。
17.Polymorphism:多型、同名异式,OO允许很多个函式使用相同的function name(同名),但各函式参数的型别必须互相不同(异式)。
18.Virtual function:虚拟函式─OO允许函式不必先定义其内容,而保留绘未来衍生类别(derived class)扩充或定义此函式的功能。


四、正确的Windows程式设计观念:

要写程式当然就要具备两样东西,一是语言、一是编译语言的工具,而要设计Windows程式则需要了解SDK或MFC,在此告诉您语言与工具在选择上的盲点与SDK和MFC的爱恨情仇


1.语言的选择与迷思:

C、C++、C#、VB、HTML、JAVA。。。面对这麽多种语言我们要如何选择呢?的确这是许多初学者所面临的问题,不过依照各语言当初设计的目的,由於HTML与JAVA主要是针对设计网页的人,因此C、C++、C#与VB是比较适合的,但是这四种语言中又该如何抉择呢?有关小弟的建议是:若您对VB比较有好感或是曾经学过Basic程式而且很熟悉,那就选择VB吧!C、C++、C#又该如何选择呢?若您对某个语言有特别的喜好,那就选它罗!否则目前使用最多的应该是C++,再来是C,除了语言本身的特性外又涉及是否使用MFC的问题,也就是许多人搞不清楚的C、C++、SDK、MFC。。。之间难分难解的爱恨情仇,下面小弟整理之後的关系。

★C语言可以使用SDK,也能用MFC来设计Windows程式,但使用MFC则必须了解与熟悉物件导向(Object Oriented)观念才行。
★C++语言可使用MFC,也可使用SDK来设计Windows程式,只是使用SDK并没有全部发挥OO的精神,感觉有些怪怪的。
★使用MFC架构设计的程式中可以使用C++与C语言,也可以直接呼叫Windows API函式(也就是SDK的作法)。
★使用SDK来设计Windows程式可写C与C++语言,但无法使用与呼叫任何MFC的东西。

简而言之就是不论写C或C++都可以使用SDK或MFC来设计Windows程式,只是在传统与习惯上,写C的人通常会使用SDK来设计Windows程式,而写C++的人则是选择MFC,至於SDK与MFC有何优缺点在下面会有详细的讨论。


2.工具的使用与盲点:

确定了使用的语言後再来就是选择适当的编译器与连结工具(Compiler and Linker),在DOS与Windows 3.x初期并没有现在这麽好的整合环境工具(也就是写程式、资源设计、编译、连结、除错都在同一个工具中就可以搞定),当时必须个别去选择与使用,当然现代就简单多了,而且经过市场激烈的你争我夺之後,现在主要只剩下Microsoft(Visual Studio、Visual. NET)与Borland(C++Builder)这两家公司的产品。不过在物件导向成为主流,Microsoft凭着财大势大,後起的MFC硬是将Borland的OWL挤下市场,成为Framewrok的长期霸主,也因此现在许多人自然都选择Visual Studio(Visual C++)做为使用的工具,逼得C++Builder只好将重心转向资料库设计上,不过在Borland两大将Blake Stone与Chuck Jazdzewski投奔敌营(微软)之後,C++Builder未来的定位与走向就面临更严峻的考验。
看完两大公司的恩怨情仇後,总之大多数初学者都是选择Visual Studio,至於是否使用Visual.NET。。。这应该算是版本升级啦!对初学者或不是设计微软.NET架构的程式是不需要使用Visual.NET,因此目前还是有不少人使用Visual Studio(也就是Visual C++6.0),不过依据Bill老大一贯的伎俩,一定会逐渐强迫大家改用Visual.NET,这样各位才会乖乖缴税,帮助Bill老大继续霸占富比士排行榜的第一名。
smile.gif 虽然我们几乎都使用整合工具所提供的编译器(Compiler),不过Intel公司针对自家 CPU所设计的编译器其实比Microsoft公司或Borland公司所提供的编译器更棒,不论在程式码精简与效能最佳化上都表现很优秀(这也难怪,CPU是自己设计的嘛!当然最了解罗!),若您有需要的话可以购买Intel公司的编译器,然後加入整合环境中来使用(取代原来预设的编译器)。


3.Windows、API、MFC之关系:

在您要学习Windows程式设计前一定要先了解SDK与MFC设计方式与API、Windows系统之间的关系,如此才能决定您是要使用SDK还是MFC来设计程式,同时也更能让您清楚的了解程式与Windows系统之间是如何透过API来进行沟通与运作:
---------------------------------------------------------------------------------------------------------------------------------------------------------------
MFC<---->MFC Class函式库<----->A
|------------------------------------------>P函式<---->USER.GDI.KERNEL.COMMDLG.MMSYSTEM。。系统模组|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||VxD.VMM.DRV。。。各种装置驱动程式或虚拟驱动程式
SDK<------------------------------------>I
---------------------------------------------------------------------------------------------------------------------------------------------------------------
由上图(我不知道怎麽用出来的)中您可以很容易的看出使用SDK与MFC的不同,主要当然就是在於SDK是直接呼叫API函式,而MFC则是透过Class的包装後由MFC物件来呼叫API(当然也是可以直接呼叫,图中已有表示出来),因此使用MFC来设计程式就不必去了解多如牛毛的API函式,只要专注在MFC的结构上即可,但。。。真的是如此吗?下面会有清楚的解答。


4.API与MFC优缺点与最佳组合:

在上面我们已经说过使用C或C++语言与使用SDK或MFC来设计Windows程式并没有必然的关系,而上图中您也知道SDK程式与MFC程式的最大差别在於後者透过MFC Class来呼叫使用API,那使用SDK与MFC到底各有何优缺点呢?基本上这两者的优缺点刚好互补,所以下面列出它们的优点,同时也是另一方的缺点,这样懂了吧!
★MFC:
@跨平台如:重编译就可以在Linux执行
@维护容易
@程式设计较快
@不必管许多细节的小地方
@设计资料库连结使用(如:ODBC)或物件操作(如:OLE)更简单方便
@可使用许多已经设计好的模组VBX、ODBC、ActiveX。。。等
★API:
@执行速度快
@能针对系统特性设计与考量
@可对系统有更深入的了解,充分了解程式在做什麽、如何与系统沟通
---------------------------------------------------------------------------------------------------------------------------------------------------------------
从某种程度而言两者的优缺点关系有点像198x年代组合语言与C语言的差异,但是要如何选择呢?小弟我个人的建议是先学习SDK的设计方式(因为可以较快的进入状况),当您已经很熟悉使用SDK设计一般小程式後,再开始学习使用MFC来设计,这样不仅可以利用到MFC的优点,而且对系统与程式之间的关系也更加了解,当需要时也可以直接呼叫API,也就是在MFC的框架下,不论是C/SDK或是C++/MFC都可以任意使用,这样才能成为Windows程式设计高手。


5.为何要了解SDK?:

在Visual C++问世之後,AppWizard的确造成许多初学者的误解,以为选几个项目、按几个按钮就可以写好一个Windows程式。话是没错,但那只不过是个雏形而已,会使用AppWizard并不等於会写Windows程式,事实上还差得远呢!而您可能会觉得:学习MFC就行了为何还要画蛇添足的学习SDK呢?事实上这也是许多人对MFC的误解,或是应该说不太了解MFC,要藉由MFC来设计出优秀的Windows程式当然就要深入了解MFC的结构,而MFC又几乎是建构在API上的,因此若能充分了解SDK(它是直接呼叫API的还记得吗?),当然就更能掌控与使用MFC,所以了解SDK的好处在於:
★可帮助您更加了解MFC Class的结构,知其MFC然而且知其MFC所以然。
★更加善用与发挥MFC。
★MFC没有提供的API功能您可以自己呼叫API来使用。
★MFC有问题或不符合需求时可自己修改MFC程式码、设计自己的Class或不使用MFC。


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:12:53 13楼 举报

台湾同胞刻录心得:


IPB Image

Lite-ON ★★★★★★★★★★★★★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆63(6.78%)
ASUS ★★★★★★★★★★★★★★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆78(8.40)
PLEXTOR ★★★★★★★★★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆30(3.23%)
BENQ ★★★★★★★★★★★★★★★★★★★★☆☆☆☆☆☆☆☆☆☆160(17.22%)
TEAC ★★★★★★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆19(2.05%)
LG ★★★★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆8(0.86%)
Pioneer ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★442(47.58)
Aopen ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆1(0.11%)
MSI ★★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆3(0.32%)
PHILIPS★★★★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆8(0.86%)
NEC ★★★★★★★★★★★★★★★★☆☆☆☆☆☆☆☆☆☆☆☆☆☆109(11.73%)
Gigabyte★★★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆5(0.54%)
ACER ★★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆3(0.32%)

【五十余种CD-R试用】

笔者将使用过的CD-R片列示於下, 我只将CD-R分成四种:金片、白金片、绿片、蓝片;至於白金蓝片、水蓝片、金蓝片、银蓝片、湛蓝片, 我将之归类为白金片; 金綠片則歸類為綠片。CD-R若有品牌, 则优先标示品牌名称, 若无则描述印刷面之文字或图案,尽量以完整为原则。除非有另外标示为全包装, 否则均为裸片。还有笔者喜欢买一些无印刷面(亮面、雾面、刷白面、银面、金面)的CD-R则除了内圈文字之外,没有特徵可以描述, 所以不列在此处。补充一点, 笔者不太喜欢买印刷面太丑的CD-R,如果因为这样漏掉了某些CD-R,也只能说声抱歉了。

<金片>

1.PHILIPS /CD-R Professional 74 Gold ( 全包装)

2.MITSUI (三井)/GOLD CD-R CJMGA74N(全包装)

3.KODAK /DIGITAL SCIENCE CD-R (全包装)/印刷面有两种, 应该都是一样的

4.TEIJIN(帝人) /CD-R 74 (全包装)

5.Plasmon /Data PCD-R74-4 (全包装)/封面标示为英国制

6.RICOH /CD-R TYPE 74 (全包装)

7.HP /CD-R C4432A (全包装)

8.KAO(花王) /印刷面有SafeKeeper字样

9.maxmax /maxmax gold

10.ASKA /印刷面有SHIN LONG Co.,Ltd字样

11.CD-DUPE /没有明显的品牌标示, 左上角有MARK,

/右方有GOLD字样, 有另外一种印刷面极类似的绿片

12.SPEED / SPEED MULTI-MEDIA PROFESSIONAL下方DOMINE TECH CO.,LTD字样

13.NEC / 上方字样是『BIGLOBE 地球村网际网路』

14.Special /上方字样是『Jiunn Lee Special』下方是『100% FREE』

15.CD TECH. /地图金片, 印刷面空出一块地图的形状

16.齿轮金片 /印刷面右下半面是一堆类似齿轮的图案, 有PROFESSIONAL GOLD字样

17.DEON /DEON CD-R74

18.PONY /印刷面是PONY一贯的素面印刷, 左侧有PONY字样


<蓝片>

1.PHILIPS /CD-R Professional 74

2.SPEED /DIGITAL VIDEO EXPERT/印刷面有SINCE 1996 DOMINE TECH CO.,LTD

3.Gigamedia /80Min 片种/印刷面有Fine Disc及Professional字样

4.Verbatim /DataLifePlus CD-R(全包装)

5.MITSUBISHI /CD-R R74SS1P (全包装)

6.BIREAL /印刷面有Professional 及Made in Taiwan字样

7.ARITA /80Min 片种/印刷面有High Density字样

8.TDK /CD-R 650MB 74Min (全包装)

9.BASF /650MB 74Min

10.OPERA /印刷面有一朵花和VIDEO PROFESSIONALS字样

11.RITEK /CD-R74S /印刷面有PROFESSIONAL Multi Speed字样

12.PLAY /印刷面为蓝色, 有ASIA DISK CO.,LTD字样

13.PONY /印刷面是PONY一贯的素面印刷, 左侧有PONY字样

14.PONY /另一种的PONY片子, 字样在右侧, 印刷面类似PHILIPS, 右上角是音符并有CD-

RECORDABLE DIGITAL AUDIO字样

15.CLASS A /印刷面上方有CLASS A Blue字样

16.齿轮蓝片 /80Min 片种/印刷面右下半面是一堆类似齿轮的图案,PROFESSIONAL字样


<绿片>

1.PHILIPS / CD-R Professional 74

2.That's(太阳诱电) /CDR-74/670T(全包装)

3.SONY /有Printable和Shiny两种, 仅印刷面不同(全包装)

4.CD-DUPE74 /利碟出的, 封面标示LEAD DATA INC.(全包装)

5.CD-DUPE /没有明显的品牌标示, 左上角有MARK, 印刷面有PROFESSIONAL字样

6.RITEK / CD-R74 Multi Speed/ 铼德的片子, 封底有中文说明(全包装)

7.PONY /金绿片/印刷面是PONY一贯的素面印刷, 左侧有PONY字样

8.MEGATOP /印刷面上方是MEGATOP字样

9.T-ZONE /太平洋T-ZONE自己出的片子, 当然只有T-ZONE买的到

10.PIONEER / RECORDABLE CD CDM-V74S(全包装)/读写面是墨绿色

11.maxell /CD-R74(全包装)

12.YES /左方是YES字样

13.COOL CDR /左边有一个奇怪的图案, 像鲨鱼


<白金片>

1.HO-SOURCE /80Min 片种

2.MEGADATA /MEGADATA SILVER

3.1998 PONY /PONY 的片子, 左上角有1998 PONY字样

4.DATASAVER /上方有Professional DATASAVER字样

5.Colorful /下方标示Tentek 商标及Tentek Technology Inc字样

6.SANYO /『三洋‧3C‧SOHO』、 『 爱人类‧爱地球』(全包装)

7.GVC致福 /上方标示为GVC致福

8.GreenWorld /右上方有GreenWorld ,左方有HI-SUPER字样


【稳定性上的试验】

买了那麼多的CD-R片(包括没有印刷面的), 在稳定性方面已经大概抓出方向来了。基本上,CD-R是有分等级的(就像是商店宣称的A 级B 级同样是铼德出品的CD-R, 当挂上不同品牌行销的时候, 通常也意味著等级有所不同。每一个向厂商订片子的公司都会有不同的要求, 例如:
涂料品质、价格等等, 如果这家公司注重的是品牌形象, 那麼一定不会将品质不佳的CD-R挂上自己的MARK行销。所以,看品牌买片子, 稳定性上会有保障。而通常无印刷面的CD-R是所谓的B 级或是 C级片, 品质上会有一定影响,但价格也相对便宜很多, 这个时候我会挑生产厂商, 并检查片子的涂料涂敷是否均匀平整、涂料厚度是否足够、片子边缘是否有不良。如果挑选得当, 买到便宜的好东西是相当可能的。在这里告诉您一个秘诀:通常同一家工厂出品的CD-R, 在CD-R内圈的印字方式会相同, 如果不相同也会相当类似,凭藉著这一点, 我们就能刻意买同一家工厂的CD-R, 虽然它们可能挂著不同的品牌!关於稳定性这方面, 哪一些CD-R是我认为较稳定的呢?我将配合后面的音质上的比试,做综合性的推荐。


【音质上的比试】

我想这大概是很多人关心的主题 ,到底哪这一大票CD-R听起来如何?我的答案是:都差不多。或许这会有争议:你这样说不是很不负责任?原因是这样的, 事实上在我的系统上聆听烧录片,和原始片相比差异相当的小, 甚至有时候根本听不出差异,就算是在大系统上, 差异也难明显的展现出来。CD-R相互之间的情况也相似, 差异都是一点点而已, 根本没有一张烧录片有全面胜出的优势。 而且因为差异的方向不同,各个系统上最适用的CD-R就会不同, 举个例子来说, 假设A 牌的CD-R烧录的结果透明度有一点受损,但厚度则表现良好;B 牌的CD-R却相反, 透明度良好, 但声音却变薄了,若我的系统上最适合A ,您的系统或许最适合B 也不一定。这种情况屡见不鲜, 很难说A 牌或B 牌的CD-R就是较好的。基於以上原因, 我认为时在没有必要将每一张CD-R做听感上的描述比较。
这里仅能指出几种CD-R烧录后较常发生的负面情况给各位参考:

(1)细节损失, 堂音变少。

(2)透明度受损, 音场较模糊。

(3)音乐的结像力比较弱。

(4)器乐的定位比较不准确, 某些情况下甚至有飘移现象。

(5)声音变瘦, 厚度比较差, 底声受影响。

(6)用在CD随身听时, 寻轨会比较差, 若启动防震装置, 寻轨更差。

(7)声音变硬, 音乐性受损。


这几种情形, 依照我的试验, 发生在蓝片、白金片和绿片的情况比较多, 金片不是没有,是比
率上相对的低一些。当然, 最后我还是会提出几个我自己认为比较好用的CD-R名单。但是我还是要再强调一次, 要找出几张在音质上明显优於其他CD-R的片子, 我真的找不出来, 而推荐的CD-R是我经过综合评判(尽力客观!)后的结果, 并不代表声音表现就会明显优於其他CD-R。我并不是什麼权威人士,下面的推荐CD-R也只是依凭我所使用的器材,根据试用后所得出的心得, 仅供各位参考。


【颁奖!】

当当当~~~~终於到了做结论的时候了, 面对五十多位佳丽(CD-R啦), 有金发女郎(金片), 有碧眼美女(蓝片绿片), 更有白净漂亮的妹妹(白金片罗!), 哪几位能雀屏中选呢?


⊙金片⊙

▲名单 1: PHILIPS 、MITSUI 、KODAK (皆推荐全包装)
理由:价格都相当相近, 声音、稳定性皆不分上下; 连片子内圈、外圈、色泽都相当相似, 很
有可能都是同一个娘胎来的, 只是这三位姑娘身价稍高,要迎娶进门, 请多准备银子。
(PS.MITSUI裸片近来有仿冒品, 要小心购买!)
▲名单 2: KAO 花王(裸片)
理由:价格比较合理, 声音、品质也很好, 我认为不输给PHILIPS它们!

⊙蓝片⊙

▲名单 1:PHILIPS 74、PONY、RITEK、ARITA(80 min)
理由:这几种CD-R应该都是铼德的产品, 在蓝片中算是便宜又好用的, 如果您用来烧录流行音乐, 那麼这几种蓝片就相当足够了。因为这几种都是裸片, 选购时请注意片子状况好坏。另外比较过几种80分钟的CD-R, 我认为ARITA最值得推荐。
▲名单 2:MITSUBISHI、Verbatim DataLifePlus (皆推荐全包装)
理由:蓝片的涂料(AZO)是由MITSUBISHI子公司Verbatim所研发, 但两者的片子都由三菱生产, 站在技术层面而言, 它们的片子确实有可取之处。片子稍贵,但我觉得遇到重要资料要储
存的时候, 这两种片子值得一用。

⊙绿片⊙

▲名单 1:That's(太阳诱电) CDR74/670T (全包装)
理由:绿片的涂料是由太阳诱电发明的, 试用之后我认为品质相当优秀。
▲名单 2:PHILIPS 、RITEK CDR-74(后者全包装)
理由:国产的绿片似乎快要绝迹了(坊间盛传绿片即将停产), 这两种是最容易买到的, 品质
稳定是入选的主要原因, 声音也不错。


★CD小常识.很重要.一般人的观念都错了:

如果你手上有一片CD,但是没有盒子,需要直接放在桌上的时候,你会把哪一面朝下呢?
可能大部分的人都习惯会把背面(就是有写文字资料的那一面)朝下放,以免磨损到读取面。

但是如果你做一个实验,你马上知道这样子对不对:

拿一片准备要丢弃的CD,拿小刀在读取面划一道刮痕,再放进去。这片CD,应该还是可以使用的,即使你刮很用力,顶多造成读取不顺或是跳针的状况。
但是,如果你在CD的背面轻轻的刮一下,你会发现CD背面的涂料被你刮下来了,而刮到的地方变成透明的!这张CD已经完蛋了,因为刮破的地方已经无法反射雷射了。实验证明,CD的背面比正面更怕磨损。所以当下次要把CD装在同一个盒子中的时候,记得不要再背对背了,不管是自己烧的还是外面买的都一样。biggrin.gif


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:14:23 14楼 举报

光盘刻录破解绝技:


IPB Image

刻录大进击 0.2 beta版

主题1:常见防考种类选项勾法(以clonecd 2.x版)
主题2:各类保护破解
主题3:问答集
主题4:其它资讯


========================常见防考种类选项勾法-clonecd2.x========================
1.SafeDisk:

保护特徵:
*CD档案中可能有以下档案名称
00000001.tmp,Clcd16.Dll,Clcd32.dll,Clokspl.exe
*用Nero读取到固定百分比会停很久,或无法读取

机器读取影像档时:
*Fast Error Skip(光盘机不一定支援,但大部分刻录机支援)
*Intelligent Bat Sector Scanner
建议:使用Fast Skip Error時,Setting中,Error Correction改Hardware,
Read Retries改1次,并将读取倍数调成8x(或更低),随然会加长
读取时间,但可求得较正确的影像档,因为对SD来说,影像档正
确性相当重要

刻录选项;
*doesn't read SubChannel Data(你的刻录机要支援SubCode写入才行)
*Perform Laser Power Calibration

刻录机写入模式限制:
只要支援Raw SAO/DAO就可


2.SafeDisk 2:

保护特徵:
*用Nero读取到固定百分比会停很久,或无法读取
*刻录完后只能在DVD或CD-R/W上玩

机器读取影像档时:
*Fast Error Skip(光盘机不一定支援,但大部分烧录机支援)
*Intelligent Bat Sector Scanner
建議:使用Fast Skip Error時,Setting中,Error Correction改Hardware,
Read Retries改1次,并将读取倍数调成8x(或更低),随然会加长
读取时间,但可求得较正确的影像档,因为对SD来说,影像档正
确性相当重要

刻录选项:
*doesn't read SubChannel Data(你的刻录机要支援SubCode写入才行)
*Perform Laser Power Calibration

刻录机写入模式限制:
支援Raw DAO,并且具有Correct EFM encoding of regular bit patterns功能才可

问题:小弟在刻英雄无敌3资料片中文版时,勾需要多选Read Subchannel Data from Data Tracks,才能烧出来不知道是不是小弟记错了!!


3.SecuRom:

保护特徵:
*CD档案中可能有以下档案名称
Cms16.dll,Cms_95.dll或Cms_Nt.dll,Cms32_95.dll或Cms32_Nt.dll

机器读取影像档时:
*Read Subchannel Data from Data Tracks

刻录机写入模式限制:
支援Raw DAO,並支援SubCode寫入才行

刻录选项:
*doesn't read SubChannel Data(你的刻录机要支援SubCode写入才行)
*Perform Laser Power Calibration


4.New SecuRom(SecuRom2):

保护特徵:
*安装完后,在\windows\system下会有以下档案
Sintf16.dll,Sintf32.dll或SintfNT.dll

机器读取影像档时:
*Read Subchannel Data from Data Tracks
*Read Subchannel Data from Audio Tracks

刻录选项:
*doesn't read SubChannel Data(你的刻录机要支援SubCode写入才行)
*Perform Laser Power Calibration

刻录机写入模式限制:
支援Raw DAO,并支援SubCode写入才行


5.大区段坏轨保护:

保护特徵:
*用Nero读取到固定百分比会停很久,或无法读取

*Fast Error Skip(光盘机不一定支援,但大部分烧录机支援)
*Intelligent Bat Sector Scanner

刻录选项:
*doesn't read SubChannel Data(你的刻录机要支援SubCode写入才行)
*Perform Laser Power Calibration

刻录机写入模式限制:
无,所有模式应该都可以,建议还是有raw-dao模式最佳

6.LaserLock:

保护特徵:
*在光碟片内圈会有印上LaserLok字样
*用Nero读取到固定百分比会停很久,或无法读取

机器读取影像档时:
*Read Subchannel Data from Data Tracks
*Read Subchannel Data from Audio Tracks
*Fast Error Skip(光碟机不一定支援,但大部分烧录机支援)
*Intelligent Bat Sector Scanner
建议:使用Fast Skip Error时,Setting中,Error Correction改Hardware,
Read Retries改1次,并将读取倍数调成8x(或更低),随然会加长
读取时间,但可求得较正确的影像档

刻录选项:
*doesn't read SubChannel Data(你的刻录机要支援SubCode写入才行)
*Perform Laser Power Calibration

刻录机写入模式限制:
支援Raw DAO/SAO,并支援SubCode写入才行


7.Psx/Libcrypt:

保护特徵:
*无

机器读取影像档时:
*Read Subchannel Data from Data Tracks
*Read Subchannel Data from Audio Tracks

刻录选项:
*doesn't read SubChannel Data(你的刻录机要支援SubCode写入才行)
*Perform Laser Power Calibration

刻录机写入模式限制:
支援Raw DAO,并支援要支援SubCode写入才行


8.CD-Cops:

保护特徵:
*开始执行或会出现 CD and Cop 字样
*CD档案中可能有以下档案名称
Cdcops.dll,其他可能有的档案*.GZ_或*.QZ和*.W_X
|--------------------------------------------------------------------|
| Symptom | CD-COPS 16 | CD-COPS 32 |
|-------------------------+------------+----------------------------
| Titlebar says 'CD-Cops' | yes | yes |
| There is a .QZ_ file | yes | yes |
| There is a .W_X file | no | yes |
|----------------------------------------------------------------|
机器读取影像档时:
*Read Subchannel Data from Data Tracks
*Read Subchannel Data from Audio Tracks

刻录选项;
*doesn't read SubChannel Data(你的刻录机要支援SubCode写入才行)
*Perform Laser Power Calibration

刻录机写入模式限制:
支援Raw DAO,并支援SubCode写入才行


9.SafeAduio:

SafeAudio changes the so called EFM code on the CD. Easily said; EFM code makes sure the CD can be played in normal conditions, it is part of the error correction system that is used on audio CD's. Errors in (this)data can easily be repaired by a CD player in both your hifi set as your computer when playing audio CD's. If you want to rip this data however - (transfering it to your HD)- these errors will not be corrected by your HD as only a CD player know how to do this, resulting in gaps and bad noises in the audio
以上资料内容节录自:http://www.cdfreaks.com/
//其实就像Safedisk2保护,加入了EFM code,当你将CD Audio复制到硬盘时,造成资料不正确


10.CopyLok/PanLok:

资料无,希望各位网友提供资料

//以上选项参考自ClonyXL,加上小弟自己意见//
===========================各类保护破解===========================
1.Safedisk:

方法1:使用 unsafedisk 官方网站:不知
步骤:
(1)先建立资料夹,将光盘内所有档案copy到硬盘
(2)执行unsafedisk.exe,按Decrypt Game
(3)找寻资料夹中有关*.exe/*.icd/dplayerx.dll的档案,一一尝试
(4)等一段时间,会产生两个档案
(5)将游戏安装,把产生两个档copy安装目录,分别试试哪一个可以正常执行游戏
(6)可正常执行游戏的为破解档
(7)将copy到硬盘光盘资料刻到光碟,并将破解档一起烧入
(或覆盖原本光盘内执行档),记得光碟标签要和原光碟一样

方法2:使用C.u.dilla 官方网站:不知
步骤:类似,就不多说

方法3:Generic Safedisc Emulator 官方网站:http://come.to/SwENSkE
步骤:
(1)使用备份光盘安装
(2)执行safedisk.exe,找寻游戏执行档执行
(3)开始游戏

//以上破解方法可能无法用於较新的SD保护


2.Safedisk2:

方法1:使用PlayBack21 官方网站:不知
操作系统:95/98/ME
步骤:
(1)先用CloneCD将光盘片读成影像档
(2)执行playback中的patchimage,读取影像档,按 "Crtl+S"来patch影像档
(3)用CloneCD将patch过的影像档烧回光盘
(4)执行playback中install,然后重开机,在右下角会新增一个笑脸
(5)用右键点选笑脸,开启playback,再将备份片安装,就可玩游戏

方法2:使用INSEKTORS1.1 官方网站:http://go.to/insektors
操作系统:95,98,98SE,Me,2000,XP
步骤:
(1)安装程式后,点选 installtion/cheack,按install/update driver,然后重开机
(2)用blindread作影像档,执行INSEKTORS,按CD Image Patch
(支援bwi.img.bin.nrg.iso等,但作者建议使用bwi)
(3)选取影像档位置,按Prepare,完成后,再把影像档烧回光碟
(4)安装游戏,然后执行INSEKTORS,按CD Driver cfontrol & Status
(5)勾选Play Insektors CD(或按check all),然后执行游戏

方法3:使用BetaBlocker 网站:http://www.geocities.com/cdbeta
步骤:
(1)先用CloneCD将光盘片作成影像档,执行BetaBlocker
(2)将作好的影像档拖曳到BetaBlocker中
(3)将Max Sector设到最大值,按Scan Sectors,再按Patch Sectors
(4)将破解后的影像档烧到光盘

方法4:使用unsafedisk2 官方网站:不知
操作系统:98se,应该也能於95/nt/2k/me执行
步骤:
(1)将光盘片copy到硬盘,执行*dumper.exe找寻保护档(也就是执行档)
和需要的dll档,产生*.data.bin
(2)执行*Rebuilder.EXE,选择产生的*.data.bin,会在产生一个档
(3)将产生的档名改成最初dumper的档名,覆盖原档
(4)将游戏烧回光盘,破解完成

//以上破解方法可能无法用於较新的SD2保护


3.Securom:

方法1:使用前导程式Generic SecuROM Crack v6.0 官方网站:http://www.zor.org/laxity
步骤:
(1)执行前导程式,不要关闭
(2)安装并执行游戏就可

方法2:使用PlayBack21 官方网站:不知
操作系统:95/98/ME
步骤:
(1)执行playback中install,然后重开机,在右下角会新增一个笑脸
(2)用右键点选笑脸,开启playback,再将备份片安装,就可玩游戏

方法3:使用INSEKTORS1.1 官方网站:http://go.to/insektors
操作系统:95,98,98SE,Me,2000,XP
步骤:
(1)安装程式后,点选 installtion/cheack,按install/update driver,然后重开机
(2)安装游戏,然后执行INSEKTORS,按CD Driver cfontrol & Status
(3)按check all,然后执行游戏

方法4:使用Unsecurom 1.0 官方网站:http://welcome.to/karpoff或http://wkt.tsx.org
步骤:
(1)安装游戏(要完整备份片或原版片),不要将光盘拿出,执行Unsecurom
(2)按files->open,找寻安装游戏的执行档(安装於硬盘),在按securom->dump/Rebuild
(3)等候一段时间,以后就可以用nero或cdrwin等的备份片来玩游戏

//以上破解方法可能无法用於较新的Securom保护


4.New Securom(Securom2):

方法1:使用Playback21 官方网站:不知
操作系统:95/98/ME
步骤:
(1)执行playback中install,然后重开机,在右下角会新增一个笑脸
(2)用右键点选笑脸,开启playback,再将备份片安装,就可玩游戏

方法2:使用INSEKTORS1.1 官方网站:不知
操作系统:95,98,98SE,Me,2000,XP
步骤:
(1)安装程式后,点选 installtion/cheack,按install/update driver,然后重开机
(2)安装游戏,然后执行INSEKTORS,按CD Driver cfontrol & Status
(3)按check all,然后执行游戏

//以上破解方法可能无法用於较新的Securom2保护


5.LaserLock:

方法1:使用LL32ICA 官方网站:http://www.icagrp.com 或 ica.cjb.net
操作系统:Windows 9x/NT/2000
步骤:
(1)将档案复制到硬盘
(2)执行LL32ICA.exe,按Load it!,选择保护的执行档
(3)patch完成后,将资料刻回光盘(标签名称需和原光碟相同)
可能遇到的问题:
1. Your Application isn't Protected By LaserLock!'
(不是LaserLock保护)
2. Your Application isn't 32-bit.
(应用程式不是32位元)
3. Your Application isn't Protected By Injection Method of LaserLock.
(程式不是LaserLock注射模式保护)
4. Your Application is Protected By an Unknown Version of LaserLock.
(保护版本不明)
5. You didn't Select Main LaserLock Protected EXE File to Patch.
(没有选择主要的保护exe去patch)

//以上破解方法可能无法用於较新的LaserLock保护//


6.CD-Cops:

方法1:使用mcLallo's CD-Cops 32 Decrypterv1.0 官方网站:不知
操作系统:Windows 9x
步骤:
(1)执行程式,按 'Open File'
(2)到有CD-Cops保护的程式光盘,选择'.W_X'(先将光盘copy硬盘)
(3)开始计算从255到0(有时程式会停在中间找到key,或全部跳过key
或选择一个key.会两种模式会依照档案的加密模式来解密,不过两
种模式都是可行的)
(4)如果没有错误,选'Save File'储存.exe,然后以下档案就不需要了
the old .EXE
CDCOPS.DLL
*.W_X
*.QZ_
(5)重刻一次就可,标签名称要和原光碟相同

//破解版本仅限於CD-Cops 1.6版之前//
//最新CD-Cops 32 Decrypterv2.1版推出,支援CD-Cops 1.6版,破解方法类似
请看其中之说明档//


7.SafeAduio:

方法1:在捉音轨程式中选Burst Copy Mode(建议用烧录机捉或具硬体跳音更正)
操作系统:视程式而定

方法2:使用修改版CDFS.vxd
操作系统:windows 9x,不能用於Windows NT/2K/XP
步骤:
(1)将C:\WindowsSystem\IOSubSys\CDFS.vxd改名,将修改版的CDFS.vxd
复制到资料夹中
(2)重开机,将音乐CD放入光盘机中,用档案总管开启光盘机,就可将音轨当作
WAV档复制到硬盘


8.CopyLok/PanLok:

方法1:使用CopyLok/PanLok remover 1.0 官方网站:不知
操作系统:Windows 9x/NT(NT下可能部份游戏有问题)
步骤:
(1)执行CopyLok/PanLok remover 1.0
(2)执行保护的游戏
(3)等待讯息框出现
(4)到windows/system下找到CL-DUMP.exe,copy到游戏安装目录,
用此档案来进行游戏就可

///其实最好的方法是用破解档......biggrin.gif smile.gif cool.gif///

============================问答集============================
Q_001:我的Teac 40x开启DMA模式会使读取不正常?

A:在Via或Ali的主机板晶片组上可能会发生这种状况,解决的方法
就是把主机板中的IDE传输模式改成DMA2(PIO4),再开启DMA
,不要使Teac 40x跑DMA33应该就可以了.(但有些板子却不需这麼
作,因为小弟遇过用via的晶片组,可以直接开启,可能因为Bios是
AMI,只测到PIO4)


Q_002:我的Teac 40x不能达到12x对拷?

A:首先,先将韧体更新到3.0a版,再来使用调速程式将音轨捉取速度
提高到17-40x,再开启DMA模式应该就可以了.
//请各位网友提供官方下传位置给小弟


Q_003:我的光盘机用CloneCD在捉有坏轨的片子速度很慢?

A:可能有两种原因:没将CloneCD的Fast Error Skip选项勾取,或是你的
光盘机不支援此种功能(如Teac40x).建议使用刻录机捉取,因为大部
分的刻录机都有支援此功能.


Q_004:为什麼我读取Securom2的光盘有勾Read Subchannel Data from Data Tracks和 Read Subchannel Data from Audio Tracks,但是就是刻不出来?

A:可能有两种原因:一是你读取的机器不支援Read Subchannel Data 和Audio from Data Tracks的功能(如Sony52x只支援其一项中),或你的刻录机烧录Sub Code的功能不够完整(只有RAW-DAO 16),造成Sub Code无法完整写入,而使游戏不能正确执行.


Q_005:我的Sony52x在Nero中无法正常显示读取速度?
A:在Nero的Cdrom.cfg加入以下几行(或取代),请注意你的韧体版本(小弟为YYS7):

[SONY CD-ROM CDU5211]
TYPE=IDE GENERIC_1
COM=2
CDRCAP_MAXREADSPEED=7800
CDRCAP_MAXREADDASPEED=2250
CDRCAP_FIRMWAREREVISION=YYS7
CDRCAP_READSPEED_TABLE=150,300,600,1200,2400,3600,4800,6000,7200,7800
CDRCAP_SETSPEED_METHOD=1

或者是去Nero网站下载Testcd的程式,将他刻成光盘,放入光盘机中使用光盘机
自动侦测,再将Sony48x的读取倍速加速,应该就可以正常显示了.


Q_006:我使用Nero直接将Mp3转成音乐CD时,Buffer会一直往下调,造成Buffer掏空,使刻录失败?

A:因为Mp3转音乐CD需花较多的资源,因此请将硬盘和刻录机的DMA传输模式打开,
应该就可以解决.


Q_007:我的Plextor CD-ROM无法使用CloneCD读取SubChannel Data?

A:那是因为CloneCD和"Plextor Manager"相冲.解决的方法是把"Plextor Manager"反安装,并重新开机.如果在95/98下还有问题,把Windows/SYSTEM/IOSUBSYS 下的AUDIOFS.VXD删除.
//此问题节录自CloneCD3051问答集


Q_008:为何我灌了Bus Master Driver后,刻录便不正常?

A:因为某些刻录软件会因为灌了Bus Master Driver而软体执行不正常,小弟建议
如果非必要,不要灌Bus Master Driver,开启Windows内建的DMA模式就可.虽然会影响磁盘效能,但我想对刻录的问题会少一点.


Q_009:使用CloneCD写入时,出现Medium error:Power Calibration Area Error的错误讯息?

A:有几种可能
1:一种是你的片子在刻录机中无法高倍写入,请降低烧录倍数,或换一种片子
2.你的刻录机读写头老化,使用较好的片子或许能多撑一段间
3.那一片片子有问题,换一片试试

===========================其它资讯===========================
CloneCD官方网站: http://www.elby.de/CloneCD/english/index.htm
可以到此来看刻录机支援何种模式写入

http://www.gamecopyworld.com/http://go.to/gamefix
里面有游戏破解档和各类工具,不过是英文的

http://www.cdrinfo.com/
刻录的新闻好站

http://perso.club-internet.fr/farzeno/firmware/
有各种光碟盘机和刻录机的韧体


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:15:58 15楼 举报

网管员学习贴:


IPB Image

网管常用的网络指令
Windows 2000/XP/2003路由Router
如果你玩过路由器的话,就知道路由器里面那些很好玩的指令缩写。
例如,"sh int" 的意思是 "show interface"。

现在Windows 2000/XP/2003也有了类似界面的工具,叫做netsh。
我們在Windows 2000/XP/2003 的 cmd shell(或叫MSDOS或叫命令提示字元) 下,输入 netsh
就出来:netsh> 提示号,
输入 int ip 就显示:
interface ip>
然后输入 dump,我们就可以看到当前系统的网络配置:

#------------------------------------------------------------------------------------------------------------------------------------------------------------#

Interface IP Configuration

#------------------------------------------------------------------------------------------------------------------------------------------------------------#
pushd interface ip

# Interface IP Configuration for "Local Area Connection"

set address name = "Local Area Connection" source = static addr = 192.168.1.168
mask = 255.255.255.0
add address name = "Local Area Connection" addr = 192.1.1.111 mask = 255.255.255.0
set address name = "Local Area Connection" gateway = 192.168.1.100 gwmetric = 1
set dns name = "Local Area Connection" source = static addr = 202.96.209.5
set wins name = "Local Area Connection" source = static addr = none
popd
# End of interface IP configuration
IPB Image
上面介绍的是通过交互方式操作的一种办法。
我们可以直接输入指令:
"netsh interface ip add address "Local Area Connection" 10.0.0.2 255.0.0.0"
来增加 IP 位址。
如果不知道语法,不要紧的哦!
在提示号下,输入 ? 就可以找到答案了。方便不方便啊?
原来微软的东西里面,也有那麼一些让人喜欢的玩意儿。可惜,之至者甚少啊!
Windows网路指令行程序
这部分包括:
使用 ipconfig /all 检视配置
使用 ipconfig /renew 重新整理配置
使用 ipconfig 管理 DNS 和 DHCP 类别 ID
使用 Ping 测试连接
使用 Arp 解决硬体位址问题
使用 nbtstat 解决 NetBIOS 名称问题
使用 netstat 显示连接统计
使用 tracert 跟踪网路连接
使用 pathping 测试路由器
使用 ipconfig /all 检视配置
发现和解决 TCP/IP 网路问题时,先检查出现问题的电脑上的 TCP/IP 配置。
可以 使用 ipconfig 指令获得主机配置资讯,包括 IP 位址、子网掩码和预设网关。

注意
对於 Windows 95/98/ME 的客户端机,请使用 winipcfg 指令而不是 ipconfig指令。使用带 /all 选项的 ipconfig 指令时,将给出所有接头的详细配置报告,包括任何已配置的串行连接阜。使用 ipconfig /all,可以将指令输出重定向到某个文件,并将输出贴上到其他我的文件中。也可以用该输出验证网路上每台电脑的 TCP/IP 配置,或者进一步调查 TCP/IP 网路問題。
例如,如果电脑配置的 IP 位址与现有的 IP 位址重复,则子网掩码显示为 0.0.0.0。
下面的范例是 ipconfig /all 指令输出,该电脑配置成使用 DHCP 伺服器动态配置
IPB Image
TCP/IP,并使用 WINS 和 DNS 伺服器解析名称。
Windows 2000/XP/2003 IP Configuration
Node Type.. . . . . . . . : Hybrid
IP Routing Enabled.. . . . : No
WINS Proxy Enabled.. . . . : No
Ethernet adapter Local Area Connection:
Host Name.. . . . . . . . : corp1.microsoft.com
DNS Servers . . . . . . . : 10.1.0.200
Description. . . . . . . : 3Com 3C90x Ethernet Adapter
Physical Address. . . . . : 00-60-08-3E-46-07
DHCP Enabled.. . . . . . . : Yes
Autoconfiguration Enabled.: Yes
IP Address. . . . . . . . . : 192.168.0.112
Subnet Mask. . . . . . . . : 255.255.0.0
Default Gateway. . . . . . : 192.168.0.1
DHCP Server. . . . . . . . : 10.1.0.50
Primary WINS Server. . . . : 10.1.0.101
Secondary WINS Server. . . : 10.1.0.102
Lease Obtained.. . . . . . : Wednesday, September 02, 1998 10:32:13 AM
Lease Expires.. . . . . . : Friday, September 18, 1998 10:32:13 AM
如果 TCP/IP 配置没有问题,下一步测试能够连线到 TCP/IP 网路上的其他主机。
使用 ipconfig /renew 重新整理配置
解决 TCP/IP 网路问题时,先检查遇到问题的电脑上的 TCP/IP 配置。如果电脑
启用 DHCP 并使用 DHCP 伺服器获得配置,请使用 ipconfig /renew 指令开始重新整理租約。
使用 ipconfig /renew 时,使用 DHCP 的电脑上的所有网路卡(除了那些手动配置的桥接器)都尽量连线到 DHCP 伺服器,更新现有配置或者获得新配置。
也可以使用带 /release 选项的 ipconfig 指令立即释放主机的当前 DHCP 配置。有关和租用程序的详细资料,请参阅客户端机如何获得配置。

注意
对於启用 DHCP 的 Windows 95/98/ME 客户,请使用 winipcfg 指令的 release 和 renew 选项,而不是 ipconfig /release 和 ipconfig /renew 指令,手动释放或更新客户的 IP 配置租约。
使用 ipconfig 管理 DNS 和 DHCP 类别 ID 也可以使用 ipconfig 指令:

显示或重置 DNS 缓冲。
详细资料,请参阅使用 ipconfig 检视或重置客户解析程序缓冲。

重新整理已注册的 DNS 名称。
详细资料,请参阅使用 ipconfig 更新 DNS 客户注册。

显示桥接器的 DHCP 类别 ID。
详细资料,请参阅显示客户端机上的 DHCP 类别 ID 信息。

设定桥接器的 DHCP 类别 ID。
详细资料,请参阅设定客户端机上的 DHCP 类别 ID 信息。

使用 Ping 测试连接
Ping 指令有助於验证 IP 级的连通性。发现和解决问题时,可以使用 Ping 向目标主机名或 IP 位址传送 ICMP 回应请求。
需要验证主机能否连线到 TCP/IP 网路和网路资源时,请使用 Ping。也可以使用 Ping 隔离网路硬体问题和不相容配置。
通常最好先用 Ping 指令验证本机电脑和网路主机之间的路由是否存在,以及要连接的网路主机的 IP 位址。
Ping 目标主机的 IP 位址看它是否回应,如下:
ping IP_address
使用 Ping 时应该执行以下步骤:
Ping 环回位址验证是否在本机电脑上安装 TCP/IP 以及配置是否正确。
ping 127.0.0.1
Ping 本机电脑的 IP 位址验证是否正确地增加到网路。
ping IP_address_of_local_host
Ping 预设网关的 IP 位址验证预设网关是否执行以及能否与本机网路上的本机主机通讯。
ping IP_address_of_default_gateway
Ping 远端主机的 IP 位址验证能否通过路由器通讯。
ping IP_address_of_remote_host
Ping 指令用 Windows 套接字样式的名称解析将电脑名称解析成 IP 位址,
所以如果用位址成功,但是用名称 Ping 失败,则问题出在位址或名称解析上,
而不是网路连通性的问题。详细资料,请参阅使用 Arp 解决硬体位址问题。
如果在任何点上都无法成功地使用 Ping,请验证:
安装和配置 TCP/IP 之后重新启动电脑。
「Internet 传输协定 (TCP/IP) 属性内容」对话视窗「一般」选择项上的本机电脑的 IP 位址有效而且正确。
启用 IP 路由,并且路由器之间的链路是可用的。您可以使用 Ping 指令的不同选项来指定要使用的资料包大小、要传送多少资料包、是否记录用过的路由、要使用的生存时间 (TTL) 值以及是否设定「不分段」标志。
可以键入 ping -? 检视这些选项。
下例说明如何向 IP 位址 172.16.48.10 传送两个 Ping,每个都是 1,450 字元:
C:\>ping -n 2 -l 1450 172.16.48.10
Pinging 172.16.48.10 with 1450 bytes of data:
Reply from 172.16.48.10:bytes=1450 time&lt;10ms TTL=32 &lt;br /&gt;
Reply from 172.16.48.10:bytes=1450 time&lt;10ms TTL=32 &lt;br /&gt;
Ping statistics for 157.59.8.1:
Packets:Sent = 2, Received = 2, Lost = 0 (0% loss),
Approximate roundtrip times in milli-seconds:
Minimum = 0ms, Maximum = 10ms, Average = 2ms
预设情况下,在显示「请求超时」之前,Ping 等待 1,000 毫秒(1 秒)的时间让每个回应返回。如果通过 Ping 探测的远端系统经过长时间延迟的链路,如卫星链路,则回应可能会花更长的时间才能返回。
可以使用 -w (等待)选项指定更长时间的超时。
使用 Arp 解决硬体位址问题
「位址解析传输协定 (ARP)」允许主机搜寻同一物理网路上的主机的媒体访问控制位址,如果给出后者的 IP 位址。
为使 ARP 更加有效,每个电脑缓冲 IP 到媒体访问控制位址映射消除重复的 ARP 广播。
可以使用 arp 指令检视和修改本机电脑上的 ARP 表项。arp 指令对於检视 ARP 缓冲和解决位址解析问题非常有用。
详细资料,请参阅检视「位址解析传输协定 (ARP)」缓冲和增加静态 ARP 缓冲项目。
使用 nbtstat 解决 NetBIOS 名称问题TCP/IP 上的 NetBIOS (NetBT) 將 NetBIOS 名称解析成 IP 位址。TCP/IP 為 NetBIOS 名称解析提供了很多选项,包括本机缓冲搜寻、WINS 伺服器查询、广播、DNS 伺服器查询以及 Lmhosts 和主机文件搜寻。
Nbtstat 是解决 NetBIOS 名称解析问题的有用工具。可以使用 nbtstat 指令删除或更正预载入的项目:
nbtstat -n 显示由伺服器或重定向器之类的程序在系统上本机注册的名称。
nbtstat -c 显示 NetBIOS 名称缓冲,包含其他电脑的名称对位址映射。
nbtstat -R 清除名称缓冲,然后从 Lmhosts 文件重新载入。
nbtstat -RR 释放在 WINS 伺服器上注册的 NetBIOS 名称,然后重新整理它们的注册。
nbtstat -a name 对 name 指定的电脑执行 NetBIOS 桥接器状态指令。桥接器状态指令将返回电脑的本机 NetBIOS 名称表,以及桥接器的媒体访问控制位址。
nbtstat -S 列出当前的 NetBIOS 会话及其状态(包括统计),如下例所显示:
NetBIOS connection table
Local name State In/out Remote Host Input Output
----------------------------------------------------------------------------------------------------------------------------------------------------------------
CORP1 &lt;00&gt; Connected Out CORPSUP1&lt;20&gt; 6MB 5MB
CORP1 &lt;00&gt; Connected Out CORPPRINT&lt;20&gt; 108KB 116KB
CORP1 &lt;00&gt; Connected Out CORPSRC1&lt;20&gt; 299KB 19KB
CORP1 &lt;00&gt; Connected Out CORPEMAIL1&lt;20&gt; 324KB 19KB
CORP1 &lt;03&gt; Listening
使用 netstat 显示连接统计
可以使用 netstat 指令显示传输协定统计信息和当前的 TCP/IP 连接。
netstat -a 指令将显示所有连接
netstat -r 显示路由表和活动连接
netstat -e 指令将显示Ethernet 统计信息
netstat -s 显示每个传输协定的统计信息
如果使用 netstat -n 不能将位址和连接阜号转换成名称。
下面是 netstat 的输出示例:
C:\>netstat -e
Interface Statistics
Received Sent
Bytes 3995837940 47224622
Unicast packets 120099 131015
Non-unicast packets 7579544 3823
Discards 0 0
Errors 0 0
Unknown protocols 363054211
C:\>netstat -a
Active Connections
Proto Local Address Foreign Address State
TCP CORP1:1572 172.16.48.10:nbsession ESTABLISHED
TCP CORP1:1589 172.16.48.10:nbsession ESTABLISHED
TCP CORP1:1606 172.16.105.245:nbsession ESTABLISHED
TCP CORP1:1632 172.16.48.213:nbsession ESTABLISHED
TCP CORP1:1659 172.16.48.169:nbsession ESTABLISHED
TCP CORP1:1714 172.16.48.203:nbsession ESTABLISHED
TCP CORP1:1719 172.16.48.36:nbsession ESTABLISHED
TCP CORP1:1241 172.16.48.101:nbsession ESTABLISHED
UDP CORP1:1025 *:*
UDP CORP1:snmp *:*
UDP CORP1:nbname *:*
UDP CORP1:nbdatagram *:*
UDP CORP1:nbname *:*
UDP CORP1:nbdatagram *:*
C:\>netstat -s
IP Statistics
Packets Received = 5378528
Received Header Errors = 738854
Received Address Errors = 23150
Datagrams Forwarded = 0
Unknown Protocols Received = 0
Received Packets Discarded = 0
Received Packets Delivered = 4616524
Output Requests = 132702
Routing Discards = 157
Discarded Output Packets = 0
Output Packet No Route = 0
Reassembly Required = 0
Reassembly Successful = 0
Reassembly Failures =
Datagrams Successfully Fragmented = 0
Datagrams Failing Fragmentation = 0
Fragments Created = 0
ICMP Statistics
Received Sent
Messages 693 4
Errors 0 0
Destination Unreachable 685 0
Time Exceeded 0 0
Parameter Problems 0 0
Source Quenches 0 0
Redirects 0 0
Echoes 4 0
Echo Replies 0 4
Timestamps 0 0
Timestamp Replies 0 0
Address Masks 0 0
Address Mask Replies 0 0
TCP Statistics
Active Opens = 597
Passive Opens = 135
Failed Connection Attempts = 107
Reset Connections = 91
Current Connections = 8
Segments Received = 106770
Segments Sent = 118431
Segments Retransmitted = 461
UDP Statistics
Datagrams Received = 4157136
No Ports = 351928
Receive Errors = 2
Datagrams Sent = 13809
使用 tracert 跟踪网路连接
Tracert(跟踪路由)是路由跟踪实用程序,用於确定 IP 资料报访问目标所采取的路径。
Tracert 指令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网路上其他主机的路由。
Tracert 工作原理
通过向目标传送不同 IP 生存时间 (TTL) 值的「Internet 控制消息传输协定 (ICMP)」回应资料包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发资料包之前至少将资料包上的 TTL 递减 1。
资料包上的 TTL 减为 0 时,路由器应该将「ICMP 已超时」的消息发回源系统。
Tracert 先传送 TTL 为 1 的回应资料包,并在随后的每次传送程序将 TTL 递增 1,直到目标回应或 TTL 达到最大值,从而确定路由。
通过检查中间路由器发回的「ICMP 已超时」的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的资料包,这在Tracert 实用程序中看不到。
Tracert 指令按顺序列印出返回「ICMP 已超时」消息的路径中的近端路由器接头列表。
如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 位址上查询 DNS。
在下例中,资料包必须通过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机 172.16.0.99。
主机的预设网关是10.0.0.1,192.168.0.0 网路上的路由器的 IP 地址是 192.168.0.1。
C:\>tracert 172.16.0.99 -d
Tracing route to 172.16.0.99 over a maximum of 30 hops
1 2s 3s 2s 10,0.0,1
2 75 ms 83 ms 88 ms 192.168.0.1
3 73 ms 79 ms 93 ms 172.16.0.99
Trace complete.
用 tracert 解决问题
可以使用 tracert 指令确定资料包在网路上的停止位置。下例中,预设网关确定 192.168.10.99 主机没有有效路径。这可能是路由器配置的问题,或者是192.168.10.0 网路不存在(错误的 IP 位址)。
C:\>tracert 192.168.10.99
Tracing route to 192.168.10.99 over a maximum of 30 hops
1 10.0.0.1 reportsestination net unreachable.
Trace complete.
Tracert 实用程序对於解决大网路问题非常有用,此时可以采取几条路径到达同一个点。
Tracert 指令行选项
Tracert 指令支持多种选项,如下表所显示。
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
选项 描述
...................................................................................................................................................................................................................................
-d |指定不将 IP 位址解析到主机名称。
-h maximum_hops |指定跃点数以跟踪到称为 target_name 的主机的路由。
-j host-list |指定 Tracert 实用程序资料包所采用路径中的路由器接头列表。
-w timeout |等待 timeout 为每次回复所指定的毫秒数。
target_name |目标主机的名称或 IP 位址。
详细资料,请参阅使用 tracert 指令跟踪路径。
使用 pathping 测试路由器
pathping 指令是一个路由跟踪工具,它将 ping 和 tracert 指令的功能和这两个工具所不提供的其他信息结合起来。pathping 指令在一段时间内将资料包传送到到达最终目标的路径上的每个路由器,然后关於资料包的电脑结果从每个跃点返回。由於指令显示资料包在任何给定路由器或连接上丢失的程度,因此可以很容易地确定可能导致网路问题的路由器或连接。某些选项是可用的,如下表所显示。
选项 名称 功能
...................................................................................................................................................................................................................................
-n | Hostnames 不将位址解析成主机名。
-h | Maximum hops 搜寻目标的最大跃点数。
-g | Host-list 沿著路由列表释放源路由。
-p | Period 在 ping 之间等待的毫秒数。
-q | Num_queries 每个跃点的查询数。
-w | Time-out 为每次回复所等待的毫秒数。
-T | Layer 2 tag 将第 2 层优先级标记(例如,对於 IEEE 802.1p)
连线到资料包并将它传送到路径中的每个网路设备。
这有助於标识没有正确配置第 2 层优先级的网路设备。
-T 开关用於测试服务质量 (QoS) 连通性。
-R RSVP isbase Che 检查以确定路径中的每个路由器是否支持「资源保留传输协定 (RSVP)」,此传输协定允许主机为资料流保留一定量的带宽。 -R 开关用於测试服务质量 (QoS) 连通性。
预设的跃点数是 30,并且超时前的预设等待时间是 3 秒。预设时间是 250 毫秒,并且沿著路径对每个路由器进行查询的次数是 100。
以下是典型的 pathping 报告。跃点列表后所编辑的统计信息表明在每个独立路由器上资料包丢失的情况。
D:\> pathping -n msw
Tracing route to msw [7.54.1.196]
over a maximum of 30 hops:
0 172.16.87.35
1 172.16.87.218
2 192.68.52.1
3 192.68.80.1
4 7.54.247.14
5 7.54.1.196
Computing statistics for 125 seconds...
Source to Here This Node/Link
Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address
0 172.16.87.35
0/ 100 = 0% |
1 41ms 0/ 100 = 0% 0/ 100 = 0% 172.16.87.218
13/ 100 = 13% |
2 22ms 16/ 100 = 16% 3/ 100 = 3% 192.68.52.1
0/ 100 = 0% |
3 24ms 13/ 100 = 13% 0/ 100 = 0% 192.68.80.1
0/ 100 = 0% |
4 21ms 14/ 100 = 14% 1/ 100 = 1% 10.54.247.14
0/ 100 = 0% |
5 24ms 13/ 100 = 13% 0/ 100 = 0% 10.54.1.196
Trace complete.
当执行 pathping 時,在测试问题时首先检视路由的结果。此路径与 tracert 指令所显示的路径相同。
然后 pathping 指令对下一个 125 毫秒显示忙消息(此时间根据跃点计数变化)。
在此期间,pathping 从以前列出的所有路由器和它们之间的连接之间收集信息。
在此期间结束时,它显示测试结果。
最右边的两栏 This Node/Link Lost/Sent=Pct 和 Address 包含的信息最有用。
172.16.87.218(跃点 1)和 192.68.52.1(跃点 2)丢失 13% 的资料包。
所有其他连接工作正常。在跃点 2 和 4 中的路由器也丢失寻址到它们的资料包(如 This Node /Link 栏中所显示),但是该丢失不会影响转发的路径。
对连接显示的丢失率(在最右边的栏中标记为|)表明沿路径转发丢失的资料包。该丢失表明连接阻塞。
对路由器显示的丢失率(通过最右边栏中的 IP 位址显示)表明这些路由器的 CPU 可能超负荷执行。
这些阻塞的路由器可能也是端对端问题的一个因素,尤其是在软体路由器转发资料包时。


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:20:17 16楼 举报

未来软件趋势:


IPB Image

电脑是基於二进位理论所发展的,因此最早用来控制电脑的就是开关。但用001,1001实在令人记不得那些开关该开,那些该关。开关控制既然不方便,於是乎有了机器语言。它将二进位换成十六进位表示,并将指令编码且规定书写格式。譬如指令在前,运算元在后。机器语言较之开关是方便了;但麻烦也跟著来了。指令虽然编了码,但指令多了就很难记住88H是搬移、00H就是加法。为了帮助记忆,沿袭机器语言的习惯,将指令编码改用方便记忆字替代,就这样诞生了组合语言。虽然有了组合语言,但电脑世界并未因如此变得简洁有效。反而造成电脑语言与开发工具的爆增。因为机器语言难以记忆;才有组合语言的产生;而组合语言不好用;又有高阶语言高阶语言不好用,又出现第四代电脑语言;其后更有了后第四代电脑语言(post-4GL)。然而高阶语言好写好记,但硬件控制能力不足,便又产生揉合高阶语言与低阶语言的中阶电脑语言。每有一种应用需求,就相应产生另一个电脑语言来配合。电脑仍在发展过程,应用自然无穷无尽;旧的未及整合、新的又产生。加上西人鼓励创新,重视商业发展;又有『某某之父』的名声作祟,电脑语言、发展工具不断增加,美其名称为『科技进步』。我们认为与其花时间发展新的电脑语言及相关工具,不如花时间整合原有已颇具成效的电脑语言及发展工具,以节省诸多资源。电脑程式语言的要求不外是:

1.程式可读性要高,具一定结构,便於修改。
2.建立公用函式库,容易模组化。
3.输入、输入参数不够清楚,只有原作者才理解。
4.发展工具不够顺手,浪费程式师诸多时间。


您或许以为只有高阶语言才能做到。其实组合语言也能够做到上述要求,高阶语言有其隐含的规则是以按照其规则写程式,程式自然离上述要求不远。组合语言在於其格式自由,但坏也坏在太过自由,反令人无所适从。虽然组合语言所撰写的程式拥有执行速度快、占用空间小、易於调用硬件等优点,但也因其功能强大能进入核心者不多造成许多积非成是的意见四处流传。

综合这些意见我们发现时贤对组合语言有下列五大成见:

成见一、组合语言的难度甚高:

长久以来组合语言给人的印象就是难、难、难。难学、难写、难读;以此推论自然也难除错、难修改、难以维护。程式师之间的沟通桥梁,靠的是程式原始码;对程式与机器而言,沟通媒介则是机器码。既然是人与人之间的沟通,其难度不在程式指令演算法,而是在於组合语言没有一定格式令人难以读懂。由於组合语言简洁有力、其撰写格式又太过自由,往往造成后来者阅读程式码的不便。因不便而有困难、因为困难才衍生反感、反感又带出成见,以讹传讹是以至今。其中原始程式不外是格式令人一目了然、变数能望文生义、注释简明扼要。在高阶语言,为了提高原始码之可读性,对格式编排也有许多不成文的规定。例如:采用小写依一定空格编排指令(例如:FOR-NEXT、IF-THEN-ELSE)。如果不规定清楚,相信高阶语言的可读性亦会大幅降低。对於变数的命名,一直是困扰著很多程式师。早期变数多用x,y,i,j,k等;目前在C语言多已采用匈牙利命名法(hungarian naming)以期令变数名称更易了解。我们认为只要组合语言原始码依据一定格式编排,有一套符合组合语言特性的命名规则,对於提高其可读性将有相当助益。看得懂了成见自然就没了。没有了成见那麼学习组合语言还会有困难吗?至於组合语言的难写,常令人有『重造车轮(re-inventing the wheel)之叹。我们认为只要程式设计时采用模组化程式设计,并将模组的用法扼要说明,且将各模组分门别类,提供其他程式师使用,绝对可以减少车轮重造之叹!


成见二、硬件不断改进速度所以空间并不重要:

这又是以讹传讹、积非成是的例子。使用者花了大钱硬件厂商戮力改善晶片效率,凭什麼软体工程师可以挥霍资源、不思改进?硬件改进后,增加的空间、效能,是使用者花钱购买的,程式师凭什麼占用?因此这不能成为程式师用来挥霍空间、时间的藉口。事实上桌上型数位设备,其体积、成本、耗电等因素未起决定性的影响,程式师还有挥霍不被逮住的空间。在嵌入式、可携式设备如:笔记型电脑、PDA等;其成本、耗能、体积相当重要。而要达成这个目标,组合语言定是最佳利器。


成见三、有编译程式可代为优化为何要自行优化?

编译程式的进步,虽是有目共睹;其优化程度较之以往、效果亦佳。但它是在高阶语言的立场上进行优化,其成效绝不如程式师在组合语言的立场上进行优化。而使用高阶语言的程式师,因为可控制的范围很少当然只能依赖编译程式进行优化。能够进入组合语言领域的程式师,其知识、能力定已胜於一般程式师。编译程式的优化,必须考虑其通用性。因此用编译器做出来的优化效果,绝对不如一个有能力、经验的组合语言程式师。我们知道所谓编译程式的优化,也是编译程式师依其优化经验,将优化规则写在编译程式裏。符合这些规则的编译程式才能进行优化。因为这些排列组合实在太多,加上为了通用起见,这些规则未必适用。只有透过有经验、愿意追求完美的程式师,才能将优化效果达到极致。而这非得是组合语言程式师莫属。


成见四、组合语言程式可携性低:

而所谓程式的可携性,其实仍需视被移植程式其本身性质而定。如果使用中、高阶语言,且符合标准语法来撰写应用程式的话,其中大约有七、八成的程式码毋需修改。但如果是系统程式纵使采用C语言,可携性的比例将掉到七成以下、甚至比六成更低。的确英代尔80x86IBM PowerPC的组合语言并不相同。经过这些年的技术演进与使用者汰选,目前数位设备的中央处理器主要剩三~五种。扣除德州仪器的DSP不计,其中还是以英代尔的x86系列装机率最高,剩下的则为68000、POWERPC、ARM等所分据。虽就技术层面而言x86并不是一个好系统。然而截至目前为止它的市场占有率相当高,使用者多、市场也大、技术资料也比较好找。就组合语言之间的转换,目前已有不少的转换工具例如:将x86组合语言转至POWERPC的组合语言。由於x86的市占率,不可否认地在资源上的取得会较为便利,各类转换工具相较亦多。透过这些工具的协助x86组合语言的移植性未必会输给高阶语言。所以市场需求量大、加上训练得宜,软体的移植门槛定可随之降低。


成见五、用组合语言发展耗时甚钜:

这是基於产品商业化的角度、并从公司投资者的立场出发,这原是无可厚非的期望。但软件发展的目的总是希望能为使用者带来效益,进而继续升级、购买。因此组合语言执行速度快、占用空间小的优点不能被刻意忽略掉。如果组合语言的优势是真正给予使用者好处,让他们享受以组合语言精雕细琢后的软体系统带来的好处,而不是花钱在新款的硬件设备、不断地更新软件系统,以三十二倍速淘汰买来的软硬件。辛苦投资金钱与时间只是为了进行硬件升级、软件更新的工作。我们以为这并不是资讯工具发展的目的。资讯时代的来临应当是以资讯技术提高人们的生产力、并替代人们的重复、繁重工作。而不是加重人们的经济负担,却进行著重复的工作。那麼是否有可能让组合语言的开发时间缩短呢?答案是可以的!组合语言只要透过一定的规范、并派专人搜集模组、公开模组使用方法;组合语言也能易读、易写、易维护。只要模组累积够多、程式师技能成熟,以组合语言来发展系统,其时间也会相对地减少。不可否认再怎麼以方法论、工具来减少开发过程,以组合语言来发展系统所需要的人力、时间仍略高於高阶语言。因为高阶语言在快速建构软体雏型,比起组合语言有著相当的优势,特别是操作介面的部份。然而就实用与价值的层面来看、初期的软体开发费用与时程,是可以被消费者接受的,这是因为软件有其使用的累积效应。譬如一个开机程式,若每次执行需要3秒。改用组合语言,假定其开发时间要多三个月,执行时间只能为使用者节省一秒;而一个使用者一天节省一秒、那麼一亿人一天便可节省一亿秒。长此以往大家节省的时间与能源,是多麼的可观啊!系统开发人员绝对不能为了节省自己的时间,将麻烦转嫁给消费者,徒令使用者浪费了更多时间。就个人的经验而言,对一个没有电脑技术背景的人,大概经过一季的训练便具备以组合语言编写程式的能力。


综合使用组合语言的经验,我们提出采用组合语言的四个好理由参考。

理由一、速度:曾听过这样的故事。一名生手问资深程式师说:用组合语言有什麼好处?资深程式师笑著说:就我所知用组合语言有三个好处,速度快、执行速度快、执行速度飞快。当然如果你会写的话。」这个小故事生动地阐述了组合语言较之其他电脑语言的决胜要素。如果想要提升软体执行速度、又不欲事事仰赖硬体,唯有借助组合语言。

理由二、空间一般而言组合语言的目的码,可比高阶语言节省六成、甚至数倍的空间。如果功能较多、系统较为复杂的软件其效果更加明显。

理由三、能力:组合语言与硬件沟通的能力显然优於高阶语言。由於高阶语言强调其可携性,势必要设法与硬件环境脱钩,才能提高其可携性。虽然中阶语言如C、FORTH已提供硬件I/O指令,基於可携性的考量在这方面仍不如组合语言直接。因为组合语言靠组译器直接译成机器码。如此一来空间、效率的最佳化就要由原作者来做。高阶语言则需经过编译器得到p-code,再转为机器码其程式码的优化由编译器负責,编写程式的人根本无从置喙。由於现今之高阶语言已提供不少低阶函数的调用功能,如显卡位址、系统功能呼叫、中断向量等。如果程式师不想深入控制,不妨透过编译器或函式库来完成对系统的控制。不过由於透过其他程式(如编译器或其他函式库),对所产生的结果与效能,程式师只有全盘接受的份儿。如功能不足仍需自己重写。若想直探虎穴完整地掌控系统所有资源、并对程式进行时空的优化,舍组合语言还有他途吗?

理由四、知识:高阶语言写程式与机器的主要介面是编译器,所以很多电脑内部事务已被编译器一手包办。使用组合语言则否,由於多数工作必须自己打理。因此所知必丰也因为电脑知识日渐丰富,程式师不但有自信更能彻底掌握电脑,令程式做必要之事。就资讯设备而言,中央处理器与内存决定了硬件的成本与体积。如果程式空间太大,内存必须跟著加大成本、体积都随之增加。而若程式执行速度太慢,完全依赖硬件的改进势必会增加硬件的成本,或设法提高中央处理器的执行速度。振荡时脉一旦加快过热、耗电的问题随之而来。这对手持式设备的影响极大、有心从事者不能不留意。因此唯有采用组合语言,才有精简程式、令程式最佳化的环境。愈高阶的语言,程式师能著力之处愈少。只有到了组合语言的层次,程式师才有承先启后的基础。透过不断地精简程式,程式师汰芜存菁留下直观又有效的解法。长此以往更有助於程式师面对新的问题。如果软件不改善,就必须靠硬件的改进。那麼就会受到设备体积、制造成本、运作成本、时间等因素影响。若软件改进就能解决、这样降低修改的门槛,软件工程师何乐而不为呢?


基於使用者的立场我们了解一个优良软件必须拥有三个条件:

1.符合使用者需求。
2.执行速度快。
3.占用空间小。


要达到这个目的程式师必须有水准以上的能力与知识。因此善用程式师具备的能力与知识所写出的程式在时间、空间方面自然就更加优越了。这种精益求精、尽善尽美的追寻精神,才能写出具有艺术价值的程式,让程式员跻於大师之林。不然编写程式不过人们另一种混日子的方法罢了。相信追求卓越会是一位优秀、具有使命感的程式师在其编程生涯中无可推卸的责任。在1970年代对软体开发成本曾作过一项研究,结果指出软体维护的成本超过整体成本的50%,其中更有数个抽样范例超过了80%以上。於是学界提出结构化系统设计结构化程式设计,希望减少软件开发与维护的成本。在1970年代中期针对系统分析系统设计程式设计的结构化要求,是当时资讯圈学术研究的主要课题。在发展第三代、第四代电脑语言的过程,一直致力改善前代电脑程式语言的缺点。C语言的发明人在发展C的过程,就是希望创造一套程式设计语言,拥有结构化程式设计的优点,又能很方便地调用与硬件、作业系统的介面。FORTH是第四代的电脑语言,其狂热的使用者将第三代电脑语言,甚至以C语言为其假想敌、欲将之扳倒取而代之方休。因此FORTH再三强调本身拥有第四代电脑语言的优异性能、向来为其他高阶语言难以企及。同时它更宣称继承了第三代电脑语言所有优点,但却无其缺点甚至於它还能做到接近组合语言空间与速度的要求。高阶语言一向最为人称道的地方是它可快速建构软体模雏型程式可携性又高加上已有许多函式库使用人口多工具程式普遍程式资源取得容易等等优势。的确是的!然而我们认为这样的优势仅适合於一般应用软体或以电脑进行模拟实验。但在使用频率极高的系统核心程式,组合语言还是首选!以一般熟知的软体设计方法论来分类软体设计可分成处理导向(process oriented)资料导向(data oriented)两大类。组合语言最适合用在资料导向的设计,由於它的功能强大可以控制资料的每一位元。当采用组合语言撰写如内嵌式系统程式时,不但能兼顾及空间与执行效率、更能有效地压缩资料、运用资料。至於处理导向则适用於使用者介面的设计。在实作上对程式的控制权的分配又可分成三种策略。流程中控(flow centeral control)讯息交换(message communication)事件驱动(event driven)。在资料导向的设计几乎清一色采流程中控的策略。而处理导向在早期指令态的操作环境下,多是流程中控、再加少许的讯息交换。到了图形化使用者介面崛起后,讯息交换在使用上确有繁琐之扰,令程式撰写工作日益复杂,造成侦错不易、衍生诸多困扰。尔后在讯息交换的基础上,以物件导向的事件驱动策略适时出现,这也令视觉化、自动产生程式码的程式设计工具大为流行。著名的工具有Visual BasicC++ BuilderDelphi。流程中控指的是由程式师依其经验设定一主控程式职司该系统的控管流程,所有的程式都为这一主控程式所调用、转移控制权。它如同流水线生产流程,甲模组处理过、才能流至乙模组。这种方式适用於单一使用者,因为所有资源为他一人所设。在人体中也有类似的流程譬如:食物的流向简单来说是由口→胃→肠;每个器官(模组)职司一个功能,一个器官的输出恰为次一器官的输入,这是规律丝毫错乱不得,一出错就是急症,在电脑则成了死机。讯息交换指的是主控程式不再职司程式调用,控制权转移靠得是讯息。在作业系统裏负责替子程式传递讯息,称为讯息回圈(message loop)。这时主程式不再是控制者或分配者的角色而是一个协调者。这种理论多用於多工处理(mutli-task),称为协调式多工系统。在人体中也有类似方式譬如激素传递,而激素品类繁多视器官而定。因此血液除了为器官带来氧气、养份之外,也替器官们带走废物。因为血液是流经全身的非常适合担任讯息传递的角色。因此器官会发送激素(讯息)给血液,当血液流经其他器官与血液进行交换时,器官们会检查这些激素是否为己所需,若是该器官会取走激素(讯息)加以处理。有些紧急情况其处理程度极高者如:肾上腺素则直达四肢做好应变措施。外在变动甚剧但又万变不离其宗。若能事先设定流程、按键来控制当然很适合用流程控制来完成。然无常世事、加上使用者是人能够提前设定的事情实在也不多。但讯息交换用於内部控管、彼此沟通倒也无妨。若再加上外界变化,讯息真要传递起来,过程著实罗嗦甚至缓不济急。如果已知本体对外界变化的反应,将这些反应设计成为单一事件,各个事件的组合即是本体所有的功能。这种将反应一一转化成事件,即可称为事件驱动。这样流程控制用在控制主要流程、讯息交换用於内、事件驱动用於外,既理想也符合人的认知。因此事件驱动的方式,最适合与外界沟通的元件(肢体、感官)它接受外来信息的刺激(事件发生)不同的感官会做出不同的反应(对该事件的处理)程式师只要将元件设计好,并将该元件需要处理模组填好即可。当然元件也有必要与系统进行讯息传递,但这一部份的讯息工作量对外界而言实可不必细究。就实作的经验来看流程控制适用於核心模组如:中断向量。而讯息交换则属作业系统成员间互通有无。事件驱动可用於应用程式制作,特别是使用者介面的部份。以上有关程式控制权的概念是由程控奇才TB先生提出幸而闻之。以此观点看视窗作业系统、传统的电脑语言颇能自得其乐。不敢掠美、誊录於此供读者赏析。关於作业系统的理论,有兴趣的组员请查阅相关书籍。由於作业系统是个超级管家婆,举凡硬体、软体资源全数由它来控管、分配自然与程式师有著密不可分的关系。以下是以微软作业系统产品举例,之后再辅以摘要说明。

作业系统简表:

型态 实际产品 备注

单人单工(single-user,single-task) MS-DOS
非优先权多工(non-preemptive mutlitasking MS-WINDOWS 3.1工作中的程式,需让出CPU,次一程式才能接续执行。
优先权多工(preemptive mutlitasking)MS-WINDOWS NT WINDOWS 9x系列,16位元采非优先权多工,32位元则不一定。


在MS-DOS时代使用者最大。由於只有一个人当然由他独享所有软硬体资源。从开机到结束都只有他一个人在用。因此管家如DOS,其工作也简单多了。它透过一个外壳(shell)与使用者沟通,不过在同一时间只有一个应用程式处於用者与程式师认知的执行态。DOS毋需处理程式间切换的问题、也没有所谓的工作排程。它只要有效地管理内存并把周边管好即可。应用程式的内部模组透过调用的方式来交换执行权;与系统的沟通则是透过中断向量程式来完成。到了微软视窗作业系统虽然还是单人作业,但它要设法模拟多工环境,更麻烦的是只有一套硬件设备。其依据理论是:非优先权多工。它的理念是程式皆生而平等。如果程式执行完毕后要呼叫系统一个功能函式,必须将执行权让出来。当系统收到这个讯息后会到工作排程找排在前面的应用程式,然后送讯息给这个程式告诉他要准备接手执行。由於应用程式不分等级大家都是同一等级。如果系统没有收到控制权转移的讯息,也就是说有应用程式不合作、不肯将控制权交出那就会造成死机。上述的运作方式效果并不理想,到了微软视窗NT就改采优先权式多工,又称为协调式多工。也就是说应用程式开始分有等级,不同等级的程式调用的系统资源也不一样。为了维持多工作业它采用了分时的观念。每个程式都有自己的执行时间,时间到了就换下一个如此逐次不断地在工作排程中轮流执行。理论上不会允许一个程式霸占著系统资源不放。当然优先权最高的程式可以获得系统优先分配资源例如:较多的执行时间、某些特殊的核心功能、优先执行权等。由於微软视窗NT并不受欢迎,其市占率一直未能打开。一直到了微软推出视窗九五系统后,才藉由对DOS较佳的相容性一举奠定作业系统霸主的地位。但在视窗九五,十六位元的应用程式采用的是非优先权多工,而三十二位元的应用程式则视情况采用非优先权多工或优先权多工模式。而这也是视窗九五不如视窗NT稳定的原因。由於每个程式都有自己的堆栈区、变数区、使用系统资源等,作业系统必须在程式间进行切换。即将目前系统的堆栈、变数、使用系统资源状态存起来,再进行控制权的转移。这是多工系统经常用到的技巧。至於task与process有何不同?一般情形并不做明确区别。若真要严格区分只能说multitasking是单人多工系统,其下的程式称做task;它的硬件譬如:键盘、萤幕只有一套,如果要使用必须经过系统资源分配程式来协调。多人多工的系统才是multiprocess,其下的程式称做process。它面对的其实是不同的终端设备,使用者透过终端机下达指令,由於实际硬件与使用者是直接对应的,如有输入、输出系统可迳自处理。至於multiprocessor指的是多颗处理器晶片的系统。目前只有视窗NT、视窗XP才支援。因为在程式间切换动作相当费时,需进行大量的记忆体存取动作保存相关资料。为了解决这个问题,优先权多工系统又将每个程式细分成多个执行绪(multi-thread)。如果是执行绪间的切换,有时不用保存资料或只需要局部即可。由於优先权式的多工作业系统并不是一个强势的资源分配者而是一个较为弱势的协调者。为了令协调更为有效一律要求所属透过讯息传递(message)的方式来告知系统要进行何种动作。也就是说在这个系统裏不论上对下、下对上、平阶对平阶,全部只能透过讯息来通知彼此。系统会有一主讯息回圈不断地收发讯息。由於所有的沟通全部依赖讯息,使得系统的讯息量大增。如果执行时记忆体不足,系统就会显得左支右绌、甚至当机频频。而多执行绪的产生也令讯息量暴增。一个程式有多个执行绪,每个执行绪再发送讯息,结果系统花在讯息传递、管理就耗去不少资源。一旦多个应用软件一起执行,其执行绪将以几何级数激增。譬如:造成执行绪伫列讯息伫列满溢程式、执行绪切换出错。甚至是讯息间因相互等待造成死结。由於视窗系统,将某些区域设为某些层级才能读写,若控管出错会令程式码误入管制区,造成系统误判而强迫应用程式退出。这麼一来资源还来不及交还系统,就已造成死机了。这些管制区域在微软官方资料中宣称是为了保密性与稳定性,不让一般程式任意碰触系统核心、进而破坏了系统稳定。但视窗系统还是常常令大家『晕倒』。比尔盖茨在展示XP的新功能时也曾在全球使用者的面前『晕倒』。为了解决为人诟病的死机问题、微软不断地出补丁程式或者安慰使用者,『别急!下个版本会更好,但您得花钱买!』。Linux呢?为什麼它号称是最稳定的伺服器操作系统?其实Linux也有讯息传送、也有多执行绪。不过在Linux不叫讯息,而称为讯号(singal)。讯号用来通知程式某些事件发生了,要程式准备接手处理。不同的是发出讯号严格限定上对下,或那些拥有主控权的程式才有这个权力。这麼一来大大减少讯息量,也使得系统不致为了应付讯息传递、造成工作量急剧发散、最后陷入难以控制进而造成系统崩溃。当然不止这些技巧,Linux在死结的防止、控制权的平顺转移、工作排程等方面执行效能稳定且优异。它是1991年由芬兰的大学生Linus B Torvalds所撰写的一套免费用於个人电脑的作业系。最初的名字并不是Linux而是Freax(Freak是怪物之意x表示操作系统不可或缺之字母)。之后藉著网际网络无远弗届的力量,获得全球众多玩家们大力支援终於名声远扬。真可谓有井水处就有Linux!而麦金塔的Mac OS虽然也采用了优先权多工。但Mac硬件是封闭性架构,硬件的单纯性及作业系统与硬体高度整合减少了死机的机率。加上以事件驱动为导向有效地降低讯息大量的传递及执行绪数量,同时也减少系统不必要的负荷及撰写程式的复杂性。提到这些不得不荡开一笔,写些有关微软视窗操作系统的八卦消息。这些黑幕会被人掀开,纯系黑客们拥有良好、扎实的组合语言功夫。根据Richard M. Smith在BYTE杂志的一篇文章表示微软操作系统藏有许多后门程式。此君是Phar Lap的前任总裁但该公司在2000年9月被VCI公司购并。Richard发现视窗九八与IE 4.0的安全漏洞而举世闻名。他发现微软系统会偷偷地记载使用者的电脑名称、上网的IP位址等林林总总之个人私密资料、网路使用习惯,甚至微软的办公软体套件会在你的Word、Excel档案裏偷藏暗记,以供比对、查核、追踪之用。而当你在网路上进行操作系统的注册核实,你的网路卡卡号等资料已经被送到微软公司的资料库中建档保存。同时微软还将某些系统核心的函式列为无可奉告的极机密资料,必须花钱购买才行。开发厂商花了大钱不说、购买者还得签下保密协议。这些函式与系统核心息息相关,软件工具如编译程式等厂商不得不低头签约。而一旦改版微软并不负告知、更新责任要新货可以欢迎你花钱再买!据闻Lotus的Ami-pro就这样被整得七荤八素,Netscape也是吐血连连大伤元气。最后形成,这些软件商的软体在新版的视窗操作系统一执行便惨遭死机的命运。使用者抱怨不断而这些厂商的新版本推出的速度,当然不及微软手下的Word、IE等。几次系统更新下来这些厂商只好宣布退出了。最惨的要算是Borland这家公司它的C++ Builder、Delphi极富盛名,这是家老牌又备受使用者宠受的软体开发工具厂商。微软的Visual C++欲挟此『』技急起直追,不料程式师习惯难改OWLMFC的函式盟主之争其战况激烈,实不亚於操作系统!先天不足(为了相容DOS、WINDOWS 3.1、旧硬件设备的包袱),后天又失调(为防止竞争者、窥侦使用者大开后门)的视窗操作系统,怎麼不会令人『晕倒九八(视窗九八)又『晕倒嗝屁(视窗XP)呢?其实操作系统的四大工作是记忆体管理、工作排程、档案系统、输入输出。把这些事做好尽心为程式提供良好协调及资源分配就是一个称职的好管家了。只是微软不做此图叠床架屋、安排陷阱只为自己的百年江山做打算。名作者Jeff Duntemann在他的大作《Assembly Language Step-by-Step》第十二章也谈到了讯息传递与组合语言的关系。其譬喻贴切,用辞幽默尤其对讯息传递流程的比喻最是传神,实值读者一阅。由此也可推知讯息流的视窗系统在这位名家的眼中究竟为何物?为免读者找书不便,我们不揣简陋将该文精华段转译如下:
为什麼不用视窗系统?本书第一版在1992年出版。过去几年来有许多看过第一版的读者写信给我。希望我在第二版的时候,能够考虑加上在微软视窗作业系统如何撰写组合语言。我仔细研究了视窗作业系统后有著深深的无力感。我摇摇头告诉自己:别去那儿不然就再也回不来了!问题来自於在视窗作业系统裏,应用程式并不能视为独一无二的。它有点像使用者自行订制的小视窗。DOS的组合语言程式从开始执行到进行处理,可能来个回圈什麼的一直到它结束。它藉由系统呼叫的功能、不断地接触系统核心。而这些呼叫是极平常而且简单的:你只要在把参数放进相关暂存器,或是堆栈中、呼叫中断服务程式。譬如:像是DOS的INT 21H这些中断服务程式会做它该做的事情,然后把控制权交回您手上这就是它的工作概念,除此之外没有其他。视窗与应用程式的关系是紧密且更形复杂。(译注:视窗作业系统的拥护者,其名言是「复杂是一种令人震慑的美丽!」)当视窗程式执行时,如果使用者按下滑鼠键,系统会把滑鼠的信号拦截下来(译注:系统怎麼知道何时能够拦截?因为系统派出手下诸多程式躲在暗处、伺机窃听)然后来到你的程式身边,拍拍它的肩膀悄声说:「嗯!刚刚使用者按下滑鼠右键,你要不要干点活?」真复杂的系统!系统与应用程式在处理事件、回应讯息、传递讯息、拦截讯息等,这些贯穿系统的核心工作不断来去。彷佛涓涓细流、欲穿过布满巨石的河床那般困难。由远处看视窗系统确实美丽绚烂;但走近一看它竟是接近混乱无序的混沌态。以组合语言来说你靠得近所以拿得多。光是站在组合语言的立场,要了解视窗及应用系统的工作流程,大概就要花上你几个月的时间。要写出一个大小适中的应用程式,恐怕要用一年的时间来读资料、写程式及除错。权衡之下自然会反对要花费这麼多的精力,用这种方式来与视窗作业系统打交道。你希望有个方法像是预先做好的软件元件、范例程式透过剪剪贴贴凑成应用软体,来免除这些不必要的困扰。这就是为什麼你看到的程式设计环境会像是Visual C++、Visual Basic、Delphi等之类的工具程式。你只要用手操作滑鼠拉、点、选你就可以得到一个外观相差无几的视窗软体。这些元件像是视窗、卷动轴、滑鼠控制等;但特殊处理的程式码则是一行也没有。但这个大而无当的开端却完全抵消了你采用组合语言所带来的优势。不是这样的?想想速度与空间吧!有什麼程式语言能在速度与空间上,与组合语言争锋对吧?或是应该这麼说:没有一种程式语言能与好的组合语言程式码在速度与空间上,与之争锋。但你需要铭记在心的是当视窗应用软件开始执行,CPU大部份效能都耗在视窗作业系统上了。譬如执行DLL函式、或是一些视窗内部机制,而这些你都控制不到的。你写的组合语言程式仅能提升执行效能的极少部份。在使用者操作视窗的过程他根本感受不到组合语言在速度上的贡献。而且现在的C、PASCAL等高阶语言的编译程式,最佳化功能确实也相当优异。它尽可能将每条高阶语言的指令译成最佳机器码。当然优秀组合黑客们可以做得比编译程式更好。不过令人有些沮丧的是要达到这个地步必须沈思默想,如同紧跟在狼群之后的猎人,不必瞄准随时都能开枪猎杀。说实话在视窗世界写组合语言唯一的好处是:获得位元层级、深入且超越表相地理解视窗的运作。那自然是件有价值的好事情,如果你的目的确是如此。那我真该向你表示敬意了。我推测你一旦取得这个难得的战果:了解视窗内部的机密,你会对最有效率的视窗应用软体快速开发(RAD,Rapid Application Development),发出得意的笑。对我而言那个视窗应用软件快速开发工具是Delphi。就我所知目前只有一本书谈到如何在视窗系统撰写组合语言。那是由Barry Kauler撰写的《Windows Assembly Language and Systems Programming》,1997年由R&D Books出版。整本书超过四百页那仅仅只是开始而已。大部份你该知道的知识在微软众多的技术文件都能找到。祝你好运嘿!嘿!我想你会需要它的!看完了操作系统的秘辛我们再回到电脑语言上来。本章表一是资讯科学界对程式语言的分类。对於C与FORTH这两个颇受欢迎的中阶语言,对其特色与应用再做一简单说明。


C语言

※源起

C的前身为B语言,1970年由贝尔实验室的研究员发展出来。其目的是为了开发操作系统时能替代部份组合语言的工作,而所开发的程式码能够在不同的软硬体环境执行。最早的标准是K&R;后来ANSI在1982年的X3J11标准沿用至今。目前最新的ANSI C,其标准是1989年提出的。C语言最初的著眼点是用来取代部份的组合语言、加快操作系统开发的时间。在建立标准及推广使用,C语言渐为人们采用1985年以后广为流行。

※特色

因多数系统采用其编译程式相当普遍。而在硬体厂商开发出新硬体时,其系统开发工具多数具备C的编译程式。所附的驱动程式也以C为主。只要C程式符合ANSI标准且用的函数是ANSI标准函式,可轻易地将程式转移到其他平台,仅需将与硬体环境相关的程式码改写即可。C可控制多种周边硬体,并可直接存取记忆体位址方便I/O控制。

※应用

作业系统:MS Windows、Unix、Linux。
手持设备:GSM Layer1/Layer2/Layer3、GUI Framework、KVM(Java VM)。
通讯协定:如交换机的电信协定及网际网路的协定,HTTP、TCP/IP、SNM等。


FORTH语言

※源起

FORTH由查理士•摩尔(Charles [Chunk] Moore)在1969年发展的。起初十年FORTH少人知晓只在学术界流传。到了1980年以后由於第三代语言的不足,人们开始寻找其他解决方案。由於FORTH的语法精简、硬体架构简单再加上研究团体FIG(Forth Interesting Group)的大力推广,FORTH渐渐吸引程式师投入、发掘其内蕴潜力进而广为人知。摩尔先生在发展FORTH时,他发现不论从第一代的机器语言、第二代的组合语言到第三代的高阶语言都不便做为内嵌式的程式语言。当时电脑主流的电脑语言是高阶语言也就是第三代的电脑语言。几经思索摩尔先生将发展出来的程式语言特命名为FORTH(中文译名为符式)。这个字是将Fourth单字缩写、读音亦同Fourth又有『第四代电脑语言』之意。由於他的思考逻辑与方式不合当时所谓的主流技术、又挑战既得利益者。因此这套电脑语言多被商界排除在外,只在学术圈推广。不过现在已有FORTH的结构应用在新一代的电脑上。由於它在数值运算的便利性,相信在未来的数位设备及网路通讯,能有更多应用。

※特色

FORTH是所谓的堆叠电脑架构。这个架构是由程式计数器、内存、逻辑运算单元、资料堆叠及返回堆叠所组成。存取资料则采用先进后出法则(first-in, Last out)意即运算式采后置式的定义方式。如计算式为3+4*5,在FORTH就以34+5*为其表示式。完整的FORTH暂存器有下列六个。PSP:Parameter StackPointer,管理资料堆叠之指标器。TOS:Top Of Stack,资料堆叠顶端暂存器,因资料传递资料堆叠其存取量极大。由於只有一个进出口将顶端资料放在暂存器中加速资料处理。RSP:Return Stack Pointer,程式返回堆叠指标。IP:Interpreter Pointer,用以指向下次执行字为何其运作和字典相关。字典中可由使用者自行定义,称做指令、关键字或宏指令。UP:User Pointer,使用者管理用暂存器,为多工管理用暂存器。W:Working register,辅助工作用暂存器,辅助字典动作或运算用。由上可知FORTH已具备完整的中央处理器结构,也就是说FORTH不仅仅是套程式语言、它还拥有自己的硬体架构,适合做成独立式的单晶片控制系统。由於硬体架构单纯、逻辑闸数目较少、且系统核心也用FORTH来写约占十余K。利用FORTH架构做出的微处理器名为FISC(Forth Instruction Set Computer)。它具有高效能、低成本的优势因为没有中断驱动使得其暂存器可减至六个。加上做成内嵌式系统,堆叠只要十六层左右及采定长编微指令集。这些效能的增进并不必使用如pipeline、superscale等。种种技术都令其晶片闸数降至最小,系统程式占用的空间也不大。才能应用在内嵌式系统、可携式设备、单晶片控制等数位设备上。FORTH语言还提供交谈式的操作方式,也有编译式,还有组合语言。已备妥各类程式发展环境让使用者使用。这是一种发展性很高的独立系统,很少电脑语言可以做这麼多的变身。而也是摩尔先生发展FORTH的原意。最早它只被用在小型计算机的系统上,由於可携性较高、加上FIG的推广,几乎各类型的中央处理器上都有FORTH系统。更重要的是FORTH有自己的中央处理器在科研应用、资科学界占有一席之地。

※应用

升阳工作站的开机程式(FCODE FOR OPEN BOOT)、PowerPC的开机程式,都是用FORTH写成的。而英特尔在奔腾级的浮点运算器,也采用了堆叠电脑架构。虽然撰写程式时要用的是组合语言指令,而非FORTH。但其运算方式全部都在堆叠运作、硬体结构相当接近FORTH的要求。

=====================================================================
综合上述我们看出由於C语言享有系统核心的制高点,占有系统资源的主导权,令其他语言特别是FORTH在后苦苦追赶、难以超越。也因除错环境设计公用模组呼叫的方式如:应用系统核心都偏向於C的程式,令其他类型的电脑语言使用不便,进而使更多的程式师投入C的行列。但这是现实环境并非组合语言有何不及之处。当然由此可见掌握系统核心的重要性。而FORTH则令晶片拥有迅悍本色,硬体简单小巧、软体易写具弹性且能做到极高效能,特别是数值运算的部份。根据一份学术论文针对数值运算所做的比较报告,FISC、RISC、CISC,在程式空间的比值为1:2:4。这是因为FISC采用堆栈机的架构使用者可事先将运算式化成后置式(post-fix),这样一来便能较RISCCISC在运算的程式模组的空间上获致令人满意的结果。例如:在航太科技中有许多控制设备因为需要大量运算再加上长期暴露於外,其损毁性高对体积、耗能、散热也有极严苛的要求。因此像这类的设备大多采用单晶片的架构再加上运算性能的考量,往往FISC的精简架构表现相当突出。关於推荐书目部份初学者建议参考施威铭《80x86组合语言实务》、Jeff Duntemann的《Assembly Language Step-by-Step,2rd Edition Programming with DOS and Linux》《Assembly Language from Square One》,William H. Murray,III与Chris H. Pappas合著的《Assembly language Magic:Programming for the 8088-80386》及Paul A.Carter的《PC Assembly Language》《DOS 5.0技术手册(三)》是INT 21H功能说明手册对老将、新秀都非常有用而Norton Guide则有中断向量服务程式、指令长度、运算周期的线上速查表是程式师的好帮手。《Master Class Assembly Language》对x86硬体设备的探讨十分全面有兴趣深究x86者不妨参考。而Paul A.Carter的《PC Assembly Language》对初学者非常适合内容讲解清楚范例实用便捷;该书适用的系统平台是Linux组译器NASM,还可以搭配DJGPP的C/C++来使用是一套应用80386且软体费用极为低廉的方案。但因无出版社愿为他出书只得自行制成PDF电子书格式,放在网站供网友无偿下载。《The Revolutionary Guide to Assembly Language》一书作者群由俄国人领衔。其内容由基础到深入也介绍如何安排程式设计环境令工作更有效率;所附资料架构严正内容丰富也是组合语言极佳的参考书籍。而《Bluebook of Assembly Routines for the IBM PC & XT》一书内容与本书第四章相仿该书的范例有些必须经过修改才能在现今奔腾架构上运作。不过作者摩根教授在1984年就已完成该书二十余年来类似的书彷佛空容跫音,更显得这类书籍的难得。这本书的参考价值在於读者可学习如何分割模组,如何将有用的模组分类供其他语言调用。摩根教授在设计之时就考虑令C、BASIC、PASCAL等语言的调用介面当然这些模组在使用组合语言调用时是最为方便的。Michael Abrash、Rick Booth、INTEL、朱邦复诸位先生的著作对於程式优化的技巧著墨甚多推荐读者们细究。其中Rich Booth及Intel的书籍侧重硬体结构介绍及软体配合之处朱邦复先生则著重程式技巧空间、时间考量兼具是程控极佳参考书籍。虽然书中以真实模式为例然有不少技巧发前人所未有迄今对x86组合语言程式师不但相当实用且极具启发深意。而Michael Abrash先生则自承他追求软体的执行效率甚於其他。因此他非常擅长以组合语言搭配硬体设备直接取得硬体的最佳支援。也因他对硬体的了解所撰程式执行效率奇快。有时为了讲解方便或跨平台起见他也搭配C语言来使用。这也是因为他的组合语言模组已成为类似驱动程式(driver),因此在搭配上相当容易。之后Michael Abrash转战动画、游戏领域也因为绘图引擎、显示模组、硬体驱动程式是他的专长投入动画领域颇相得益彰。以上诸位先生以Jeff、Michael、朱邦复三位先生较为亚洲读者熟知。朱邦复先生以发展中文电脑进入资讯界尔后又转战文化界、思想界成为华人世界熟知的『电脑怪杰』、『中文电脑之父』、『仓颉输入法之父』。而Jeff与Michael则为好友。他们自1985年的comdex fall订交以来,Jeff以PASCAL与ASSEMBLY称雄,Michael则靠C和ASSEMBLY闯出一番天地。Jeff后来成为专栏作家且以资讯技术分析见长,并以LINUX、PowerPC等专书闻名。Michael则在推出绘图黑皮书后,投入微软率领其XBOX小组欲向日本游戏机天王:任天堂、新力挑战。而Charles Petzold向以微软视窗程式大师闻名於世。但其另一本知名著作《Code -- the hidden language of computer hardware and software》,则未自限任何系统平台。在这本书中他详细阐述了数系、编码、微指令集编定、定址方式,并配合大量图形及简易之逻辑电路设计观念来解释电脑由无到有其及内部的基本运作模式。立论精辟解说清晰章节内容并不多且写法浅显亦懂。虽然总章数较多,却也能紧紧相扣其设定主旨是一本充实资讯背景知识的入门书籍。了解透彻后对资料设计、程式设计定当更上一层楼。至於李良猷所著的《资讯人的管理技能》属於资讯管理丛书,乍看之下与程式设计一点关系也没有。然而此书以资讯人而非程式师的立场,除了在管理技能上提供了诸多建言更因为作者深厚学识与涵养、丰富的实务经验,提供汲汲营营於指令、程式之间的程式师另一个广阔的角度来审视自己的工作,并积极地面对同一专案的同僚、上司甚至是使用者应有的正面态度。往往有许多程式师以技炫人、以术耀己内有一篇以程式师英文名称(PROGRAMMER)为十大要求之论值得推荐给读者。

Productivity,高生产力。
Relationship,人际关系。
Objective,目标导向。
Good program,好的程式。
Remarks,清晰注解。
Active,主动积极。
Management,管理意识。
Manual,文件手册。
Education,教育训练。
Reaction,反应迅捷。


程式师需具备高生产力并有良好的人际关系。正确的目标导向令其不致走偏,所以总能写出好而有用的程式。好而有用的程式便是具备完整清晰注解又符合使用者的需求。程式师积极又主动帮使用者解决问题具备敏锐的自我管理意识,又能撰写良好的文件手册、接受教育训练后又能训练后进以上历练令程式师养成迅捷无比的反应,这就是理想中的程式设计师。


表一、程式语言分类:

※高阶程式语言:
Ada
Moudla-2
FORTRAN
COBOL
Pascal
BASIC

※中阶程式语言:
C++
C
FORTH

※低阶程式语言:
ASSEMBLY
MACHINE LANGUAGE


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:22:28 17楼 举报

台湾同胞之cmd电脑情报贴:


IPB Image

‧DOS或cmd指令‧

1.开始---->运行---->输入CMD
2.输入C:>help或C:>Documents and Settingsxxxxxx>help
3.若需某特定指定的资讯,请键入 HELP 指令名称。


ASSOC 显示或修改关联的副档名。
AT 将命令或程式的执行加以排程。
ATTRIB 显示或变更档案属性。
BREAK 设定或清除延伸的 CTRL+C 检查。
CALL 呼叫其他的批次程式。
CACLS 显示或修改档案的存取控制清单 (ACL)。
CD 显示目前的目录名称或目录变更。
CHCP 显示或设定字码页号码。
CHDIR 显示目前的目录名称或目录变更。
CHKDSK 检查磁碟并显示磁碟状态。
CLS 清除萤幕。
CMD 启动新的 Windows 2000 指令直译器例项。
COLOR 设定预设主控台背景及前景颜色。
COMP 比较两个或两组档案的差异。
COMPACT 显示或变更在 NTFS 磁碟分割上的档案压缩。
CONVERT 将 FAT 磁区转换为 NTFS。您不能转换使用中的磁区。
COPY 将档案复制到其它位置。
DATE 显示或设定日期。
DEL 删除档案。
DIR 显示档案清单或子目录清单。
DISKCOMP 比较两个磁片的差异。
DISKCOPY 将磁片内容全部复制到另一张磁片。
DOSKEY 编辑命令列重新呼叫 Windows 2000 命令建立巨集。
ECHO 显示讯息启动或关闭 echo 功能。
ENDLOCAL 中止在批次档案中的地区设定变更。
ERASE 删除档案。
EXIT 結束CMD.EXE程式 (指令直译器)。
FC 比较两个或两组档案的差异,并显示结果。
FIND 搜寻档案中的文字或字串。
FINDSTR 搜寻档案中的字串。
FOR 为一组档案指定个别档案的执行命令。
FORMAT 格式化磁片以供 Windows 2000 使用。
FTYPE 显示或修改副档名关联的档案类型。
GOTO 指示 Windows 2000 指令直译器,跳到有标示的指令行执行。
GRAFTABL 让 Windows 2000 在图形介面能够显示扩充字元集。
HELP 提供 Windows 2000 指令的说明资讯。
IF 执行逻辑判断式。
LABEL 建立、变更或删除磁碟标签。
MD 建立目录。
MKDIR 建立目录。
MODE 设定系统装置。
MORE 设定萤幕显示一页后暂停。
MOVE 将档案从目前的位置移动到同一磁碟中的其他目录。
PATH 显示或设定执行档的搜寻目录。
PAUSE 暂停批次档案处理并显示讯息。
POPD 还原先前经由 PUSHD 储存的的现用目录设定值。
PRINT 列印文字档案。
PROMPT 变更 Windows 2000 命令提示字元。
PUSHD 储存现用目录,然后修改它。
RD 移除目录。
RECOVER 恢复损坏磁碟的唯读资讯。
REM 批次档或 CONFIG.SYS 中的备注标记。
REN 重新命名档案。
RENAME 重新命名档案。
REPLACE 取代档案。
RMDIR 移除目录。
SET 显示、设定或移除 Windows 2000 环境变数。
SETLOCAL 启始批次档中地区设定的变更。
SHIFT 移动批次档中可取代参数的位置。
SORT 排序输入项目。
START 启动一个独立的视窗以执行指定程式或命令。
SUBST 将路径对应到磁碟代号。
TIME 显示或设定系统时间。
TITLE 设定 CMD.EXE 工作阶段的视窗标题。
TREE 以图形显示磁碟目录结构。
TYPE 显示文字档的内容。
VER 显示 Windows 2000 版本编号。
VERIFY 告诉 Windows 2000 是否要检查档案写入磁碟的正确性。
VOL 显示磁碟标签及序号。
XCOPY 复制档案及目录结构。

D:>attrib /?
显示或变更档案属性。
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [ [drive:] [path] filename ] [/S [/D] ]


+ 设定属性。
- 清除属性。
R 唯读档案属性。
A 保存档案属性。
S 系统档案属性。
H 隐藏档案属性。
/S 处理目前的资料夹及所有子资料夹中相符的档案。
/D 一并处理资料夹。

======================================================================================================
D:>cd /?
显示目前工作目录的名称或是变更目录。
CHDIR [/D] [drive:][path]
CHDIR [..]
CD [/D] [drive:][path]
CD [..]
.. 指定变更到父系目录。


键入 CD drive: 即可显示指定磁碟机的目前工作目录。
仅键入 CD 而不加参数,即可显示目前的磁碟机和目录。
使用 /D 指令参数可以同时变更工作磁碟机及其工作目录。

如果您启用扩充指令CHDIR的变更如下:
目前的目录字串会被转换成与磁碟上名称相同大小写的字串。所以如果磁碟
上的目录是 C:Temp 的话,CD C:TEMP 命令实际上会转换为 CD C:Temp。

CHDIR命令不会将空格当成分隔字元,所以如果您要切换到含有空格字元
的目录时就算您不使用引号来括住目录名称也一样可以用 CD 指令切
换到该目录。
[color=blue]例如:
cd winntprofilesusernameprogramsstart menu
就相等於:
cd "winntprofilesusernameprogramsstart menu"
如果您停用扩充指令,就必须输入前一种指令。

======================================================================================================
D:>chkdsk /?
检查磁碟并显示状态报告。
CHKDSK [磁碟机[[路径]档名]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:大小]]


volume 指定磁碟机代号 (后接冒号),连接点或磁碟区名称。
filename 只能用在 FAT: 指定要进行分散程度检查的档案。
/F 修复磁片上的错误。
/V FAT/FAT32 模式: 显示磁碟上每个档案的完整路径及名称。
NTFS 模式: 如果有清除的讯息,也一并显示。
/R 找出损坏的磁扇区并复原可读取的资讯。(包含 /F)。
/L:size 只适用於 NTFS 模式: 将记录档大小变更为指定的 KB
数值。如果没有指定记录档大小,就显示目前的大小。
/X 如果必须的话,强制先解下磁碟区。所有在
磁碟区上开启的控制代码都会失效 (包含 /F)。
/I 只适用於 NTFS 模式: 不检查索引项目。
/C只适用於 NTFS 模式: 跳过资料夹结构的循环检查。
使用 /I 或 /C 参数跳过某些磁碟区检查,可以在执行Chkdsk 时减少检查时间。

====================================================================================================== D:>cls /?
清除萤幕。
CLS

====================================================================================================== D:>cmd /?
启动 Windows 2000 指令直译器新例项
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF] [[/S] [/C | /K] string]


/C 执行字串中所描述的指令然后结束指令视窗
/K 执行字串中所描述的指令然后保留指令视窗
/S 修改字串在 /C 或 /K (參看下方)
/Q 关闭 echo
/D 从注册表中停用 AutoRun 指令(參看下方)
/A 将内部指令输出结果以 ANSI 格式导向 pipe 或档案
/U 将内部指令输出结果以 Unicode 格式导向 pipe或档案
/T:fg 设定幕前/幕后色彩 (參看 COLOR /?)
/E:ON 启用指令延伸 (參看下方)
/E:OFF 停用指令延伸 (參看下方)
/F:ON 启用档案及目录名称完整字元(參看下方)
/F:OFF 停用档案及目录名称完整字元(參看下方)
/V:ON 启用延迟环境变数延伸,用 c 作为分隔字元。例如, /V:ON
可以让 !var! 在执行时展开变数 var。文法 var 则会在输入时
展开变数,这在 FOR 回圈之中是完全不同的事。
/V:OFF 停用延迟环境变数展开
请注意用命令分隔字元 '&&&&' 隔開的多個命令
如果被引号包含时则会被当成字串来接受。此外,为了相容性的原因,/X
的作用与 /E:ON 相同; /Y 与 /E:OFF 相同且 /R 与/C 相同。其余的参数
则会被忽略。
如果指定了/C 或 /K,则在参数后的其余命令列会被当成命令列来处理,其
中使用下面的逻辑来处理引号字元 (") :


1. 如果所有下列条件都符合,那麼指令列上的引号会被保留:
- 没有 /S 参数
- 正好有两个引号
- 在两个引号之间没有下列
特殊字元: <>()@^|
- 两个引号之间有一些空格
- 在两个引号之间的字串是执行档的档案名称。

2. 否则,如果第一个字元是引号,旧的指令行为会把前置字元去掉,并
将指令列中第一个引号及最后一个引号之间的所有文字便成保留文字。
(&<如果您在指令行中未指定 /D,当 CMD.EXE 起动后,它会寻找下列 REG_SZ/REG_EXPAND_SZ的注册表变数。如果有一个存在或两个都存在,
指令会执行第一个变数。
HKEY_LOCAL_MACHINESoftwareMicrosoftCommandProcessorAutoRun
及/或
HKEY_CURRENT_USERSoftwareMicrosoftCommandProcessorAutoRun
将指令扩充功能预设成启用状态。您可以在特定的
呼叫中,用 /E:OFF 参数来停用扩充功能。
您可以启用或停用一台电脑上或使用者登入工作阶段中所有
CMD.EXE 呼叫的扩充功能,如果您要这样作,
请使用 REGEDT32.EXE 来设定以下的 REG_DWORD 值:
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorEnableExtensions
及/或
HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorEnableExtensions
到 0x1 或 0x0。 使用者指定设定的执行优先权高於电脑上的设定。指令行
参数的执行优先权高於登录中的设定值。


扩充指令包括下列指令的变更及(或)新增:

DEL or ERASE
COLOR
CD or CHDIR
MD or MKDIR
PROMPT
PUSHD
POPD
SET
SETLOCAL
ENDLOCAL
IF
FOR
CALL
SHIFT
GOTO
START (也包括援用外部指令之变更)
ASSOC
FTYPE
请键入 HELP 指令名称以查阅说明。


预设状态下不会启用延迟环境变数扩充。您可以使用 /V:ON 或 /V:OFF 参数在执行CMD.EXE 时启用或停用完整档案名称。您也可以用REGEDT32.EXE 來修改以下REG_DWORD 值,来启用或停用整个电脑上或使用者登入工作阶段中所有 CMD.EXE 的档案名称完整功能:
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorDelayedExpansion
及/或
HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorDelayedExpansion
其值可为 0x1 或 0x0。使用者登录指定会比电脑设定优先使用。而指令行参数又会比登录设定值更优先使用。如果已启用延迟环境变数扩充,惊叹号字元会在执行时被用来取代环境变数值。预设无法启用档案和目录名称完成。 您可以為特定的 CMD.EXE 呼叫,以/F:ON 或 /F:OFF 开关启用或停用档案名称完成。 您可以启用或停用在同一部电脑上所有 CMD.EXE 的呼叫完成及/或使用者登入工作阶段。方法是使用 REGEDT32.EXE 设定其一或两者注册表中的 REG_DWORD 值:
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorCompletionChar
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorPathCompletionChar
及/或
HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorCompletionChar
HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorPathCompletionChar
用於特定功能的控制字元十六进位值 (例如 0x4 是 Ctrl-D ; 0x6 是 Ctrl-F)。使用者特定设定优先於电脑设定,指令行开关也优先於注册表设定。如果以 /F:ON 开关启用完成,则用於目录名称完成的控制字元是 Ctrl-D 而用於档案名称完成的控制字元是 Ctrl-F。如果您要停用在注册表中的特定完成字元,请使用空间值 (0x20),因为它不是正确的控制字元。当您键入其中一个控制字元后,完成功能会被启动。如果路径字串已存在而且所建立的路径清单也符合的话,完成函数会读取到指标所在左方为止的路径字串。然后它会显示第一个符合的路径。如果找不到符合的路径,它会发出哔声并保留显示。如果您重覆按相同的控制字元,它将在符合的路径清单中循环执行。如果您同时按下 Shift 键与控制字元,可在清单中反向移动。如果您进行编辑后再按控制字元的话,已储存的符合路径清单会被丢弃,并建立新的清单。如果您在档案及目录完成功能之间切换会有同样的情况发生。这两个控制字元不同之处是:档案完成字元可同时对应档案及目录名称,而目录完成字元只能对应目录名称。如果您将档案完成功能用在内建目录命令上 (CD,MD 或 RD) 也等於使用了目录完成功能。如果您在路径字串两端加上引号,完成功能键就可正确处理包含空格或其他特殊字元的档案名称。还有,如果您备份后,又在指令行中呼叫完成功能的话,已呼叫过完成功能的指标右方的文字会被丢弃。

====================================================================================================== D:>comp /?
比较两个档案或两组档案的内容。
COMP [data1] [data2] [/D] [/A] [/L] [/N=number] [/C]


data1 指定第一个或第一组要比较的档案的位置与档名。
data2 指定第二个或第二组要比较的档案的位置与档名。
/D 以十进位格式来显示不同之处。
/A 以 ASCII 字元来显示不同之处。
/L 显示不同之处的行号。
/N=number 只比较每个档案中第一个指定的行号。
/C 比较档案时忽略 ASCII 字母的大小写。
要比较一组档案,请在 data1 和 data2 参数中使用万用字元。

====================================================================================================== D:>copy /?
将一些档案复制到另一个位置。
COPY [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]


source 指定要复制的档案。
/A 指定一个 ASCII 文字档案。
/B 指定一個二位元档案。
destination 为新档案指定目录及(或) 档案名称。
/V 确认新档案是否正确写入。
/N 使用短档名来复制非 8.3 名称的档案(如果可用的话)。
/Y 不显示覆写现存目的档案的确认提示。
/-Y 显示覆写现存目的档案的确认提示。
/Z 在可重新启动模式中复制网路档案。
参数 /Y 可以预先设定在 COPYCMD 环境变数中。
这可能会覆写指令行中的 /-Y。 预设值是显示覆写确认提示,除非
COPY指令是从批次档中执行。
如果要附加档案,指定一个目的档案,及数个
来源档案 (使用万用字元或 file1+file2+file3 格式)。

====================================================================================================== D:>date /?
显示或设定日期。
DATE [/T | date]


只键入 DATE 而不加上参数,可以显示目前设定的日期,并且提示您输入新
的日期。按 ENTER 键即可保持原来日期。
如果您启用扩充指令,DATE 指令会支援 /T 参数,这个参数
会让指令只输出目前的日期,而不提示您输入新日期。

====================================================================================================== D:>del /?
删除一个或更多档案。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names


names 指定一个或更多档案或目录清单。可以使用万用字元来删除多个档案。如果指定目录,这个目录内的所有档案将被删除。
/P 删除每个档案前,先提示确认。
/F 强制删除唯读档案。
/S 由所有子目录删除指定的档案。
/Q 安静模式,不要问是否确定删除全域万用字元
/A 根据属性选取要删除的档案
attributes R 唯读档案 S 系统档案
H 隐藏档案 A 准备保存的档案
- 首码表示不是
如果您启用扩充指令,DEL 和 ERASE 指令的变更如下:
/S 参数的显示方式完全相反,它只会显示已删除的档案,不会显示它找不
到的档案。

====================================================================================================== D:>dir /?
显示档案清单以列出目录中的档案及子目录。
DIR [drive:][path][filename] [/A[[:]attributes]] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename]


指定要显示的磁碟机、目录或档案。
/A 依照指定的档案属性来显示档案。
attributes D 目录 R 唯读档
H 隐藏档 A 保存档
S 系统档案 - 无意义
/B 使用单纯格式 (没有标头资讯或摘要)。
/C 显示档案大小千位数分隔符号。这是预设值。
使用 /-C 来停用分隔符号的显示。
/D 与宽的列表格式相同,但是依照栏来排序。
/L 使用小写显示。
/N 使用新的长列表格式,档名会显示在最右方。
/O 依照指定的排序顺序来列出档案。
sortorder N 依名称 (英文字母) S 依大小 (最小的在前)
E 依副档名 (英文字母) D 依照日期与时间 (日期较早的
在前)
G 先列出子目录 - 表示相反的顺序
/P 当资料填满整个萤幕时暂停显示。
/Q 显示档案拥有人。
/S 显示指定目录及所有子目录中的档案。
/T 指定用来显示或排序的时间栏位
timefield C 建立
A 上次档案存取时间
W 上次寫入档案时间
/W 使用宽的列表格式。
/X 显示对非 8.3 格式的档案产生的短档名。这个格式和 /N
相同,但是短档名会插入在长档名之前。 如果没有长档
名存在,该处会显示空白。
/4 显示四位数的年份
参数可能会在 DIRCMD 环境变数预先设定。您可以在任何参数使用连字号
字首(-)来覆盖预先的设定--例如: /-W。

====================================================================================================== D:>doskey /?
编辑指令列,叫回 Windows 2000 指令,及建立巨集。
DOSKEY [/REINSTALL] [/LISTSIZE=size] [/MACROS[:ALL | :exename]]
[/HISTORY] [/INSERT | /OVERSTRIKE] [/EXENAME=exename]
[/MACROFILE=filename][macroname=[text]]


/REINSTALL 安裝另一份 Doskey。
/LISTSIZE=size 设定指令历程缓冲区的大小。
/MACROS 显示所有的 Doskey 巨集。
/MACROS:ALL 显示所有执行档中含有 Doskey 巨集的
Doskey 巨集。
/MACROS:exename 显示指定的执行档中的所有 Doskey 巨集。
/HISTORY 显示存在记忆体中的所有指令。
/INSERT 指定您所键入的新文字插入在旧的文字中。
/OVERSTRIKE 指定您所键入的新文字覆盖旧的文字。
/EXENAME=exename 指定执行档。
/MACROFILE=filename 指定要安装的巨集档案。
macroname 为您建立的巨集指定名称。
text 指定您要记录的指令。
向上与向下键 叫回以前的指令; ESC 清除指令列;
F7 显示指令历程; ALT+F7 清除指令历程; F8 寻找指令历程;
F9 以号码选择指令; ALT+F10 清除巨集定义以下是在 Doskey 巨集定义中的特殊码:
$T 指令分隔字元。允许在一个巨集中使用多个指令。
$1-$9 批次檔參數。相當於批次檔中的 %1 到 %9。
$* 這個符號代表在指令行中巨集名稱後的所有文字。

====================================================================================================== D:>echo /?

显示讯息或切换指令回应的开启状态。
ECHO [ON | OFF]
ECHO [message]
仅键入 ECHO 而不加上参数,可以显示目前的 ECHO 设定。

====================================================================================================== D:>exit /?

结束 CMD.EXE 程式 (指令直译器) 或目前的批次档。
EXIT [/B] [exitCode]
/B 指定这个参数来结束目前批次档而不是 CMD.EXE。
如果是由批次档之外执行,CMD.EXE将会结束。
exitCode 指定一个数字。如果指定 /B,则设定 ERRORLEVEL为这个
数字。如果结束 CMD.EXE,设定程序结束码为这个数字。

====================================================================================================== D:>fc /?
比较两个档案或两组档案并且显示其中的不同之处
FC [/A] [/C] [/L] [/LBn] [/N] [/T] [/U] [/W] [/nnnn] [drive1:][path1]filename1
[drive2:][path2]filename2
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2


/A 针对每组不同之处只要显示其中的第一行和最后一行。
/B 使用二进位的内容比较。
/C 忽略字母的大小写。
/L 以 ASCII 文字档案方式来比较档案。
/LBn 在指定的行数中设定容许的最多连续的档案不相符。
/N 在 ASCII 方式的比较中显示行数。
/T 不要将定位字元展开为空格。
/U 以 UNICODE 文字档案方式来比较档案。
/W 将空白字元 (定位字元和空格) 压缩后再进行比较。
/nnnn 指定在一处不相同之后必须相同的连续行数。

====================================================================================================== D:>find /?
搜寻档案中的文字字串。
FIND [/V] [/C] [/N] [/I] "string" [[drive:][path]filename[ ...]]


/V 显示所有不包含指定字串的行。
/C 只显示包含字串的行数。
/N 显示每一行及它的行号。
/I 当搜寻字串时,忽略字元的大小写。
"string" 指定要寻找的文字字串。
[drive:][path]filename
指定要寻找的档案。
如果没有指定路径,FIND 会搜寻在提示字元中所输入的文字
或者在其它的命令中搜寻。

====================================================================================================== D:>findstr /?
在档案中搜寻字串。
FINDSTR [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
[/C:string] [/G:file] [strings] [[drive:][path]filename[ ...]]


/B 如果是在行的开端,则符合类型。
/E 如果是在行的尾端,则符合类型。
/L 逐字使用搜寻字串。
/R 使用搜寻字串为一般表示式。
/S 在现存目录及所有的子目录中搜寻符合的档案。
/I 指定搜寻不区分大小写。
/X 列印完全符合的行数。
/V 只列印不含相符字串的行数。
/N 列印每一行符合的行数前的行编号。
/M 只列印包含相符字串的档案的档案名称。
/O 列印每一个相符行之前的字元位移。
/P 略过没有可列印字元的档案。
/F:file 从指定的档案读取档案清单 (/ 代表主控台)。
/C:string 使用特定的字串作为逐字搜寻的字串。
/G:file 从指定的档案取得搜寻字串(/ 代表主控台)。
strings 要搜寻的文字。
[drive:][path]filename
指定要搜寻的一个或多个档案。
除非引数的字首有 /C ,否则请以空格将多重搜寻字串分开。例如,
'FINDSTR "hello there" x.y' 将会在档案 x.y 中搜寻 "hello",或"there"。
'FINDSTR /C:"hello there" x.y' 将会在档案 x.y 中搜寻"hello there"。
有关 FINDSTR 一般表示式的资讯,请参阅连线指令参照。

====================================================================================================== D:>format /?
格式化磁片以供 Windows 2000 使用。
FORMAT 磁碟机 [/FS:档案-系统] [/V:标签] [/Q] [/A:大小] [/C] [/X]
FORMAT 磁碟机 [/V:标签] [/Q] [/F:大小]
FORMAT 磁碟机 [/V:标签] [/Q] [/T:磁轨 /N:磁扇区]
FORMAT 磁碟机 [/V:标签] [/Q] [/1] [/4]
FORMAT volume [/Q] [/1] [/4] [/8]


volume 指定磁碟机代号 (后接冒号),连接点或磁碟区名称。
/FS:filesystem 指定档案系统的类型 (FAT、FAT32 或 NTFS)。
/V:label 指定磁碟区标记。
/Q 执行快速格式化。
/C 建立在新磁碟区上的档案会自动压缩。
/X 视需要先将磁碟区解下。
所有在磁碟区上开启的控制码都不再是正确的。
/A:size 覆写预设的配置单位大小。建议在一般使用时,最好使用预设设定。
NTFS 支援 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K。
FAT 支援 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K,
(128K, 256K 供磁碟区容量 > 512 位元组使用)。
FAT32 支援 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K,
(128K, 256K 供磁扇区容量 > 512 位元组使用)。
请注意 FAT 及 FAT32 档案系统在磁碟区的丛集数目上強制下列的限制:
FAT: 丛集数目 <= 65526
FAT32: 65526 < 丛集数目 < 268435446
如果格式化发现使用指定的丛集大小无法符合上面的要求,格式化将会自动停止执行。
NTFS 压缩不支援大小大於 4096 的配置单位。
/F:size 指定要格式化的软碟大小 (160,
180, 320, 360, 640, 720, 1.2, 1.23, 1.44, 2.88, 或 20..
/T:tracks 为磁片各面指定磁轨数量。
/N:sectors 指定各条磁轨的磁碟区数量。
/1 格式化单面的软式磁片。
/4 在高密度磁碟机内格式化 5.25 吋 360K软式磁片。
/8 每条磁轨格式化八个磁碟区。

====================================================================================================== D:>help /?

提供 Windows 2000 指令的说明讯息。
HELP [command]
command - 显示该指令的说明讯息。

====================================================================================================== D:>md /?
建立目录。
MKDIR [drive:]path
MD [drive:]path


如果您启用扩充指令,MKDIR 的变更如下:
必要时,MKDIR 会在目录中建立一个中间目录。
例如,假设 a 不存在,则:
mkdir abcd
相同於:
mkdir a
chdir a
mkdir b
chdir b
mkdir c
chdir c
mkdir d
如果扩充功能停用的话,您必须键入前一种指令类型。

====================================================================================================== D:>mkdir /?
建立目录。
MKDIR [drive:]path
MD [drive:]path


如果您启用扩充指令,MKDIR 的变更如下:
必要时,MKDIR 会在目录中建立一个中间目录。
例如,假设 a 不存在,则:
mkdir abcd
相同於:
mkdir a
chdir a
mkdir b
chdir b
mkdir c
chdir c
mkdir d
如果扩充功能停用的话,您必须键入前一种指令类型。

====================================================================================================== D:>more /?
以一次一页萤幕的方式来显示输出。
MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]


[drive:][path]filename 指定要显示的档案。档案会以一次一页萤幕的方式显示。
command-name 指定一个命令,而它的输出将会以一次一页萤幕的方式显示。
/E 启用扩充功能。
/C 在显示一页之前先清除萤幕。
/P 展开 FormFeed 字元。
/S 将数个空白行显示为一行。
/Tn 将定位字元展开为 n 个空白 (预设值为
MORE 环境变数中可以有指令选项
+n 在第 n 行开始显示第一个档案。
files 要显示的档案清单。在清单中的档案用空格分开。
如果您使用了扩充功能,您可以在 --> 其它 -->提示出现时,使用下列命令:
P n 显示下面 n 行
S n 跳过下面 n 行
F 显示下一个档案
Q 结束
= 显示行号
? 显示辅助说明行
<space> 显示下一页
<ret> 显示下一行

====================================================================================================== D:>move /?
移动或更改档案及目录的名称。
移动一个或一个以上的档案:
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination
更改目录名称:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2


[drive:][path]filename1 指定您要移动的档案的位置与名称。
destination 指定档案的新位置。目的位置可以包含磁碟机字元和冒号、目录名称、或是这些的组合。如果您只移动一个档案,您也可以包含档名。这样做会在移动的同时更改档名。
[drive:][path]dirname1 指定您要更改名称的目录。
dirname2 指定目录的新名称。
/Y 不要提示您是否要覆盖一个现存的目的档案。
/-Y 提示您是否要覆盖一个现存的目的档案。
参数 /Y 可能会在 COPYCMD 环境变数中预先设定。您可以在指令行中
使用 /-Y 来覆盖预设值。预设值是除非 MOVE 命令是在批次档中执行,
否则系统会提示您是否要覆写现有档案。

====================================================================================================== D:>path /?
显示或设定搜寻执行档的路径。
PATH [[drive:]path[;...][;%PATH%]
PATH ;


键入PATH ; 即可清除所有搜寻路径的设定,并将 cmd.exe 重导为只搜寻
目前的目录。键入 PATH 且不指定任何参数,可显示目前的搜寻路径。
在设定的新路径中加上 %PATH%,可以将旧路径附加到新的设定。

====================================================================================================== D:>rd /?
移除 (删除) 一个目录。
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path


/S 除了目录本身之外,一并移除指定目录里的所有目录和档案。
用於移除树状目录结构。
/Q 安静模式,有 /S 时,删除目录树结构不再要求确认

====================================================================================================== D:>ren /?
更改档案名称。
RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.


请注意您不能为目的档案指定新的磁碟机或路径。
====================================================================================================== D:>replace /?
取代档案。
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]


[drive1:][path1]filename 指定来源档案。
[drive2:][path2] 指定要取代的档案的目录。
/A 将新档案加到目地目录。不能和/S或/U参数同时使用。
/P 当取代档案或新增来源档案时显示确认的提示。
/R 取代唯读与未受保护的档案。
/S 取代在目的目录中所有子目录的档案。不能和 /A 参数同时使用。
/W 在开始前等待您放入磁片。
/U 只取代 (更新) 比来源档案早的档案。不能和 /A 参数同时使用。

====================================================================================================== D:>time /?
显示或设定系统时间。
TIME [/T | time]


仅键入TIME 而不加上参数,可以显示目前设定的时间,并且提示您输入
新的时间。按 ENTER 键即可保持原来时间。
如果您启用扩充指令,TIME 指令将会支援/T 参数,这个参数会让指令只输出目前的时间,而不提示您输入新时间。

====================================================================================================== D:>tree /?
以图形显示磁碟机或路径的资料夹架构。
TREE [drive:][path] [/F] [/A]


/F 显示各资料夹中档案的名称。
/A 使用 ASCII 取代延伸字元。

====================================================================================================== D:>type /?
显示文字档案的内容。
TYPE [drive:][path]filename

====================================================================================================== D:>ver /?
显示 Windows 2000 版本。
VER

====================================================================================================== D:>vol /?
显示磁碟区标签和序号 (若有的话)。
VOL [drive:]

====================================================================================================== D:>xcopy /?
复制档案和树状目录。
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/H] [/R] [/T] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]rn
[/EXCLUDE:file1[+file2][+file3]...]


source 指定要复制的档案。
destination 指定位置或者/以及新档案的名称。
/A 只复制设定成保存属性的档案,不要改变属性的设定。
/M 只复制设定成保存属性的档案,并清除保存属性。
/D:m-d-y 复制在指定日期当天或之后发生变更的档案。如果没有给日期,只复制那些来源档案日期比目的档案日期为新的档案。
/EXCLUDE:file1[+file2][+file3]...
指定档案清单字串。如果有字串对应到要进行复制的档案绝对路径的任何部分,这个档案会被排除复制。例如,指定
字串obj 或 .obj 的话,会排除所有在 obj 目录下副档名是.obj 的档案复制。
/P 在建立每个目的档案时显示提示。
/S 复制每个目录及其包含的子目录,不复制空目录。
/E 复制每个目录及其包含的子目录,也复制空目录。
/S 與 /E相同,能够用来修改 /T。
/V 验证每个新档案。
/W 在复制之前提示您按键继续。
/C 如果错误发生时也继续复制。
/I 如果目的不存在且复制一个以上的档案的话,就假设指定的目的一定是目录。
/Q 在复制时不要显示档名。
/F 在复制时显示来源及目的档案的全部档名。
/L 显示要复制的档案。
/H 时复制隐藏档和系统档。
/R 覆盖唯读档案。
/T 建立目录结构,但不复制其中的档案。不包括空目录及子目錄。
/T /E 会包括空目录及子目录。
/U 只复制已经存在目的位置的档案。
/K 复制档案属性。通常 Xcopy 会重设唯读的属性。
/N 用所产生的短档名来进行复制。
/O 复制档案所有权及 ACL 资讯。
/X 复制档案审查设定 (包含 /O)。
/Y 不要提示您确认是否要覆盖一个已经存在的档案。
/-Y 显示您确认是否要覆盖一个已经存在的档案。
/Z 在可重新开始的模式中复制网路档案。
参数 /Y 可以在 COPYCMD 环境变数中预先设定。但可以在指令行中用
/-Y 参数来覆盖原有设定。


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:24:26 18楼 举报

cmd对话框中Debug指令学习贴


IPB Image

一、DEBUG的主要指令:

点击开始-->点运行-->在运行对话框中输入cmd-->在输入debug


1、显示存储单元的指令D(DUMP)格式为:_D[address]或_D[range]

例如按指定范围显示存储单元内容的方法为:
-d100 120
18E4:0100 c7 06 04 02 38 01 c7 06-06 02 00 02 c7 06 08 02 G...8.G.....G...
18E$:0110 02 02 bb 04 02 e8 02 00-CD 20 50 51 56 57 8B 37 ..;..h..M PQVW.7
18E4:0120 8B

其中0100至0120是DEBUG显示的单元内容,左边用十六进位表示每个位元群组,右边用ASCII字元表示每个位元群组,. 表示不可显示的字元。这里没有指定段位址,D指令自动显示DS段的内容。如果只指定首位址则显示从首位址开始的80个位元群组的内容。如果完全没有指定位址则显示上一个D指令显示的最后一个单元后的内容。


2、修改存储单元内容的指令有两种。

☆输入指令E(ENTER)有两种格式如下:
第一种格式可以用给定的内容表来替代指定范围的存储单元内容。指令格式为:
-E address [list]
例如:-E DS:100 F3'XYZ'8D
其中F3,'X','Y','Z'和各占一个位元群组,该指令可以用这五个位元群组来替代存储单元DS:0100到0104的原先的內容。


第二种格式则是采用逐个单元相继修改的方法。指令格式为:
-E address
例如:-E DS:100
则可能显示为:
18E4:0100 89.-
如果需要把该单元的内容修改为78,则使用者可以直接键入78,再按"空格"键可接著显示下一個單元的內容,如下:
18E4:0100 89.78 1B.-
这样使用者可以不断修改相继单元的内容直到用ENTER键结束该指令为止。


☆填写指令F(FILL)其格式为:
-F range list
例如:-F 4BA:0100 5 F3'XYZ'8D
使04BA:0100~0104单元内含特殊的五个位元群组的内容。若果list中的位元群组数超过特殊的范围,则忽略超过的项;若果list的位元群组数小於特殊的范围,则重复使用list填入,直到填满特殊的所有单元為止。



3、检查和修改寄存器内容的指令R(register)它有三种格式如下:

☆显示CPU内所有寄存器内容和标志位状态其格式为:
-R
例如:-r
AX=0000 BX=0000 CX=010A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=18E4 ES=18E4 SS=18E4 CS=18E4 IP=0100 NV UP DI PL NZ NA PO NC
18E4:0100 C70604023801 MOV WORD PTR [0204],0138 DS:0204=0000


☆显示和修改某个寄存器内容其格式为:
-R register name
例如:键入-R AX
系统将响应如下:
AX F1F4

即AX寄存器的目前内容为F1F4,如不修改则按ENTER键、否则可键入欲修改的内容,如:
-R bx
BX 0369
:059F
则把BX寄存器的内容修改为059F。


☆显示和修改标志位状态指令格式为:
-RF系统将响应,如:
OV DN EI NG ZR AC PE CY-
此时如不修改其内容可按ENTER键,否则可键入欲修改的内容如:
OV DN EI NG ZR AC PE CY-PONZDINV
即可,可见键入的顺序可以是任意的。


4、执行指令G其格式为:

-G[=address1][address2[address3…]]
其中位址1指定了执行的起始位址,如不指定则从目前的CS:IP开始执行。后面的位址均为断点位址,当指令执行到断点时,就停止执行并显示目前所有寄存器及标志位的内容,和下一笔将要执行的指令。


5、追踪指令T(Trace)有两种格式:

☆逐條指令追蹤:
-T [=address]
从指定位址起执行一条指令后停下来,显示所有寄存器内容及标志位的值。如未指定位址则从目前的CS:IP开始执行。

☆多条指令追踪:
-T [=address][value]
从指定位址起执行n条指令后停下来,n由value指定。


6、汇编指令A(Assemble)其格式为:

-A[address]
该指令容许键入汇编语系语句,并能把它们汇编成机器代码,相继地存放在从指定位址开始的存储区中。必须注意:DEBUG把键入的数字均看成十六进位数,所以如要键入十进位数,则其后应加以说明,如100D。


7、反汇编指令U(Unassemble)有两种格式。

☆从指定位址开始反汇编32个位元群组其格式为:
-U[address]
例如:
-u100
18E4:0100 C70604023801 MOV WORD PTR[0204],0138
18E4:0106 C70606020002 MOV WORD PTR[0206],0200
18E4:010C C70606020202 MOV WORD PTR[0208],0202
18E4:0112 BBO4O2 MOV BX,0204
18E4:0115 E80200 CALL 011A
18E4:0118 CD20 INT 20
18E4:011A 50 PUSH AX
18E4:011B 51 PUSH CX
18E4:011C 56 PUSH SI
18E4:011D 57 PUSH DI
18E4:011E 8B37 MOV SI,[BX]
若果位址被省略,则从上一个U指令的最后一条指令的下一个单元开始显示32个位元群组。

☆对指定范围内的存储单元进行反汇编,格式为:
-U[range]
例如:
-u100 10c
18E4:0100 C70604023801 MOV WORD PTR[0204],0138
18E4:0106 C70606020002 MOV WORD PTR[0206],0200
18E4:010C C70606020202 MOV WORD PTR[0208],0202

-u100 112
18E4:0100 C70604023801 MOV WORD PTR[0204],0138
18E4:0106 C70606020002 MOV WORD PTR[0206],0200
18E4:010C C70606020202 MOV WORD PTR[0208],0202
可见这两种格式是等效的。


8、命名指令N(Name)其格式为:

-N filespecs [filespecs]
指令把两个档案标识符格式化在CS:5CH和CS:6CH的两个档案控制块中以便在其后用L或W指令把档案装入存盘。filespecs的格式可以是:
[d:][path] filename[.ext]
例如:
-N myprog
-L
可把档案myprog装入存储器。


9、装入指令(Load)有两种功能。

☆把磁碟上指定扇区范围的内容装入到存储器从指定位址开始的区域中。其格式为:
-L[address[drive sector sector]

☆装入指定档案其格式为:
-L[address]
此指令装入已在CS:5CH中格式化了档案控制块所特殊的档案。如未指定位址则装入
CS:0100开始的存储区中。


10、写指令W(Write)有两种功能。

☆把资料写入磁碟的指定扇区。其格式为:
-W address drive sector sector
☆把资料写入特殊的档案中。其格式为:
-W[address]
此指令把特殊的存储区中的资料写入由CS:5CH处的档案控制块所特殊的档案中。如未指定位址则资料从CS:0100开始。要写入档案的位元群组数应先放入BX和CX中。


11、离开DEBUG指令Q(Quit)其格式为:
-Q
它离开DEBUG、返回DOS。本指令并无存盘功能,如需存盘应先使用W指令。

==========================================================================
问题:初学者问一个低级问题,执行debug-a后如果有一行输入错误,如何变更这一行?

回答:加入进行如下输入

D:\PWIN95\Desktop>debug
-a
2129:0100movax,200
2129:0103movbx,200
2129:0106movcx,200
2129:0109

此时发现movbx,200一句错误,应为movbx,20可以敲Enter返回"-"状态然后输入:
-a103
2129:0103movbx,20
如果是多或是少若干行不必重新输入、可以用M指令移动后面的程式来去掉或是增加程式空間。



问题:如何除错和汇编你的第一个PC x86汇编语系程式呢?

回答:以下这些简单的解释可以让一个汇编语系新手使用DEBUG

00) 在使用时如何快速获得debug的使用帮助呢?
01) 让我们开始工作吧例如:显示BIOS的日期。
02) 在你的电脑的COMMANG.COM档案里搜寻"IBM"这几个字元。
03) 一位十六进位数的运算。
04) 检查x86寄存器内容。
05) 我们来编写我们的第一个用机械语系编写的程式-列印一个字元。
06) 我们现在用汇编语系指令来做和例5一样的事情。
07) 现在,我们不但要编写一个汇写程式式,而且我们还要把它存盘。
08) 现在,我们试一试检视一个已经编好的程式。
09) 你可以用DEBUG的计算功能计算程式的长度。
10) 另一种显示在萤幕上字串的方法。
11) 让我们试一试反覆输出。
12) 我们现在把两个程式连线起来。
13) 让我们逐步执行这个刚刚修补的程式。
14) 如果一开始的指令不是跳转指令那麼可能就要用这种方法了。


以下所有的指令都是可以执行在WIN98/ME/2000/XP/2003的MS-DOS或CMD模式下的。进入MS-DOS或CMD的模式有:

[开始][程式][MS-DOS模式]
[开始][运行][开启]CMD[确定]
或是你可以按两下它:
C:WindowsCommand.com



00) 在使用时,如何快速获得debug的使用帮助呢?

以下PROMPT>表示目录提示符:一般为:C:WINDOWSCOMMAND

PROMPT> DEBUG /?<按Enterpress the enter key now>
怎样?出错了吧。显示如下:
C:WINDOWS>DEBUG/?
Runs Debug, a program testing and editing tool.
DEBUG [[drive:][path]filename [testfile-parameters]]
[drive:][path]filename Specifies the file you want to test.
testfile-parameters Specifies command-line information required by
the file you want to test.
After Debug starts, type ? to display a list of debugging commands.
因为错了所以它给你显示一些提示。留意到最后一句了吗?

现在我们再来试一试:

PROMPT> DEBUG<按Enter> (注意, DEBUG程式的指令是在一条横线"-"后出现的。)-?<在出现的横线后面输入?再Enter>(下面的内容是按字母顺序排序的)(注意:Note: Don't type the dash or comments -- just the ?)

显示如下但是没有中文的哦中文是我加上去的:
汇编assemble A [address]
比较compare C range address
倾倒dump D [range]
进入enter E address [list]
填充fill F range list
进行go G [=address] [addresses]
十六进位hex H value1 value2
输入input I port
装载load L [address] [drive] [firstsector] [number]
移动move M range address
命名name N [pathname] [arglist]
输出output O port byte
进行proceed P [=address] [number]
离开quit Q
纪录register R [register]
搜寻search S range list
描述trace T [=address] [value]
反汇编unassemble U [range]
寫write W [address] [drive] [firstsector] [number]
分配延伸记忆体allocate expanded memory XA [#pages]
释放延伸记忆体deallocate expanded memory XD [handle]
map expanded memory pages XM [Lpage] [Ppage] [handle]
display expanded memory status XS
-q<按Enter>
(这是离开DEBUG回到DOS状态This quits out of debug, returning to the DOS prompt)

(Tested examples below walk the user thru the following debug examples:在下面的例子里读者必须明白以下几条DEBUG指令。)

-D 显示一定范围记忆体的内容Display the contents of an area of memory
-Q 离开DEBUG程式Quit the debug program
-S 搜寻Search for whatever
-H 十六进位的运算Hex arithmatic
-R 显示或是改变一个或是多个寄存器的内容Display or change the contents of one or more registers
-E 输入资料进入记忆体,在一个详细的位址里Enter data into memory, beginning at a specific location
-G 执行现在在记忆体里的程式。Go run the executable program in memory
-U 反汇编,把我们不认识的机械代码变为我们可以认识汇编语系符号Unassemble machine code into symbolic code
-T 描述一條指令的用法。Trace the contents of one instruction
-P 进行或是执行一个关联的指令Proceed, or execute a set of related instructions
-A 编译,把汇编指令变为机械代码Assemble symbolic instructions into machine code
-N 命名一個程式Name a program
-W 把一个已经命名的程式写进磁碟Write the named program onto disk
-L 把程式装载进记忆体Load the named program back into memory



01) 让我们开始工作吧例如:显示BIOS的日期。

(以下PROMPT>表示目录提示符:一般为C:WINDOWSCOMMAND)
PROMPT> DEBUG<按Enter>
-D FFFF:0006 L 8<按Enter>(显示 FFFFh, 偏移位址 6h, 长度 8 bytes)
在小弟的电脑上这里显示为 "1/10/96."译者的电脑显示" FFFF:0000 37 2F-30 36 2F 30 30 00 7/06/00."相信小弟的电脑里也是用这种格式显示的。这里显示出来的是使用者BIOS的日期,有兴趣的话可以重新开机看看,注意开机时的显示。
-Q<按Enter> (离开DEBUG)
思考:当只按DEBUG的时候,编辑的是什麼?为什麼可以找到BIOS的日期?(译者认为可能是记忆体的真实物理位址。)


02) 在你的电脑的COMMANG.COM档案里搜寻"IBM"这几个字元。

下面的"C:Win95"是根据每不电脑不同的。像译者的电脑里就是"C:WINDOWS"
PROMPT> DEBUG C:Win95Command.com<按Enter>
-S 0 L FFFF "IBM"<按Enter>(从0开始搜寻"IBM",搜寻FFFFh多个单元格)
-Q<按Enter> (离开DEBUG)

以下是译者做的:

C:WINDOWS>DEBUG C:WINDOWSCOMMAND.COM
-S 0 L FFFF "IBM"
-S 0 L FFFF "COMMAND"
12A7:008D
12A7:04F7
12A7:3870
12A7:38BE
12A7:38DD
-S 0 L FFFF "PATH"
12A7:38AD
12A7:CCB7
12A7:CF55
-S 0 L FFFF "COMSPEC"
12A7:38D4
12A7:3A4D
12A7:CCC4
-Q
C:WINDOWS>

(注意:搜寻是要区分大小写的)
(你可以看到上面是没有找到"IBM"的, 可以试一试"PATH" , "COMSPEC" , "COMMAND")
(注意: 这种方法用在寻找加密资料和已被移除的资料等方面时是十分有用的)



03) 一位十六进位数的运算:

PROMPT> DEBUG<按Enter>
-H 9 1<按Enter> (加减两个十六进位的数,9h+1h=Ah & 9h-1h=8h)
结果是显示: 000A 0008
-Q<按Enter>(离开DEBUG)
C:WINDOWS>debug
-h 9 1
000A 0008
-q
C:WINDOWS>


04) 检查x86寄存器内容。

PROMPT> DEBUG<按Enter>
-R<按Enter>(显示x86寄存器内容)
-Q<按Enter>(离开DEBUG)
C:WINDOWS>debug
-R
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=127C ES=127C SS=127C CS=127C IP=0100 NV UP EI PL NZ NA PO NC
127C:0100 043C ADD AL,3C
-Q

下面是对寄存器的简单介绍:

资料存储器:
在本类中,一般讲的AH就是AX的前八位,AL就是AX的后八位,后面的以此类推。AX Accumulator;作为累加器,所以它是算术运算的主要寄存器。另外所有的I/O指令都使用这一寄存器与外部装置传输讯息。BX Base register;可以作为通用寄存器使用,此外在计算存储器位址时,它经常用作基位址寄存器。CX Counting register;可以作为通用寄存器使用,此外在循环(LOOP)和串处理指令中作隐含的计数器。DX Data register;可以作为通用寄存器使用,一般在作双字长运算时,把DX和AX群群组合在一起存放一个双字长数,DX用来存放高位字。此外,对某些I/O动作,DX可用来存放I/O的连线埠位址。

指标及变址寄存器:
BP Base pointers register ;机制指标寄存器。
SI Source index register ;堆栈指标寄存器。
DI Destiny index register ;目的变址寄存器。
SP Battery pointer register ;堆栈指标寄存器。

段寄存器:
CS Code segment register ;代码段寄存器,存放正在执行的程式指令。
DS Data segment register ;资料段寄存器,存放目前执行程式所用的资料。
SS Battery segment register ;堆栈段寄存器,定义了堆栈所在区域。
ES Extra segment register ;附加段寄存器,存放附加的资料是一个辅助性的资料区,控制寄存器。
IP Next instruction pointer register;指令指标寄存器,它用来存放代码段中的偏移位址,在程式执行的过程中,它始终指向下一笔指令的首位址,它与CS寄存器联用确定下一笔指令的物理位址。
F Flag register;标志寄存器 "NV UP EI PL NZ NA PO NC"就是了,也有人称之为PSW Program Status Wold程式状态寄存器 。

这里有一点必须讲明白的现在在,其实从奔腾开始这些寄存器(除了所有段寄存器,标志寄存器 )都是32位的。并且加多了两个16位段寄存器FS,GS。dos下面看到这些寄存器是16位的。要看32位寄存器可以使用soft-ice。对於FS,GS的作用我也不是很清楚,希望有高手指点,谢谢。)


05) 我们来编写我们的第一个用机械语系编写的程式-列印一个字元。

(这里用机械语系的主要原因是考虑到有一些使用者不懂汇编指令,现在就要让他有一个认识电脑程式实质是一些数字)

PROMPT> DEBUG<按Enter>
-E 100<按Enter> (在偏移位址為100的地方輸入機械指令程式)
B4<按空格>02<按空格> (在AX寄存器的前八位存入02)
B2<按空格>41<按空格> (在DX寄存器的后八位存入41h,41h就是大写A的ASCII码,身边有ASCII表的朋友可以对著表改改数字试一试)
CD<按空格>21<按空格> (当AH=02时这是DOS显示输出的中断号)
CD<按空格>20<按Enter> (离开DOS)
-G<按Enter> (程式执行,并在萤幕上显示出"A")
程式执行完以后你将看到"Program terminated normally"(程式标准结束了).
-U 100<按Enter> (我们把它反汇编,就是把机械指令变为汇编语系指令)

107F:0100 B402 MOV AH,02
:0102 B2 MOV DL,41
:0104 CD21 INT 21
:0106 CD20 INT 20
(下面会有一堆无用的东西)
(对了你的段位址可能与我的段位址CS=107F不同哦)

-R<按Enter>(让我们来看看寄存器的值; IP==100h, AX==0000h, DX==0000h)
好极了我们看到电脑又做好了准备下一次执行程式了。
-T<按Enter>(执行第一步动作... IP=>102h, AX=>0200h,指令指标寄存器指向下一笔指令,AX的值被改变。)
-T<按Enter>(执行第二步动作... IP=>104h, , DX=>0041h,指令指标寄存器指向下一笔指令,DX的值被改变。)
-P<按Enter>(继续执行 INT 21,IP=>106h, AX=>02h,)
-P<按Enter>(继续执行INT 20)
-Q<按Enter>(离开DEBUG)

(注意:你必须小心使用"T".因为若果你在程式完结以后继续执行这条指令,因为我们无法知下面的指令是什麼,所以我们也无法预知它可能带来的后果)

C:WINDOWS>DEBUG
-E 100
127C:0100 B4.B4 02.02 B2.B2 41.41 CD.CD 21.21 CD.CD 20.20
-G
A
Program terminated normally
-U 100
127C:0100 B402 MOV AH,02
127C:0102 B241 MOV DL,41
127C:0104 CD21 INT 21
127C:0106 CD20 INT 20
127C:0108 C706F1E30900 MOV WORD PTR [E3F1],0009
127C:010E EB59 JMP 0169
127C:0110 57 PUSH DI
127C:0111 BFF1E3 MOV DI,E3F1
127C:0114 8BDF MOV BX,DI
127C:0116 06 PUSH ES
127C:0117 0E PUSH CS
127C:0118 07 POP ES
127C:0119 32D2 XOR DL,DL
127C:011B EB34 JMP 0151
127C:011D 006B12 ADD [BP+DI+12],CH
-R
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=127C ES=127C SS=127C CS=127C IP=0100 NV UP EI PL NZ NA PO NC
127C:0100 B402 MOV AH,02
-T
AX=0200 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=127C ES=127C SS=127C CS=127C IP=0102 NV UP EI PL NZ NA PO NC
127C:0102 B241 MOV DL,41
-T
AX=0200 BX=0000 CX=0000 DX=0041 SP=FFEE BP=0000 SI=0000 DI=0000
DS=127C ES=127C SS=127C CS=127C IP=0104 NV UP EI PL NZ NA PO NC
127C:0104 CD21 INT 21
-P
A
AX=0241 BX=0000 CX=0000 DX=0041 SP=FFEE BP=0000 SI=0000 DI=0000
DS=127C ES=127C SS=127C CS=127C IP=0106 NV UP EI PL NZ NA PO NC
127C:0106 CD20 INT 20
-P
Program terminated normally
-Q
C:WINDOWS>


06) 我们现在用汇编语系指令来做和例5一样的事情。

PROMPT>DEBUG<按Enter>
-A 100<按Enter>(在偏移位址为100的地方输入汇编语系程式)
MOV AH,02<按Enter>(选用DOS的02号功能呼叫,显示输出)
MOV DL,<按Enter>(在DX寄存器的后八位存入41h,41h就是大写A的ASCII码,身边有ASCII表的朋友可以对著表改改数字试一试)
INT 21<按Enter>(当AH=02时这是DOS显示输出的中断号,显示"A")
INT 20<按Enter>(离开DOS)
<按Enter>(结束汇编语系写程式状态,回到DEBUG指令状态)
-G =100<按Enter>(执行程式,其实可以不要"=100"因为一般预设启始位置是100)
-Q<按Enter>(离开DEBUG)

C:WINDOWS>DEBUG
-A 100
127C:0100 MOV AH,02
127C:0102 MOV DL,41
127C:0104 INT 21
127C:0106 INT 20
127C:0108
-G
A
Program terminated normally
-Q


07) 现在我们不但要编写一个汇写程式式而且我们还要把它存盘。

(下面这个程式就要比原来的程式复杂一点了-显示输出:"ABC")

PROMPT> DEBUG<按Enter>(执行DEBUG程式;系统预设启始IP寄存器值为100h)
-A 100<按Enter>(用汇编语系编写一个程式,启始位址是100h)
MOV AH,02<按Enter>(选取DOS的02号功能呼叫, 显示输出)
MOV DL,<按Enter>(在DX寄存器的后八位存入41h,41h就是大写A的ASCII码)
INT 21<按Enter>(当AH=02时这是DOS显示输出的中断号,显示"A")
MOV DL,42<按Enter>(在DX寄存器的后八位存入41h,41h就是大写B的ASCII码)
INT 21<按Enter>(当AH=02时这是DOS显示输出的中断号,显示"B")
MOV DL,43<按Enter>(在DX寄存器的后八位存入41h,41h就是大写C的ASCII码)
INT 21<按Enter>(当AH=02时这是DOS显示输出的中断号,显示"C")
INT 20<按Enter>(程式结束,离开DEBUG)
<按Enter>(结束汇编指令输入,回到DEBUG指令输入)
-R BX<按Enter>(检视寄存器BX的值)
:0000<按Enter>(设定BX为0000h,这是程式的结尾位址是BX:CX)
(注意,只要BX = 0000, 档案的大小就小於 < 64 Kb.)
-R CX<按Enter>(设定CX为Fh,这是程式的长度:16位)
:0010<按Enter>(现在我们可以把这个16位元群组的程式写入硬碟了)
-N printabc.com<按Enter>(将要存盘的程式命名)
-W<按Enter>(把这十六位元群组写到档案里面)
-Q<按Enter>(离开DEBUG)
PROMPT> DIR printabc.com<按Enter>
这里将会报告这个档案的大小是16位元群组(10h 位元群组)
PROMPT> printabc.com<按Enter>
会马上在萤幕上列印出"ABC"

C:WINDOWS>DEBUG
-A 100
127C:0100 MOV AH,02
127C:0102 MOV DL,41
127C:0104 INT 21
127C:0106 MOV DL,42
127C:0108 INT 21
127C:010A MOV DL,43
127C:010C INT 21
127C:010E INT 20
127C:0110
-R
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=127C ES=127C SS=127C CS=127C IP=0100 NV UP EI PL NZ NA PO NC
127C:0100 B402 MOV AH,02
-R BX
BX 0000
:
-R CX
CX 0000
:0010
-N PRINTABC.COM
-W
Writing 00010 bytes
-Q
C:WINDOWS>DIR PRINTABC.COM
Volume in drive C has no label
Volume Serial Number is 28FB-70BA
Directory of C:WINDOWS
PRINTABC COM 16 03-21-01 11:02 PRINTABC.COM
1 file(s) 16 bytes
0 dir(s) 557,711,360 bytes free
C:WINDOWS>PRINTABC
ABC
C:WINDOWS>

这里可以有人告诉我为什麼要存入是BX:CX代表程式长度吗?


08) 现在我们试一试检视一个已经编好的程式:

PROMPT> DEBUG<按Enter>(执行DEBUG程式在CS:IP = CS:0100h)
-N printabc.com<按Enter>(告诉电脑你想装载的程式名)
-L<按Enter>(装载那个名字的程式进入记忆体)
-U 100 L 10<按Enter>(从偏移位址100开始反汇编16位位元群组)
-R<按Enter>(现在看看寄存器里面的内容)
注意:DEBUG本身是没有自动纪录档案大小的。
-G (执行被命名的程式,列印"ABC")
(你将看到"ABC",然后是"Program terminated normally")

C:WINDOWS>DEBUG
-N PRINTABC.COM
-L
-U 100 L 10
12A4:0100 B402 MOV AH,02
12A4:0102 B241 MOV DL,41
12A4:0104 CD21 INT 21
12A4:0106 B242 MOV DL,42
12A4:0108 CD21 INT 21
12A4:010A B243 MOV DL,43
12A4:010C CD21 INT 21
12A4:010E CD20 INT 20
-R
AX=0000 BX=0000 CX=0010 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=12A4 ES=12A4 SS=12A4 CS=12A4 IP=0100 NV UP EI PL NZ NA PO NC
12A4:0100 B402 MOV AH,02
-G
ABC
Program terminated normally


09)你可以用DEBUG的计算功能计算程式的长度。

一开始的时候你的程式起始位址是在0100h:
107F:0100 MOV AH,02 <-----这就是 100h
你的程式的最后一行在010Eh:
107F:010E INT 20 <--最后一行
然后,最后一条指令的下一行的位址是0110h:
107F:0110 <--這就是110h
所以,从0110h里减去100h我们得到得长度是10h 位元群组.
PROMPT> DEBUG<按Enter>
-H 110 100<按Enter>(这条指令将运算110h+100h和110h-100h)
0210 0010<按Enter>(汇报 110h-100h=0010h; 16-byte 程式长度16位)
-Q<按Enter>(离开DEBUG)

C:WINDOWS>debug
-H 110 100
0210 0010
-Q


10)另一种显示在萤幕上字串的方法。

注意:在你输入资料的时候,按"-"键将会可以让你回退一格。

PROMPT> DEBUG<按Enter>
-E 200<按Enter> (从偏移位址200开始。输入"Hello,World")
48<按空格>65<按空格> (输入48h (H)和65h (e))
6C<按空格>6C<按空格> (输入6Ch (l)和6Ch (l))
6F<按空格>2C<按空格> (输入6Fh (o)和2Ch (,))
57<按空格>6F<按空格> (输入57h (W)和6Fh (o))
72<按空格>6C<按空格> (输入72h ®和6Ch (l))
64<按空格>24<按空格> (输入64h (d)和24h ($))
<按Enter> ("Hello,World" 已经输入完毕)
-D 200<按Enter> (显示你刚刚输入的内容:
48 65 6C 6C 6F 2C 57 6F-72 6C 64 24 ... HELLO,WORLD$...)

-A 100<按Enter> (用汇编语系写一个新程式在IP-100h处开始)
MOV AH,09<按Enter> (选取DOS的09号功能呼叫,显示字串)
MOV DX,0200<按Enter> (把输出位址(200h),放进寄存器)
INT 21<按Enter> (执行DOS功能呼叫,显示"Hello,World")
INT 20<按Enter> (离开程式回到DOS状态)
<按Enter> (结束汇编语系输入,回到DEBUG输入状态)
-G<按Enter> (从 CS:IP开始执行程式, 就是从107F:0100h开始执行程式)
现在我们可以把这个程式储存进一硬盘:
-D 100<按Enter> (纪录:程式的起始点在100h)
-D 200<按Enter> (纪录:程式资料单元的结束点是在020Bh)
-H 20B 100<按Enter> (运算 20Bh-100h=10Bh;程式長度267位元群組)
-R BX<按Enter> (检查BX寄存器的值)
:0000<按Enter> (设定BX为0000h,程式的长度是BX:CX,实际上你可以把BX和CX写到一起,即实际长度为:0000010Bh,这样些的目的是使你可以计算更大的程式的长度)
-R CX<按Enter> (设定CX 为010Bh, 这就是这个程式的长度了)
:010B<按Enter> (现在你可以把这个108位元群组的程式写入硬碟了)
-N printhw.com<按Enter> (将要写入硬碟的程式命名)
-W<按Enter> (把这10Bh 即267个位元群组写入档案)
-Q<按Enter> (离开DEBUG)
PROMPT> DIR printhw.com<按Enter>
将会汇报程式的长度是267位元群组(10Bh位元群組)。
PROMPT> printhw.com<按Enter>
执行这个程式这将会在萤幕上显示出"Hello,World"

C:WINDOWS>DEBUG
-E 200
127C:0200 2C.48 D5.65 BA.6C FF.6C FF.6F B8.2C 00.57 AE.6F
127C:0208 CD.72 2F.6C 3C.64 00.24 C3.
-D 200
127C:0200 48 65 6C 6C 6F 2C 57 6F-72 6C 64 24 C3 A0 ED E3 Hello,World$
127C:0210 0A C0 74 09 56 57 E8 84-21 5F 5E 73 0A B9 04 01 ..t.VW..!_^s
127C:0220 FC 56 57 F3 A4 5F 5E C3-50 56 33 C9 33 DB AC E8 .VW.._^.PV3.
127C:0230 C3 23 74 19 3C 0D 74 15-F6 C7 20 75 06 3A 06 1E .#t.<.t... u
127C:0240 D4 74 0A 41 3C 22 75 E6-80 F7 20 EB E1 5E 58 C3 .t.A<"u... .
127C:0250 A1 F3 D8 8B 36 F5 D8 C6-06 37 DA 00 C6 06 33 DA ....6....7..
127C:0260 00 8B 36 F5 D8 8B 0E F3-D8 8B D6 E3 42 51 56 5B ..6.........
127C:0270 2B DE 59 03 CB 8B D6 C6-06 D7 DC 00 E3 31 49 AC +.Y.........
-A 100
127C:0100 MOV AH,09
127C:0102 MOV DX,0200
127C:0105 INT 21
127C:0107 INT 20
127C:0109
-G
Hello,World
Program terminated normally
-D200
127C:0200 48 65 6C 6C 6F 2C 57 6F-72 6C 64 24 C3 A0 ED E3 Hello,World$
127C:0210 0A C0 74 09 56 57 E8 84-21 5F 5E 73 0A B9 04 01 ..t.VW..!_^s
127C:0220 FC 56 57 F3 A4 5F 5E C3-50 56 33 C9 33 DB AC E8 .VW.._^.PV3.
127C:0230 C3 23 74 19 3C 0D 74 15-F6 C7 20 75 06 3A 06 1E .#t.<.t... u
127C:0240 D4 74 0A 41 3C 22 75 E6-80 F7 20 EB E1 5E 58 C3 .t.A<"u... .
127C:0250 A1 F3 D8 8B 36 F5 D8 C6-06 37 DA 00 C6 06 33 DA ....6....7..
27C:0260 00 8B 36 F5 D8 8B 0E F3-D8 8B D6 E3 42 51 56 5B ..6.........
127C:0270 2B DE 59 03 CB 8B D6 C6-06 D7 DC 00 E3 31 49 AC +.Y.........
-H 20B 100
030B 010B
-R BX
BX 0000
:
-R CX
CX 0000
:010B
-N PRINTHW.COM
-W
Writing 0010B bytes
-Q

C:WINDOWS>DIR PRINTHW.COM
Volume in drive C has no label
Volume Serial Number is 28FB-70BA
Directory of C:WINDOWS
PRINTHW COM 267 03-22-01 11:53 PRINTHW.COM
1 file(s) 267 bytes
0 dir(s) 555,089,920 bytes free


11)让我们试一试反覆输出:

PROMPT> DEBUG<按Enter>
-A 100<按Enter> (用汇编语系写一个新的程式,起始位址是100h)
JMP 125<按Enter> (从102h接前往125h)
<按Enter> (结束输入汇编指令。译者注:这里是为了例12做准备)
-E 102 'Hello World' 0d 0a '$'<按Enter> (把字串输入记忆体)
-A 125<按Enter> (从125h开始继续编写我们的汇编语系程式)
MOV DX,0102<按Enter> (把字串的首位址(102h)放入DX寄存器)
MOV CX,0005<按Enter> (指定这条指令将被显示5次)
MOV AH,09<按Enter> (选取DOS的09号功能呼叫, 显示字串)
INT 21<按Enter> (执行DOS的功能呼叫, 显示"Hello, World")
DEC CX<按Enter> (每次执行到这里CX都减去1)
JCXZ 0134<按Enter> (如果计数器CX=0,那麼前往位址0134h)
JMP 012D<按Enter> (其他情况下,即CX≠O时前往012Dh)
INT 20<按Enter> (程式离开DOS状态)
<按Enter> (结束汇编语系程式输入,回到DEBUG)
-U 100<按Enter> (从位址100h 开始反汇编)
-U<按Enter> (继续执行反汇编指令,直至你看到INT 20)
-H 0136 100<按Enter> (运算程式长度为36h)
-U 100 L 36<按Enter> (从100h反汇编到136h ,来确认你的计算)
-R BX<按Enter> (检视寄存器BX的值)
:0000<按Enter> (设定BX为0000h)
-R CX<按Enter> (把CX 设定为36h, 这就是程式长度36位元群组)
:0036<按Enter> (现在你可以把这36位元群组写入档案了)
-N printhw5.com<按Enter> (命名我,我们要写入的档案名)
-W<按Enter> (把这36位元群组的内容写进新档案)
-G<按Enter> (执行程式,在萤幕上显示"Hello-World ")
-Q<按Enter> (离开DEBUG)
PROMPT> DIR printhw5.com<按Enter>
将会汇报档案大小为54位元群组,换算为十六进位就是36h位元群组
PROMPT> printhw5.com<按Enter>
将在萤幕上显示五次"Hello World"


12)我们现在把两个程式连线起来。

我们现在把printhw.com做为修补程式写进printhw5.com,新版本的printhw5将先执行原来的printhw.com再执行原来的printhw5.com。

PROMPT> COPY printhw5.com printhw5.bak<按Enter>
首先,备份printhw5.com,以后可以用於比较
PROMPT> DIR printhw5.com<按Enter>
现在,检视到得仍然是以前的54位元群组(36h 位元群組)
PROMPT> DEBUG printhw5.com<按Enter>
-R<按Enter> (现在检视仍然是BX:CX=0000 0036h bytes)
-U 100<按Enter> (检视到最後的是 EB 23 (JMP 0125))
-H 100 36<按Enter> (最後的指令是在 100h+36h=136h)
-H 136 1<按Enter> (下一个可用的存储器位置是136h+1h=137h)

现在你拥有足够的资料去修补那个程式

-E 110<按Enter> (把"Hello,World"输入记忆体)
48<按空格>65<按空格> (输入48h (H)和65h (e))
6C<按空格>6C<按空格> (输入6Ch (l)和6Ch (l))
6F<按空格>2C<按空格> (输入6Fh (o)和2Ch (,))
57<按空格>6F<按空格> (输入57h (W)和6Fh (o))
72<按空格>6C<按空格> (输入72h ®和6Ch (l))
64<按空格>24<按空格> (输入64h (d)和24h ($))
<按Enter> (停止输入"Hello,World")
-D 110<按Enter> (顯示更才输入记忆体的資料:
48 65 6C 6C 6F 2C 57 6F-72 6C 64 24 ...HELLO,WORLD$...)

-A 100<按Enter> (在IP位址的(100h)开始夺取原来的程式的控制权,原来这里是"JMP 125")
JMP 137<按Enter> (代替原来执行的程式首先执行我们现在的修补程式)
<按Enter> (结束汇编指令输入,回到DEBUG指令输入)
-A 137<按Enter> (在下面的可用通奸编译这个修补程式)
MOV AH,09<按Enter> (选取DOS的09号功能呼叫,显示输出)
MOV DX,110<按Enter> (把我们要输出的字段的首位址(110h)给DX寄存器)
INT 21<按Enter> (执行DOS 的功能呼叫,显示"Hello,World")
JMP 0125<按Enter> (这里用跳转到原程式来代替离开到DOS指令(INT 20))
<按Enter> (结束汇编指令输入,回到DEBUG指令输入)
-U 125<按Enter> (确认一下源程式没有被我们误改了,如果误改了就马上离开DEBUG重新來過)
-U 100 L 1<按Enter> (确认已经使程式跳转到我们的修补程式位址137h)
-D 110 L C<按Enter> (确认资料区已经有了我们想要的资料)
-U 137<按Enter> (确认我们的新程式已经输入了)

现在我们可以把这个小程式存入硬碟了:
(注意:在现在整个程式的最后一条指令"JMP 0125" 的后面一条的位址是0140h)

-H 0140h 100<按Enter> (計算140h-100h=40h; 答案是我们现在有一个长度为64位元群组的小程式)
-RBX<按Enter> (检查BX寄存器的值是否为"0")
:<按Enter> (如果BX是0000h那麼就不需要改动啦)
-RCX<按Enter> (要把CX改为40h。这是我们的程式的长度)
:40<按Enter> (现在你可以把这0000:0040h个位元群组的小程式放入硬碟啦)
-W<按Enter> (覆盖我们的原程式)
-G<按Enter> (尝试执行我们的新程式)
-Q<按Enter> (离开DEBUG回到DOS)
PROMPT> DIR printhw5.com<按Enter>
现在你再看就发现文章大小不再是54位元群组, 变成了64位元群组.
PROMPT> printhw5.com<按Enter>
现在是首先在萤幕上列印"Hello,World"一次,然后再列印"Hello,World"5 次(注:这里其实可以在写程式的时候换一换内容试一试。)


13) 让我们逐步执行这个刚刚修补的程式:

PROMPT> DEBUG printhw5.com<按Enter>
-R<按Enter> (第1步:位址0100h内容是 EB35 "JMP 0137")
-T<按Enter> (第2步:位址0137h内容是B409 "MOV AH,09")
-T<按Enter> (第3步:位址0139h内容是BA1001 "MOV DX,0110")
-T<按Enter> (第4步:位址0139h内容是CD21 "INT 21")
-P<按Enter> (执行第5:"Hello,World"位址013Eh內容是EBE5 "JMP 0125")
-T<按Enter> (到这里控制权已经回到了原程式)

如果你想的话你可以一步一步的执行完全部程式;方法就是一直按"T"直至到达下一个功能呼叫执行完成后。到那时按一个"P"就可以继续按"T"


14)如果一开始的指令不是跳转指令,那麼可能就要用这种方法了:

例如:如果我们想叫程式printhw先列印"ABC",就要取得控制权了。然后列印"ABC"的程式把控制权给回原来的printhw。在这个事例里printhw在100h的位址有两位元群组的程式;不能像上面那样简单的替代(一個JMP代替另一個JMP)就完事。解决办法就是使用NOP指令。

PROMPT> DIR printhw.com<按Enter>
将汇报程式的长度为267位元群组(10Bh 位元群組).
PROMPT> DEBUG printhw.com<按Enter>
-R<按Enter> (IP=100h 並且printhw's 的档案大小=BX:CX=0000:010Bh)
-U 100<按Enter> (第一条指令B4 09 (MOV AH,09)是两个位元群组的)
(第二条指令是三个位元群组的 BA 00 02 (MOV DX,0200))

-H 100 10B<按Enter> (最后一条printhw的指令是在100h+10Bh=20Bh)
(DOS的INT 21功能呼叫是在105h开始的)


现在你有足够的资料输入你的程式了!

-A 100<按Enter> (要在printhw 的IP开始位置就夺取程式的控制权)
JMP 20B<按Enter> (前往20Bh增加一个程式)
NOP<按Enter> (用空指令填充直至你去到下一笔完整的指令)
NOP<按Enter> (你可以用它来覆盖你不想只执行的原程式指令 ,而不改变原来的位址。但是在这里我们只需要两个NOP)
注:为了使大家更加明白所以我将各条指令对应的机械指令的长度写在下面

B409 MOV AH,09
BA0002 MOV DX,0200
E90301 JMP 020B
90 NOP

这样我们就很清楚的看到JMP 020B的长度比MOV AH,09多了1个位元群组,但MOV DX,0200是3个位元群组,而NOP是空指令,是不执行任何动作的,它只是占1个位元群组。所以我们现在把前两条指令用一个JMP 020B和两个NOP代替。后面再加上去。

<按Enter> (结束汇编指令回到DEBUG指令输入)
-U 100<按Enter> (看一看前面我们做了些什麼)
(注意DOS INT 21中断任然是在 IP=105h的地方开始)

-A 20B<按Enter> (现在把我们的原程式写在后面)
MOV AH,02<按Enter> (选取DOS 的 2号功能呼叫, 字元显示输出)
MOV DL,41<按Enter> (在DL寄存器存入"A"的ASCII码41h)
INT 21<按Enter> (执行DOS 的功能呼叫,显示字元"A")
MOV DL,42<按Enter> (在DL寄存器存入"B"的ASCII码42h)
INT 21<按Enter> (执行DOS 的功能呼叫,显示字元"B")
MOV DL,43<按Enter> (在DL寄存器存入"C"的ASCII码43h)
INT 21<按Enter> (执行DOS 的功能呼叫,显示字元"C")
MOV AH,09<按Enter> (现在重新输入原来在100h的程式指令)
MOV DX,0200<按Enter> (现在要打扫寄存器了,复原原来的200h的值)
JMP 105<按Enter> (前往INT 21指令的位置105h)
<按Enter> (请注意一下你这里最后的位址是0221h)
-H 221 100<按Enter> (计算221h-100h=121h 就是289位元群组的程式)
-R CX<按Enter> (把CX的值设为121h, 这就设定了程式的新长度)
:0121<按Enter> (现在用121h (也就是289位元群组)覆盖原值)
-W<按Enter> (把这289个位元群组写回原程式)
-Q<按Enter> (离开DEBUG)
PROMPT> DIR printhw.com<按Enter>
(现在在看就会是新程式的长度289位元群组而不是,267位元群组)
现在在萤幕上先出现"ABC"再出现"Hello,World"


以上学完後我们可以开始进入下一个课程软件破解脱壳法。


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:26:00 19楼 举报

软件破解脱壳法:


IPB Image

什么是脱壳技术?

在一些电脑软件里有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像电脑病毒和自然界的病毒一样,其实都是命名上的方法罢了。从功能上抽象,软件的壳和自然界中的壳相差无几。无非是保护、隐蔽壳内的东西。而从技术的角度出发,壳是一段执行于原始程序前的代码。原始程序的代码在加壳的过程中可能被压缩、加密……。当加壳后的文件执行时,壳这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。 软件的壳分为加密壳压缩壳伪装壳多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被破解)关于“壳”以及相关软件的发展历史请参阅吴先生的《一切从“壳”开始》

(一)壳的概念:作者编好软件后,编译成exe可执行文件。

1.有一些版权信息需要保护起来,不想让别人随便改动如作者的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。
2.需要把程序搞的小一点,从而方便使用。于是需要用到一些软件,它们能将exe可执行文件压缩。
3.在黑客界给木马等软件加壳脱壳以躲避杀毒软件。实现上述功能,这些软件称为加壳软件。


(二)加壳软件最常见的加壳软件ASPACK ,UPX,PEcompact 不常用的加壳软件WWPACK32;PE-PACK;PETITE NEOLITE

(三)侦测壳和软件所用编写语言的软件,因为脱壳之前要查他的壳的类型。

1.侦测壳的软件 fileinfo.exe 简称 fi.exe (侦测壳的能力极强)。
2.侦测壳和软件所用编写语言的软件language.exe(两个功能合为一体,很棒)推荐。language2000中文版(专门检测加壳类型)。
3.软件常用编写语言Delphi;VisualBasic (VB)最难破;VisualC (VC)。


(四)脱壳软件。

软件加壳是作者写完软件后,为了保护自己的代码或维护软件产权等利益所常用到的手段。目前有很多加壳工具,当然有盾,自然就有矛,只要我们收集全常用脱壳工具,那就不怕他加壳了。软件脱壳有手动脱和自动脱壳之分,下面我们先介绍自动脱壳,因为手动脱壳需要运用汇编语言,要跟踪断点等,不适合初学者,但我们在后边将稍作介绍。

=======================================================================
加壳一般属于软件加密,现在越来越多的软件经过压缩处理,给汉化带来许多不便,软件汉化爱好者也不得不学习掌握这种技能。现在脱壳一般分手动和自动两种,手动就是用TRW2000、TR、SOFTICE等调试工具对付,对脱壳者有一定水平要求,涉及到很多汇编语言和软件调试方面的知识。而自动就是用专门的脱壳工具来脱,最常用某种压缩软件都有他人写的反压缩工具对应,有些压缩工具自身能解压,如UPX;有些不提供这功能,例如:ASPACK,就需要UNASPACK对付,好处是简单,缺点是版本更新了就没用了。另外脱壳就是用专门的脱壳工具来对付,最流行的是PROCDUMP v1.62,可对付目前各种压缩软件的压缩档。在这里介绍的是一些通用的方法和工具,希望对大家有帮助。我们知道文件的加密方式,就可以使用不同的工具、不同的方法进行脱壳。下面是我们常常会碰到的加壳方式及简单的脱壳措施,供大家参考:脱壳的基本原则就是单步跟踪,只能往前不能往后。脱壳的一般流程是:查壳--->寻找OEP--->Dump修复。找OEP的一般思路如下:[b][color=blue]先看壳是加密壳还是压缩壳压缩壳相对来说容易些一般是没有异常,找到对应的popad后就能到入口。跳到入口的方式一般为:我们知道文件被一些压缩加壳软件加密,下一步我们就要分析加密软件的名称、版本。因为不同软件甚至不同版本加的壳,脱壳处理的方法都不相同。我很少写破文,最近看到一些新手常问查壳工具查不出是什麼壳?不知壳如何脱?我这裏就简单的用一个范例程式谈谈脱壳方法,算是给新手打打气。一般这种没有公开的壳不会太猛(除了hying,vcasm, jingulong等这些圈内人的壳哈)大多是自己土制的壳,有的还伪装一下致使查壳工具查不出或查出什麼Aspack,UPX的壳。碰到这种壳不用太怕认真跟踪分析一下、一般都没多大问题。一般加壳后的程式运行时大多是用各种方法AntiDebugger,其中夹杂很多花指令和垃圾指令、然后解码又是一堆AntiDebugger,可能又解码恢复IAT又是一堆AntiDebugger.....最后再跳到程式真正的OEP处。对付这种壳一般的方法是先找到OEP,再修复IAT。在壳跳到OEP的时候一般是个跨段跳转,跳转方法有很多例如:JMP XXXXXXXX, JMP [XXXXXXXX], JE [XXXXXXXX],PUSH XXXXXXXX RET, CALL XXXXXXXXX, CALL [XXXXXXXX], CALL EAX.....还有的是在SEH中直接指定EIP等等。找到这个跳转位址,然后在相应位址上设上中断点F9运行就到达OEP处了。此时就是最好的Dump时机,修复IAT一般用ImportREC,填写好OEP的RVA先点IATAutoSearch--->再点GetImport,如果找到的API全部有效就可点Fix Dump了,如果有无效的就需要修复,先点Show Invalid,再对这些无效的API点右键,共有3个修复级别:分别是Disasm,HOOK,Trap Flag。可以一个一个试,全部API有效或只有一两个API无效时就可以点Fix Dump了,如果修复不了就只有用手工修复了。手工修复IAT的方法是:一般壳在运行的时候会恢复IAT破坏IAT,你可以在恢复IAT后或破坏IAT之前DUMP出完好的IAT,再用16进位编辑器把完整的IAT复制到Dump出来的档中。多做做练习就不难了还是看看目的程式"轻轻松松学开车6.6",用PEiD查一下,ASPack 2.12--->Alexey SolodovnikovOD载入,提示入口点在代码外部(以后别再问如何判断程序是否加壳了,用OD载入如果有这个提示就表示程式是加了壳的)点确定、问是否分析?点否。

=======================================================================
来到入口处:

006AF001 D> 60 pushad ;壳代码入口。
006AF002 E8 03000000 call DrvStudy.006AF00A ;有花指令F7 跟进
006AF007 - E9 EB045D45 jmp 45C7F4F7
006AF00C 55 push ebp
006AF00D C3 retn
006AF00E E8 01000000 call DrvStudy.006AF014
006AF013 EB 5D jmp short DrvStudy.006AF072

在006AF002处call DrvStudy.006AF00A,代码中没有006AF00A是因为花指令让OD错误的分析了代码,用F7跟进就能来到006AF00A处,像这种近距离的Call其实是变形的Jmp,都要用F7跟进,如果要用F8跳过的话也可以只是会碰到裏面的陷阱。

006AF00A 5D pop ebp;
DrvStudy.006AF007,跳到这裏:
006AF00B 45 inc ebp;ebp + 1
006AF00C 55 push ebp;变形跳转到ebp的位址处
006AF00D C3 retn 跳到
006AF008 EB 04 jmp short DrvStudy.006AF00E;跳到这裏
006AF00A 5D pop ebp
006AF00B 45 inc ebp;ebp + 1
006AF00C 55 push ebp;变形跳转到ebp的地址处
006AF00D C3 retn
006AF00E E8 01000000 call DrvStudy.006AF014;变形跳转,F7跟进
006AF014 5D pop ebp
006AF015 BB EDFFFFFF mov ebx,-13
006AF01A 03DD add ebx,ebp
006AF01C 81EB 00F02A00 sub ebx,2AF000;代码重定位
006AF022 83BD 22040000 00 cmp dword ptr ss:[ebp+422],0;变数ebp+422是存放的基址
006AF029 899D 22040000 mov dword ptr ss:[ebp+422],ebx
006AF02F 0F85 65030000 jnz DrvStudy.006AF39A;这裏不跳
006AF035 8D85 2E040000 lea eax,dword ptr ss:[ebp+42E];"kernel32.dll"
006AF03B 50 push eax;参数入叠
006AF03C FF95 4D0F0000 call dword ptr ss:[ebp+F4D];kernel32.GetModuleHandleA
006AF042 8985 26040000 mov dword ptr ss:[ebp+426],eax;kernel32.dll的控制码存入ebp+426处
006AF048 8BF8 mov edi,eax;kernel32.77E40000
006AF04A 8D5D 5E lea ebx,dword ptr ss:[ebp+5E];"VirtualAlloc"
006AF04D 53 push ebx
006AF04E 50 push eax;Kernel32.dll控制码
006AF04F FF95 490F0000 call dword ptr ss:[ebp+F49];GetProcAddress
006AF055 8985 4D050000 mov dword ptr ss:[ebp+54D],eax;把VirtualAlloc的函数位址存入ebp+54D处
006AF05B 8D5D 6B lea ebx,dword ptr ss:[ebp+6B];"VirtualFree"
006AF05E 53 push ebx
006AF05F 57 push edi;Kernel32.dll控制码入叠
006AF060 FF95 490F0000 call dword ptr ss:[ebp+F49];GetProcAddress
006AF066 8985 51050000 mov dword ptr ss:[ebp+551],eax;把VirtualFree的函数位址存入ebp+511处
006AF06C 8D45 77 lea eax,dword ptr ss:[ebp+77];跳转地址载入eax
006AF06F FFE0 jmp eax;跳到eax指向的地方
006AF08A 8B9D 31050000 mov ebx,dword ptr ss:[ebp+531];来到这裏,ebx=0
006AF090 0BDB or ebx,ebx
006AF092 74 0A je short DrvStudy.006AF09E;ebx==0,跳
006AF094 8B03 mov eax,dword ptr ds:[ebx]
006AF096 8785 35050000 xchg dword ptr ss:[ebp+535],eax
006AF09C 8903 mov dword ptr ds:[ebx],eax
006AF09E 8DB5 69050000 lea esi,dword ptr ss:[ebp+569];跳到这裏,esi指向一标志
006AF0A4 833E 00 cmp dword ptr ds:[esi],0
006AF0A7 0F84 21010000 je DrvStudy.006AF1CE;不为0,不跳
006AF0AD 6A 04 push 4
006AF0AF 68 00100000 push 1000
006AF0B4 68 00180000 push 1800
006AF0B9 6A 00 push 0
006AF0BB FF95 4D050000 call dword ptr ss:[ebp+54D];分配内存C语言描述为VirtualAlloc(NULL, 0x1800, MEM_COMMIT, PAGE_READWRITE)。
006AF0C7 8B46 04 mov eax,dword ptr ds:[esi+4]
006AF0CA 05 0E010000 add eax,10E
006AF0CF 6A 04 push 4
006AF0D1 68 00100000 push 1000
006AF0D6 50 push eax
006AF0D7 6A 00 push 0
006AF0D9 FF95 4D050000 call dword ptr ss:[ebp+54D];再次分配内存,eax为所需内存大小
006AF0DF 8985 52010000 mov dword ptr ss:[ebp+152],eax;分配的第2块内存控制码存入ebp+152处
006AF0E5 56 push esi
006AF0E6 8B1E mov ebx,dword ptr ds:[esi]
006AF0E8 039D 22040000 add ebx,dword ptr ss:[ebp+422]
006AF0EE FFB5 56010000 push dword ptr ss:[ebp+156];0x401000
006AF0F4 FF76 04 push dword ptr ds:[esi+4]
006AF0F7 50 push eax
006AF0F8 53 push ebx
006AF0F9 E8 6E050000 call DrvStudy.006AF66C;解压缩代码
006AF0FE B3 01 mov bl,1
006AF100 80FB 00 cmp bl,0
006AF103 75 5E jnz short DrvStudy.006AF163
006AF105 FE85 EC000000 inc byte ptr ss:[ebp+EC]
006AF10B 8B3E mov edi,dword ptr ds:[esi]
006AF10D 03BD 22040000 add edi,dword ptr ss:[ebp+422]
006AF113 FF37 push dword ptr ds:[edi];保护0x401000处的代码
006AF115 C607 C3 mov byte ptr ds:[edi],0C3;把0x401000处的代码改为RET
006AF118 FFD7 call edi;垃圾呼叫
006AF11A 8F07 pop dword ptr ds:[edi];恢复0x401000处的代码 F8单步到下面一点点,来到垃圾呼叫
006AF12D 0BC9 or ecx,ecx
006AF12F 74 2E je short DrvStudy.006AF15F
006AF131 78 2C js short DrvStudy.006AF15F
006AF133 AC lods byte ptr ds:[esi]
006AF134 3C E8 cmp al,0E8
006AF136 74 0A je short DrvStudy.006AF142
006AF138 EB 00 jmp short DrvStudy.006AF13A
006AF13A 3C E9 cmp al,0E9
006AF13C 74 04 je short DrvStudy.006AF142
006AF13E 43 inc ebx
006AF13F 49 dec ecx
006AF140 ^ EB EB jmp short DrvStudy.006AF12D
006AF142 8B06 mov eax,dword ptr ds:[esi];在这裏设置一个中断点这裏找opcode为e8或e9的地方,F9运行后断下,ebx=1FE,eax=[esi]的内容,紧接著会比较esi指向的地方
006AF144 EB 00 jmp short DrvStudy.006AF146
006AF146 803E 36 cmp byte ptr ds:[esi],36;比较第2个位元组的opcode是否为36
006AF149 ^ 75 F3 jnz short DrvStudy.006AF13E;是就不跳,这裏为36不会跳
006AF14B 24 00 and al,0
006AF14D C1C0 18 rol eax,18;解码
006AF150 2BC3 sub eax,ebx;解码
006AF152 8906 mov dword ptr ds:[esi],eax;解码后的代码存入esi指向的地方
006AF154 83C3 05 add ebx,5
006AF157 83C6 04 add esi,4
006AF15A 83E9 05 sub ecx,5
006AF15D ^ EB CE jmp short DrvStudy.006AF12D;向上跳可以判断出上面的这段代码是解码的,C30000处的代码会解码,在006AF15D的下一个指令设好中断点,F9运行,断下
006AF15F 5B pop ebx;断下,解码完毕
006AF160 5E pop esi
006AF161 59 pop ecx
006AF162 58 pop eax
006AF163 EB 08 jmp short DrvStudy.006AF16D;
006AF16D 8BC8 mov ecx,eax;来到这裏
006AF16F 8B3E mov edi,dword ptr ds:[esi];代码段偏移
006AF171 03BD 22040000 add edi,dword ptr ss:[ebp+422];基底位址+偏移,指向代码段
006AF177 8BB5 52010000 mov esi,dword ptr ss:[ebp+152];解码后的正确代码位址
006AF17D C1F9 02 sar ecx,2
006AF180 F3:A5 rep movs dword ptr es:[edi],dword >;填充正确的代码
006AF182 8BC8 mov ecx,eax
006AF184 83E1 03 and ecx,3
006AF187 F3:A4 rep movs byte ptr es:[edi],byte pt>;填充正确的代码
006AF189 5E pop esi
006AF18A 68 00800000 push 8000
006AF18F 6A 00 push 0
006AF191 FFB5 52010000 push dword ptr ss:[ebp+152]
006AF197 FF95 51050000 call dword ptr ss:[ebp+551];VirtualFree
006AF19D 83C6 08 add esi,8
006AF1A0 833E 00 cmp dword ptr ds:[esi],0;解码完成若没完成就跳
006AF1A3 ^ 0F85 1EFFFFFF jnz DrvStudy.006AF0C7;又跳到上面因此可以确定这一大段006AF0C7 - 006AF1A3都是解码的代码,在006AF1A3处的下1条指令设置一个中断点,F9运行,断下
006AF1A9 68 00800000 push 8000;断下
006AF1AE 6A 00 push 0
006AF1B0 FFB5 56010000 push dword ptr ss:[ebp+156]
006AF1B6 FF95 51050000 call dword ptr ss:[ebp+551];VirtualFree 释放内存了
006AF1BC 8B9D 31050000 mov ebx,dword ptr ss:[ebp+531];ebx=0
006AF1C2 0BDB or ebx,ebx
006AF1C4 74 08 je short DrvStudy.006AF1CE;ebx==0,跳
006AF1C6 8B03 mov eax,dword ptr ds:[ebx]
006AF1C8 8785 35050000 xchg dword ptr ss:[ebp+535],eax
006AF1CE 8B95 22040000 mov edx,dword ptr ss:[ebp+422];跳到這裏,ebx=0x400000,基底位址
006AF1D4 8B85 2D050000 mov eax,dword ptr ss:[ebp+52D];eax=0x400000
006AF1DA 2BD0 sub edx,eax
006AF1DC 74 79 je short DrvStudy.006AF257;ecx==0,跳下面就是恢復IAT了
006AF257 8B95 22040000 mov edx,dword ptr ss:[ebp+422];跳到這裏,edx=0x400000,基底位址
006AF25D 8BB5 41050000 mov esi,dword ptr ss:[ebp+541];esi=0
006AF263 0BF6 or esi,esi
006AF265 74 11 je short DrvStudy.006AF278;esi==0,跳
006AF267 03F2 add esi,edx
006AF269 AD lods dword ptr ds:[esi]
006AF26A 0BC0 or eax,eax
006AF26C 74 0A je short DrvStudy.006AF278
006AF26E 03C2 add eax,edx
006AF270 8BF8 mov edi,eax
006AF272 66:AD lods word ptr ds:[esi]
006AF274 66:AB stos word ptr es:[edi]
006AF276 ^ EB F1 jmp short DrvStudy.006AF269
006AF278 BE 00001E00 mov esi,1E0000;跳到這裏,esi=1e0000
006AF27D 8B95 22040000 mov edx,dword ptr ss:[ebp+422];edx=基底位址
006AF283 03F2 add esi,edx;esi=51e0000
006AF285 8B46 0C mov eax,dword ptr ds:[esi+C];指向下一個dll檔案名稱的RVA
006AF288 85C0 test eax,eax;不為空就不跳
006AF28A 0F84 0A010000 je DrvStudy.006AF39A
006AF290 03C2 add eax,edx;得到下一個dll檔案名稱
006AF292 8BD8 mov ebx,eax
006AF294 50 push eax
006AF295 FF95 4D0F0000 call dword ptr ss:[ebp+F4D];取kernel32.dll的控制碼
006AF29B 85C0 test eax,eax;成功,跳
006AF29D 75 07 jnz short DrvStudy.006AF2A6
006AF29F 53 push ebx
006AF2A0 FF95 510F0000 call dword ptr ss:[ebp+F51]
006AF2A6 8985 45050000 mov dword ptr ss:[ebp+545],eax;跳到這裏,kernel32.dll控制碼存入ebp+545
006AF2AC C785 49050000 00000000 mov dword ptr ss:[ebp+549],0;[ebp+549]=0
006AF2B6 8B95 22040000 mov edx,dword ptr ss:[ebp+422];edx=基底位址
006AF2BC 8B06 mov eax,dword ptr ds:[esi];eax=0
006AF2BE 85C0 test eax,eax
006AF2C0 75 03 jnz short DrvStudy.006AF2C5;eax==0,不跳
006AF2C2 8B46 10 mov eax,dword ptr ds:[esi+10];IAT的FirThunk基底位址
006AF2C5 03C2 add eax,edx
006AF2C7 0385 49050000 add eax,dword ptr ss:[ebp+549];指向下1個API
006AF2CD 8B18 mov ebx,dword ptr ds:[eax]
006AF2CF 8B7E 10 mov edi,dword ptr ds:[esi+10]
006AF2D2 03FA add edi,edx
006AF2D4 03BD 49050000 add edi,dword ptr ss:[ebp+549]
006AF2DA 85DB test ebx,ebx
006AF2DC 0F84 A2000000 je DrvStudy.006AF384
006AF2E2 F7C3 00000080 test ebx,80000000
006AF2E8 75 04 jnz short DrvStudy.006AF2EE
006AF2EA 03DA add ebx,edx
006AF2EC 43 inc ebx;取函数名称
006AF2ED 43 inc ebx;取函数名称
006AF2EE 53 push ebx
006AF2EF 81E3 FFFFFF7F and ebx,7FFFFFFF
006AF2F5 53 push ebx;函数名称入叠
006AF2F6 FFB5 45050000 push dword ptr ss:[ebp+545];kernel32.dll控制码入叠
006AF2FC FF95 490F0000 call dword ptr ss:[ebp+F49];GetProcAddress
006AF302 85C0 test eax,eax
006AF304 5B pop ebx
006AF305 75 6F jnz short DrvStudy.006AF376;跳取API函数位址成功后跳到下面的地方
006AF376 8907 mov dword ptr ds:[edi],eax;API位址存入edi指向為址
006AF378 8385 49050000 04 add dword ptr ss:[ebp+549],4;取下一個API
006AF37F ^ E9 32FFFFFF jmp DrvStudy.006AF2B6;
006AF384 8906 mov dword ptr ds:[esi],eax
006AF386 8946 0C mov dword ptr ds:[esi+C],eax
006AF389 8946 10 mov dword ptr ds:[esi+10],eax
006AF38C 83C6 14 add esi,14
006AF38F 8B95 22040000 mov edx,dword ptr ss:[ebp+422]
006AF395 ^ E9 EBFEFFFF jmp DrvStudy.006AF285;跳去恢复下个导入dll中的函数这个大循环完成后IAT就恢复完成了.....这个IAT是没有被破坏的,根据一般经验壳在运行时都会有这麼一个大循环来恢复IAT,有的是破坏,因此当在你一个回圈中碰到GetModuleHandleA, LoadLibraryA,GetProcAddress,时就要小心了记下它有可能ImportRec找不回API函数的时候,需要手工修复IAT时就要用到它回圈完后,来到这裏
006AF39A B8 08CF1C00 mov eax,1CCF08;OEP的RVA
006AF39F 50 push eax
006AF3A0 0385 22040000 add eax,dword ptr ss:[ebp+422];OEP值
006AF3A6 59 pop ecx
006AF3A7 0BC9 or ecx,ecx
006AF3A9 8985 A8030000 mov dword ptr ss:[ebp+3A8],eax;修改[ebp+3A8]处的代码
006AF3AF 61 popad
006AF3B0 75 08 jnz short DrvStudy.006AF3BA;
006AF3B2 B8 01000000 mov eax,1
006AF3B7 C2 0C00 retn 0C
006AF3BA 68 08CF5C00 push DrvStudy.005CCF08;变形跳转
006AF3BF C3 retn;飞向光明之颠这裏就是典型的Delphi程式的OEP处代码
005CCF08 55 push ebp;停在这裏
005CCF09 8BEC mov ebp,esp
005CCF0B 83C4 F0 add esp,-10
005CCF0E 53 push ebx
005CCF0F B8 80CA5C00 mov eax,DrvStudy.005CCA80
005CCF14 E8 B3A7E3FF call DrvStudy.004076CC

现在就可在005CCF08处Dump程式了,用OD的OllyDump插件(套件or外挂),Dump出程式启动ImportREC填入OEP的RVA值先点IATAutoSearch--->再点GetImport找到的API全部有效--->点Fix Dump,修复IAT指标运行程式,提示系统资料错误这是因为程式有自校验,发现自己被脱壳后拒绝运行,去除程式的自校验我就不说了.....用暴破的方法就能搞定.....。

【总 结】 本文讲述了脱壳的一般方法,新手面对末知壳先不要怕,自己试著跟踪分析一下,多做练习才会有进步。

壳软件工具下载处


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:27:51 20楼 举报

全面透视Ctrl+Alt+Del中的svchost.exe机密档案


IPB Image

经常在一些反病毒论坛上浏览时,发现一些朋友对任务管理器中的svchost进度不甚了解,看见存在许多svchost进度就以为自己中了病毒、其实不然。svchost.exeNT核心系统非常重要的档案,对於Win2000/XP来说不可或缺。这些svchost.exe进度提供很多系统服务,例如:rpcss服务(remote procedure call)、dmserver服务(logical disk manager)、dhcp服务(dhcp client).....等等。若要了解每个svchost进度到底提供了多少系统服务,可以在WinXP的cmd视窗中输入「tasklist /svc」指令来检视。


工作原理:

一般来说Windows系统进度分为独立进度共享进度两种。svchost.exe档案存在於%systemroot%\system32目录下属於共享进度。随著Windows系统服务不断增多,为了节省系统资源微软把很多服务都做成共享模式,交由svchost进度来启动。但svchost进度只作为服务宿主并不能实现任何服务功能,即它只能提供条件让其他服务在这里被启动,而它自己却不能给使用者提供任何服务。这些服务是如何实现的呢?原来这些系统服务是以动态连结库(DLL)形式实现的。它们把可执行程式指向svchost,由svchost呼叫相应服务的动态连结库(DLL)来启动服务。svchost又怎麼知道某个系统服务该呼叫哪个动态连结库(DLL)呢?这是通过系统服务在注册表中设定的参数来实现的。


具体案例:

下面以Remote Registry服务为例,来看看svchost进度是如何呼叫动态连结库(DLL)的。在WinXP中点击「開始--->執行」,輸入「services.msc」指令,会跳出服务对话框,然后开启「Remote Registry」属性对话框,可以看到Remote Registry服务的可执行档案的路径为「C:WindowsSystem32svchost -k LocalService」,这说明Remote Registry服务是依靠svchost呼叫「LocalService」参数来实现的,而参数的内容则是存放在系统注册表中的。在执行对话框中输入「regedit」后回车,开启注册表编辑器找到「HKEY_LOCAL_MACHINESystemcurrentcontrolsetservicesRemote Registry」项,再找到类型为「reg_expand_sz」的「Imagepath」項,其鍵值為「%systemroot%system32svchost -k LocalService(这就是在服务视窗中看到的服务启动指令),另外在「parameters」次机码中有个名为「ServiceDll」的鍵,其值為「%systemroot%system32regsvc.dll」,其中「regsvc.dll」就是Remote Registry服务要使用的动态连结库(DLL)档案。这样svchost进度通过读取「Remote Registry」服务注册表讯息,就能启动该服务了。也正是因为svchost的重要性,所以病毒木马也想尽办法来利用它,企图利用它的特性来迷惑使用者达到感染、入侵、破坏的目的。那麼应该如何判断到底哪个是病毒进度呢?标准的svchost.exe档案应该存在於「C:Windowssystem32」目录下,如果发现该档案出现在其他目录下就要小心了。(提示:svchost.exe档案的呼叫路径可以通过「系统讯息→软体环境→正在执行任务」来检视埠。)


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:30:25 21楼 举报

黑客真正的定义什麼是(黑客or骇客)?


IPB Image

什麼是(黑客or骇客)?

在JargonFile里有数个"黑客"的定义,主要形容"技术专才""有志解决问题及超越极之人士"。其实要成为黑客,只有两个要点最初黑客是形容一班最初使用早期微电脑及ARPAnet实验的专业程式员及网络专才。他们崇尚共享主义、他们建立互联网、他们建立及发展成现今的Unix作业系统、他们管理Usenet讨论组亦是他们令互联网运作。因此若你有上述的特性及参与同类的社群,亦有对以上种种作出贡献同时社群的人知道你是谁又称你为黑客,你便是黑客。然而黑客的理念并非只局限於这"软件"的社群,有很多人应用黑客的态度於其他事物例如:电子或音乐上.....等等。实际上黑客的理念存在於任何科学及文学。由於了解黑客的理念及精神,软件社群的黑客亦会称后者为黑客。有些人亦认为黑客的理念是独立於黑客所从事的媒体。然而我们将在这篇文章专注讨论软件黑客的技巧、态度及传统。另外有一群人亦称自已为"黑客",他们(多数是年青人)用电脑侵入其他电脑的系统作出破坏。黑客们称这群人为"破坏者(Cracker)",亦不认同他们为黑客。多数黑客会认为破坏者是懒惰、不负责任、不杰出的人。有能力侵入保安系统并不能使你成为黑客,正如可以用铁线来偷车并不能使你成为工程师一样。不幸的是很多作家及报导员均称这群人为"黑客"CRACKER 与 HACKER 的主要区别是前者为破坏而后者为建设。若你想成为黑客请看下去,若你只想成为CRACKER请到alt.2600讨论小组准备作出系统破坏。我相信你不会感到自己是想像中的聪明,我对CRACKER便说到这里为止。


黑客的态度:

黑客解决问题、建立事物相信自由及共享主义。要成为黑客及被接受为黑客,你的行为必须"表现"出上述的态度。要"表现"上述的态度,你必须"真正相信"上述的态度是正确的。相信上述的态度并非只认为要被接受为黑客,而是要使你能学习及保持成为黑客的自发性。正如其他的创作艺术一样,学习必须同时著重理念与态度。所以要成为黑客仔细了解下列各点直到你相信为止:
 
1. 世界是有大量有趣的问题是等待解决的:

成为黑客是一件满有趣的事情,但背后同时要付出努力,努力却须要自发性。成功的运动家有强烈的欲望去使自己发挥至极限,正如同黑客必须有欲望去解决问题,不断加强技术及运用智慧。若你并非此类人,要成为黑客你便需要作出改变,否则你的黑客生涯及能量只会被性欲、金钱及社会的既定价值观所消耗,一点一滴地消耗。(你必须有强烈信念,相信纵使你暂时不能解决整个问题,但是你能解决其中一部份、以及能从中学习,你会可以解决另外的一部份直到解决整个问题为止。)

2. 没有人应该有需要解决同样问题两次:

你的智慧是一个很有价值,但同时很"有限"的资源。请不要将这有价值的资源用来"重新发明车轮"。因为有很多其他尚未解决的问题是等待著你的,要成为黑客你必须相信其他黑客的思想时间非常宝贵,所以你有道德上的责任去分享资讯、解决问题及将其解决方法分享,使其他黑客不须再花时间解决同样问题、而可以用时间解决新的难题。(你不需相信你必须将所有你的创作分享,纵使愿意如此做的黑客是最受人敬重的。售卖足够的创作以购买食物、支付租金及使用电脑的费用并不违反黑客的价值观。运用你的骇客技能养活家庭,甚至致富亦可以,只要你做这些事时不要忘记你是一名黑客)

3. 拒绝沉闷及乏味的事情:

正如一般的创作者,黑客不应做沉闷及乏味、愚蠢及反反覆覆的事情。因为这表示他们不是做著只有他们才可以做的事(解决新问题)这样实在太浪费了。因此沉闷及乏味的事情对黑客而言不仅只是不良,而是邪恶的。要成为黑客你必须相信此观念以令你将所有沉闷及乏味的事情尽量自动化,不止为自己而是为其他人(其他黑客)但有时为了锻鍊或获得某种技术及经验,黑客亦要做那些重复又乏味的事情。但这是个人选择没有一个善於思想的人应被逼做沉闷的事。

4. 自由:

黑客天生反霸权主义,若有人可以向你下达命令,他便足以停止你、停止你去解决一切你认为有意义的问题。极权主义的人由於思想特殊,会给你一个极愚蠢的理由去停止你解决这些有意义的问题。为了不令你和其他黑客窒息,必须打击霸权主义(这并不是向所有权力挑战,正如小孩需要成人指导,罪犯须被压抑。黑客可同意接受某些权力,但只是有限及有意识地同意接受,那种极权主义的人所要求的绝非黑客所能认同)极权主义者很喜欢"禁制""保密",他们不相信自由合作及资讯交流,他们只接受可以由他们操控的"合作"形式。因此黑客必须对抗不合理的禁制、保密及以暴力或欺瞒压逼人民的手段。

5. 信念不能替代能力:

作为黑客你必须发展上述的态度及拥有其信念,但有信念不能使你成为黑客,正如有信念不能使你成为出色的运动家或摇滚乐手一样。要成为黑客你须付出智慧、锻炼及勤奋。因此黑客须要相信能力,任何方面的能力都是好的,一些只有少数人可领略的才能"更好"。而"最好"是一些需要高度智慧、技巧及高度集中力的才能。若你尊敬才能,亦渴望得到。你所付出的努力将成为乐趣而非沉闷的事情,这亦是黑客必须拥有的。


基本黑客技能:

黑客态度固然重要但黑客技能更重要,态度绝不能替代才能。因此你必须学习一些基本知识才会被称为黑客。由於科技不断演进这些基本知识会不断改变(例如:以前须要机械码才能编写电脑程式,但近来人们却爱用HTML)。在现代你需要下列知识:

1‧学如何写电脑程式:

这当然是最基本的骇客技能,如果你不懂任何电脑程式语言,我便建议你学Python。这是一个清楚地设计的,有清析记录语法的,适合初学者的电脑程式语言。虽然它可能是你的第一种学习的电脑程式语言,但它绝非一件玩具。它是非常强力,有弹性而又适用於大型项目的电脑程式语言。但紧记若你只懂一种电脑程式语言,你不能成为电脑程式员更遑论成为黑客。你需要了解程式编写方法,而且不受任何一种电脑程式语言限制。因此你要学习如何只参看使用者指引,将其中内容与你所学关联,便能於数天内学懂一种新的电脑程式语言,即是你要学习多种不同的电脑程式语言。如果你对电脑程式要求严格你必须学习UNIX的核心语言C(虽然 C 并不应是你第一种学习的电脑程式语言)其他黑客需要学习的包括PerlLISP。由於实用性Perl是值得学的,Perl是广泛地用於Active Web Pages系统管理上的,因此就算你不会用Perl来编写程式你亦需学习如何阅读及了解Perl。至於学习LISP能给你一个意想不到的宝贵经验,有助你於日后的日子里写便好的电脑程式,纵使你可能不会时常用LISP来编写程式。因此你最好完成以上四种电脑程式语言的学习(Python,C,Perl及LISP)。除了是最重要的黑客语言,它们亦代表不同的程式编写方法。每种语言都从不同方向使你获得宝贵经验,我不可能在此教导你如何编写电脑程式因为这是一门复杂的技能,我只可对你说的就是书本与课程并不有效(很多甚或是大多数的黑客都是自学的)。最有效学习电脑程式是(一)阅读程式码。(二)编写程式码学习编写电脑程式就如学习普通语言一样,最佳方法是阅读一些别人的大作,然后写一些程式,再阅读多些,再写多些.....直至你发展出你独有的一套编写电脑程式方法。寻找好的程式用以阅读和学习是非常困难的,以往是很缺乏一些比较大型的程式供初学的黑客练习。但现在情况已经有所改变,开放程式码的软件,电脑程式编写工具及作业系统(都是由黑客创造)现代是很容易便可以取得,正好带领我们到下一个题目.....。

2‧取得一份开放程式码的UNIX作业系统然后学习它:

我假设你拥有/或者可以使用一台个人电脑(现今的小孩随时都可以很容易地得到)成为黑客的第一步是在你的电脑上安装一套LINUXBSD-Unix的作业系统及使用它。当然世界上除了UNIX外还有很多其他作业系统,但其他作业系统都是视窗形式的,你不但无法阅读那些程式码、你亦无法改动它们。在DOS、WINDOWS或MAC.....等等的作业系统上从事黑客活动,便像穿著盔甲学跳舞一样。另外UNIX是互联网上的作业系统、虽然你可以不懂UNIX但仍能使用互联网,但若你不懂UNIX你不能在互联网上从事黑客活动。因此现今黑客们大多是精於及偏爱UNIX的。(以前的黑客可能不同意,但互联网及UNIX的相互关系已令其他 -- 包括微软的作业系统难於取代)。所以请安装一套UNIX,我个人喜爱LINUX但其实有其他种类的(你可以同时安装LINUX及DOS/WINDOWS在同一电脑上)。学习它、使用它、把玩它、用它来上互联网,阅读及改动它的程式码。它比微软等的作业系统提供更好的程式工具(包括C,LISP,Python及Perl)。你会得到趣味及学到比你想像更多更佳的知识。(注:若你是初学者我不建议你独自安装LINUX或BSD,若你欲安装LINUX可以到一些LINUX的使用者团体寻求协助或者到Linux Internet Support Co-operative(LISC)的IRC 频道看看)。

3. 学习如何用互联网及用HTML来写网页:

大部份黑客所做的事情,如在工厂及办公室或大学里的工作,是不会对非黑客做成影响的。但互联网却是一个例外,就算政治家都承认互联网是一个足以影响世界的东西。亦由於这原因(及其他种种原因)你要学如何在互联网上工作。这不是说你要学如何使用浏览器(人人都懂使用.....),我是说你首先要学用HTML来写网页。若你根本不懂写程式,用HTML来写网页可帮助你得到一些程式编写的基本概念。可是写网页仍不足够,在互联网上有很多网页但大部份都是没有方向、明显地没有内涵的网页。(你大可到The HTML Hell Page看看)所以你的网页一定要有内容且必须是有趣的及/或有用的(对其他黑客),这便是我在下一个题目要说的.....。


黑客社群的身份:

像大部份非谋利的社群,黑客以名誉为重。你会尝试解决有趣的问题,但问题是否有趣及你的解决方法是否有效,却只有其他具有技能的黑客们可以去品评。因此要玩黑客这个游戏你要以其他黑客对你的观感作为自己的评价。(正如我说你不是黑客除非其他黑客亦称你为黑客)。不过这事实却有时被人误解,因为他们多以为黑客是孤独地工作的人。人类学家称黑客为贡献社群。黑客得到地位及名誉并非来自强於他人的权力,亦非由於外表美丽或有异於常人的能力,而是源於施与。清晰地说是将你的时间、创意及创意的结果贡献他人。

基本上你可以贡献这五方面的东西以获得其他黑客的尊重:


1. 编写公开程式码的软件:

首先(最传统及基本的方法)是编写一些其他骇客认为有趣又有用的程式,而且将程式码公开。(人们以前会称此类程式为[color=blue]”免费软件Freeware”,但由於太多人將"免费软件Freeware”的意義誤解。現時大部份人稱此類程式為Freesoft公开程式码的软件)黑客界最受人尊重的圣者是一些编写大型、功能强劲而又很有用的公开程式码软件,供其他人使用。

2. 帮助他人测试及除错(test and Debug)公开程式码的软件:

在这不完美的世界,人们无法避免花很长的时间用於测试及为软件除错。因此很多公开程式码软件的作者都会高度评价那些好的程式测试员(可以清楚表达程式错误表徵、程式错误位置、能接受软件在开发期间的暂时性错误及继续测试)。一个好的程式测试员可以使如恶梦的测试(test)除错(Debug)工作变为一件值得经历的小烦恼。若你是初学者你可以找一些正在开发阶段而你又感兴趣的程式来做测试及除错,当你懂得测试及除错你自然会学习更改程式。这樣你不单可以学习亦可以与其他专家建立良好的关系,而他们亦很可能会於未来给予你帮助。

3. 发行有用的资讯:

另外一点是你可以收集及挑选有用的资讯并制成网页或FAQ(常问问题),以供诸同好。技术性FAQ的经营者往往很多人的专重,如同编写公开程式码的软件的专家一样。

4. 帮助系统运作:

黑客社群(特别是互联网的发展者)是由自愿者组成的,当中有大量必须但平淡的工作须要有人去处理例如:管理电子邮件、监察讨论小组、经营大型程式的储存网站及发展技术性标准等。做以上工作的人得到很多人的专重,因为人人都知道此种工作是很花费时间但又不如编写程式般有趣,此等工作须要使命感。

5. 为黑客社群服务:

最后你可以为黑客社群服务及传扬(例如:你可以写一篇如何成为黑客的文章通常你不会做这些工作,直至你已做了以上四种的工作的其中一样)。黑客社群没有一个既定的领导者,但却有为人尊重的英雄及长老级人物等发言人。当你在此有一段时间的经验,你可能会成为其中的英雄或长老。但记著黑客社群对傲慢的自我中心者并不认同,所以不要成为如斯的领导人物。你不应追求成为领导人物,你应了解自己的方向及以谦虚的心来看自己的地位及身份。


黑客(白帽)与怪客(黑帽)的关系:

与传说不同黑客并不一定是怪客,但有很多黑客却实在是怪客。通常社会不甚认同的怪客会有更多时间习中思考及从事黑客活动。因此很多黑客都以怪客为名,并以此表示自己独立於社会一般的观念。你可看这里得到更多此等讨论,若你可以集中精神从事黑客活动,做得又好而又可以维持生命,实在是很难得的事比起70年代来说现在做黑客是比较容易的了。人们亦开始了解黑客其实是高质素的人才,但若你是由於太苦闷而做黑客的话,我亦欢迎你最少你可以比较专心地从事黑客活动,可能有一天你会得到人生的乐趣。


其他事项:

我想再说一次若你要成为黑客你必需要有黑客的理念,就算你不是在电脑前面你亦可以做以下与此理念有关的事情:(当然没有事情可以取代黑客的电脑活动。)

1.阅读科技文章,参与科技会议(在场内很可能遇到其他黑客)。
2.学习禅及工夫武术(理念与黑客的理念在很多方面相近)。

3.发展分析音乐的听觉,学习欣赏特定的音乐,学习以一种或以上的学器,学习唱歌。
4.学习欣赏文字及双关语。
5.学好你本土的语言
(有很多黑客都是有才能的作家)。[/b]

多做以上的行为你更容易成为黑客,可能因为上述的行为是会将左脑及右脑的混合使用(黑客需要以理性分析事情及於一瞬间以逻辑以外的思考来处理有关工作)。


最后一些你不应做的事情:

1.不要用愚蠢、浮夸的User ID或假名。
2.不要卷入Usenet及其他讨论的骂战。
3.不要自称为"电脑流氓"亦不要与此类人交往。
4.不要发放有大量错字或错文法的电子邮件及电子讨论


若你做出上述的事情,你将会得到很坏的名誉,黑客有很好的记性,你的所作所为会令你将要经过多年才会被其他黑客接受。用假名的问题值得我们深思,将身份隐藏是小孩子的做法另是Cracker、warez、d00dz及其他低等生物的特徵黑客不会做这些事他们对自己的创作及行为表示骄傲,因此爱用真名。因此若你现在用假名请你立即放弃,在黑客社群里只会将用假名的人视为失败者。


黑客的技术层级:

1.第一等级的黑客

第一等级的黑客,一般都是属於拥有发现软件本身存在弱点的能力,并且有能力建立、修改程式码的程式设计师。这种类型的黑客一般具有正面的形象,同时也会避免太出风头,引人注目,所以很少成为新闻报导注目的焦点。归类来说,他们仅仅只会出现在一些系统安全的讨论社区,并且发布一些他们发现的安全漏洞或程式。一般来说,第一等级的黑客通常都可以深入了解OSI模型以及TCP堆叠的架构。撰写程式只是嗜好之一,并且他们会在这方面主动奉献宝贵的时间与精力,同时也会持续不断累积目前的知识与技巧。并非所有的第一等级的黑客都是令人厌恶的,实际上有一些还会主动发展一些使用在所有网络安全方面的技术例如:来自ISS X-force、Bindview Razor Team、以及AXNET SWAT(目前已经被Symantec所购并)族群。第一等级的黑客多半都可以独立作业,或是从许多不同的地点透过入侵团队的网络来达成目的,所以产生难以追踪来源的困扰。这您可以从IRC(Internet Relay Chat)频道,例如:DefCon聊天室或是精通电脑的社区群组中,逐渐发现这些群体。通常第一等级的黑客多半都会撰写程式,同时这个群体的其他成员会在通往目标的路上,一再地反覆测试和执行这个程式。这种分工合作所建立的团队评价,高过团队中的个人。

2.第二等级的黑客:

在这一个等级的黑客,具有相当於系统管理员技术的层级。同时他们具有比第一等级黑客拥有更多的共同点,就是拥有多种作业系统的操作经验、熟悉TCP/IP,并且也非常熟悉这些系统的许多弱点。他们一般都不具有较为深入的知识,但是广度却比第一等级的黑客大许多。这种等级的黑客可以是大型机构里面安全团队的一份子,具有撰写或是描绘出需求能力的层级。举例来说:他们具有从一部Unix将工具移植到其他设备的能力。因此大多数的安全顾问都是属於这种阶层。这种阶层的黑客大多数都是以电脑作为主要的工作,并且可以深入了解电脑是如何的工作。他们会广泛的收集一些工具程式、可靠的方法以及技能,但是在特定的技术领域上,多半都必须依赖其他人来确认以及开发程式码。第二等级的黑客较为喜欢尝试一些较新的工具程式,并且通常都是测试版软件的测试设备,以及兼职开发人员开发免费软件或是开放程式码的一些安全工具。他们同样地也可以做为安全邮件列表中不需要特别过滤的发信人。

3.第三等级的黑客:

这个等级的黑客是金字塔的最底端,同时也是人数最为庞大的黑客族群,这个族群成员的共通点是自视为智慧财产的散播人。这个词汇的起源来自於他们必须依赖一些已经完成的程式码,并且重新包装成入侵的工具程式,同时透过Internet下载到他们希望入侵的目标。一般来说,这一等级的黑客多半都是从获取非法存取以及开启一些未经测试的程式码开始。对於其他人(特别是网络的使用者以及网络本身)而言,这样的做法是特别危险的。基於这些理由,这一等级的黑客只能获得我们些微的敬重,但是相对而言这一等级黑客多半都是困扰与危险的源头。此外,这一等级黑客多半都可能是大型机构里面的问题源头,这是因为他们从不害怕在网络上一再地执行一些未经测试的程式码,同时也不会去了解这些程式码的目的以及可能造成的影响。类似这样子不负责任的实验态度以及不完整的知识,通常都是导致灾难的源头;最常见的就是在无意之间导致机密资讯的流失。不论是程式码或是入侵工具,都会显示一些网络系统上脆弱的漏洞,但是您应该要谨慎且小心地使用这些工具。一旦被这些工具瞄准或是攻击时,不论这是攻击者的意图或只是不了解这些工具的功用,他都会在这些意图攻击的目标上造成影响。当然我们多半可以非常明确地辨识出这一等级的黑客,并且(或许)可以找到他们(与第一等级黑客比较起来的话)。我们曾经见过使用特殊的Unix程序(例如使用Unix的NFS Mount)来攻击NT系统。一般他们都不会试图隐藏他们的踪迹、事实上他们的作为可能只是希望引起他人的注意而已,例如:执行连接埠扫描器重复地扫瞄1开始到65536的所有可能连接埠编号。在最低限度的入侵侦测以及监测下,可以很容易的发现他们的意图并且停止他们的行为。这一等级的黑客一般都是采用木马入侵的方式,并且通常都可以在一些恶名昭彰的黑客工具列表里面,找寻到这些木马程式的详细资料。或许他们感觉如同电影情节一样,可以成功地入侵一些系统同时可以藉由入侵的成果让他们提高身价并且成为电脑技术菁英的一份子。这样的行径特别吸引一些程式设计师可以握有一些在电脑经验方面评等的价值观,同时也可以展现给其他同属於这一等级的黑客知道。设法出风头或许是他们最主要的原因,否则为什麽他们会希望被找到呢?例如:成功的入侵IRC频道的经验,他们也会也很有兴趣让其他人知道。这一类的黑客并不一定是电脑相关技术的专家。实际上他们多半都是在Internet上面的一群年纪较轻并且可能只是一些学生所组成的黑客。


[0] [-1] [回复]

g950g950 (斑竹) 2007/08/13 02:32:21 22楼 举报

怪客(Cracker)入侵正确观念:


IPB Image


一、建立正确的观念:

问题:

某个电脑有打开port139为什麽无法进入?
某个伺服器已打开port80黑客要如何入侵?
黑客有什麽方法一定可以入侵某台电脑中?
有什麽工具或方法一定可以让黑客进入某台电脑或破解某个密码?
为什麽无法破解进入某台电脑或网站的密码?
木马已经植入被当肉鸡电脑中为何一直连线不到?
........and more

======================================================================================================
相信只要有些基本网络概念的组员一定都会觉得这些问题有些不可思议,如果只是打开某些port就可以轻易的侵入,那谁还敢上Internet阿?相信甚至连黑客自己也不敢。[b]怎麽可能有一定可以入侵电脑或破解密码的方法呢?如果真能如此,那Windows还能用吗?Bill老大还混得下去吗?答案是否定的。台湾小弟必须强调许多黑客的入侵或攻击虽然没有想像中的困难,但也没有那麽容易就可以轻易完成,更没有一定可以入侵某个网站、电脑或破解密码.....等这种100%成功的作法或工具,如果真的有的话那Internet的世界早就不存在了。这是个非常简单的逻辑,请您脑筋转一下就想得出来,所以请各位组员帮帮忙,以後不要在散播这种逻辑上根本无法成立的问题。不过严格来说大多数的黑客任务并非易事,不仅需要具备完整的网络知识(特别是TCP/IP与IP技术方面的了解),更重要的是丰富的实战经验与累积,以及会编写网络程式、不怕失败与不屈不挠的精神.....。否则想要了解黑客高手的做法肯定比登天还难,所以还是要好好努力的。


二、Internet世界的基本原理:

不论是从黑客防黑的角度,都必须了解我们电脑中的程式、Windows系统如何与Internet世界中的各种伺服器、网站主机、一般电脑....建立网络连线的关系,也就是Internet世界的基本原理架构啦!

a.如何决定port号码?

一般来说每个网络软件都可以打开任何一个port号码来使用(只要该号码没有其他软件在使用),不过为了在网络连线时的畅通与避免复杂,有些网络软件(或硬件)就会固定使用某个(或数个)port,而大家也就依循这些不成文的规定来进行,例如:浏览器与远端的网站主机一定是透过port80来进行连线(一般网页),但是如果某个网络软件已经先打开port80来使用,此时打开浏览器就无法浏览任何网站(因为无法使用port80),这样懂了吧?
所以依照目前大多数网络软件所使用的port号码,下面列出常用的几个port供您叁考。

Port 21 FTP档案下载上传服务
Port 23 Telnet主机连线服务
Port 25 SMTP发信服务
Port 80 HTTP网页服务
Port110 POP3收信服务
Port119 NNTP新闻讨论区服务
Port139 NetBIOS网络芳邻、档案总管连线服务
Port443 HTTPS SSL加密网页服务
Port1243,27374 Subseven木马程式使用
Port5631 PCAnywhere使用
Port12345 Netbus 木马程式使用



三、您的电脑目前打开哪些port?

要知道目前是否有黑客入侵您的电脑最好的方法就是察看目前您的电脑中有哪些软件打开了哪些port而这些port又与那个网站或电脑连接,对方的IP位址、使用那个port...等讯息,这里我们告诉您一种最简单的方法来查看。
点击"开始"---->"运行"---->"输入cmd"---->进入dos
C:Documents and SettingsAdministratornetstat -n

[b]Active Connections
这是您上网IP位址与 这是连线对方位址与 State
连接使用的Port 使用的Port.......等
Local Address Foreign Address
Proto xxx.xxx.xxx.xxx:80 xxx.xxx.xxx.xxx:1479 ESTABLISHED(正在连线中)
Proto xxx.xxx.xxx.xxx:21 xxx.xxx.xxx.xxx:445 TINE_WAIT(连线後已切断)
Proto xxx.xxx.xxx.xxx:110 xxx.xxx.xxx.xxx:443 SYN_SENT(正送出连线数据包)
。 。
。 。


C:Documents and SettingsAdministratorexit
如果您对於各项常用的port很熟悉的话,应该就可以很容易的看出上述所显示的连线讯息,只是它并没有指出到底是您连接到外部的电脑还是他人连接到您的电脑,所以还要有较多经验才能作更准确的判断。


四、黑客入侵的原理与方式:

相信由前面的说明您可以看出port绝对是黑客攻防的重要关卡(少数例外,例如数据包溢位瘫痪攻击),黑客千方百计要透过任何一个port来进入被当肉鸡的电脑中,而尽量将黑客阻挡在所有port之外则是保护您电脑的最佳方法,而依照大多数对port的攻防战,黑客的入侵可以分为正常入侵漏洞入侵网页或邮件入侵....等等这三种方式:

a.正常入侵原理:

所谓的正常方式就是透过Internet连线的方式来进入其他上网的电脑各类服务器主机中,就像是在LAN中连接到其他电脑一样,只是Internet世界是WAN而不是LAN,而在Windows系统中最典型的作法就是透过Port 139(也就是磁盘共享)的方式,使用档案总管或网络芳邻就可以连接进入其他一般电脑或各类服务器主机中,然後进行各项黑客任务。[b]问:你有没有说错?服务器主机怎麽可能设定磁盘共享,敞开大门让大家自由进出呢?答:是没错,大多数的服务器主机根本不可能有这样的管道可进入,然而就是有极少数服务器主机的网管人员不注重网络安全或粗心大意,让黑客可以轻易猜到密码或没有关闭预设共用漏洞,就有机会可以使用档案总管或网络芳邻轻易进入,所以千万不要以为此方法是无法入侵服务器主机的,有时小兵也是可以立大功的。除了Port 139之外,其他的正常入侵手法就要看服务器的特性了,例如:提供Telnet、FTP或终端机服务(Terminal Service)的服务器,若能猜中具有最高权限的使用者名称(例如:Admin或root...等等)与密码,就可以入侵後进行许多黑客任务,只是大多数的服务器当然不可能这麽容易就进入,那就必须靠下一种方法漏洞来入侵了。

b.漏洞入侵原理:

对於大多数的各类服务器(Server),利用正常入侵是很难成功的,因此寻找服务器所使用的系统(如IIS)Windows(或Linux、UNIX)本身的漏洞来进行入侵是许多黑客常用的手法,也是常见的成功方式,而对於无法入侵的一般个人电脑也是可以寻找与利用被当肉鸡者使用的上网软件(如:IE、Outlook、Express、MSN、QQ.....等等)来找出入侵的方法,当然这笔帐肯定是要算到各软件商的头上,特别是万人拥戴、亿民唾弃的Bill老大,谁叫他老人家的产品破洞连连,弄得Windows子民们个个人心惶惶,不知所措,整天漏洞补不完,让黑客们大行其道、上下其手、不亦乐乎。漏洞(Exploits)在黑客的攻防中是一门很大的学问,虽然漏洞到处都有(Exploits Everywhere?!),但却有很多种类与状况:

★许多漏洞在黑客入侵上并不具有价值,而有许多漏洞还必须在特定状况或环境下才能发挥作用,否则仍然是英雄无用武之地。
★在实作上必须针对肉鸡电脑所使用的作业系统种类、特定的版本或环境来使用,并不是任何肉鸡电脑都能使用。
★即使找到了可利用的漏洞还必须要有适当的工具程式来发挥它才行,若找不到或黑客自己不会设计则仍是巧妇难为无米之炊。
★通常单独一个漏洞很难进行较完整的黑客任务,因此多需要再搭配其他工具、手法或其他更多的漏洞,再加上丰富的经验来进行才有可能成功,绝不是仅仅知道漏洞在哪里、那台电脑有这个漏洞就可以轻易的入侵。


这些都是黑客使用漏洞入侵时所面临的艰困之处,所以虽然漏洞是入侵成功之母,但也并非任何人都可以轻易使用,若没有足够的网络知识、丰富的实战经验、不认输的耐力与精神,
想要使用漏洞来成功入侵是很不容易的。

c.网页或邮件间接入侵原理:

前述两种方法都是直接入侵到某个电脑或服务器中,但是如果都不成功的话,那就只好利用网页或邮件来间接入侵,也就是在网页或邮件中夹带病毒、木马、恶意程式、达成某个目的程式或注册表机码....等被黑者不上当被扫毒软件发现被防火墙阻挡...等等因素,都会造成入侵失败,因此这个方法要成功的机率是最低的,所以比较有经验的黑客通常是最後才使用这一招,毕竟靠运气成功不是很容易的。

☆黑客入侵操作流程:

1.首先黑客隐藏上网的IP位址

2.寻找下手目标
|-------------------------------|
3.Windows直接入侵--------> |
| |
4.漏洞直接入侵---------------> 进行各项黑客任务 |
| |
5.间接入侵或破坏------------> |
|------------------------------- |
6.骗取各类密码


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:33:57 23楼 举报

木马正确观念:


IPB Image

一、什麽是木马?

其实木马最主要的目的就是潜伏在被黑者的电脑中收集各式各样的资料,然後传送给黑客,通常木马可分为两种,一种是黑客可透过远端控制方式来获取资料,木马就是植入被黑者电脑中的服务端程式,而黑客则使用客户端程式,这种多半是多功能的木马。另一种则是木马植入後,自行收集资料然後传送给黑客(使用电子邮件、发送msn或icq讯息等),这种通常是特定功能的木马。


二、木马与病毒的不同之处?

虽然很多人都将木马视为病毒的一种(其实这是扫毒软件误导大家的错误观念),但事实上两者是不一样的,而且有着很大的不同:

a.病毒:以各种可能的方法进入您的电脑中,造成软硬件的损坏、无法操作、不能开机、档案无法读取、某些功能不能使用....等各式各样的破坏行为,这样的程式就是病毒。

b.木马:以各种可能的方法进入您的电脑中,造成某些档案被偷或被看、某些帐号与密码被窃、信件被偷看、一举一动被监视、收集各种资讯...进行任何未经被黑者允许的行为,这样的程式就是木马,就好像电脑中有个内贼似的。这样您可以看出病毒完全针对电脑的软硬件以破坏为主,然而木马却像是窃贼一般,到处翻箱倒柜,查看与偷走有价值的东西。


三、木马可以帮黑客做什麽?

当然最主要的还是决定於黑客想要取得什麽东西,例如:若是同行业竞争,当然最想要取得被黑者的业务机密或公司资料;若是情报间谍特工,当然就希望取得有用的国家机密或资讯;若是侵入情人的电脑,当然就是想知道更多对方是否有偷吃或跟别的异性秘密交往。


四、木马的种类:

a.综合型木马
顾名思义就是这类木马提供了多种功能,而且通常可以进行双向沟通,也就是黑客可透过客户端程式(或电子邮件)与被黑者电脑中的服务端木马进行连线,然後由黑客下达命令或操作後进行多种不同任务,而依照操作或下达命令的方式又可分为四种。

a-1视窗木马:这是典型的视窗软体,例如:SubSeven、Back Orifice 2K....等,程式较大是各种扫毒软件的主要头号通缉目标,这类软件并不多,毕竟没有人愿意花许多时间与成本去设计具多种功能无法赚钱设置被许多人视为毒蛇猛兽的软件。

优点:其实真正的高手级黑客毕竟不多,许多黑客都是所谓黑客工具使用者而已,所以有这样的视窗木马当然是一大福音,不需要具备高深的网络知识也不必有丰富的黑客经验只要会使用这类工具就有机会进行黑客任务,对许多想要做黑客却没能力自己设计木马的人而言就是一个很棒的礼物。

缺点:这类工具多半恶名远播再加上数量并不多,因此几乎都是各扫毒软件的首要通缉犯,因此对只会使用工具的黑客而言失败机率很高,也因此发展出所谓的木马伪装术,使用各种技巧方法来易容伪装,让扫毒软件无法辨认出来,不过各扫毒公司也不是笨蛋,通常新版的病毒码就可以辨认出来,然後黑客就要再想其他的伪装易容术。

a-2DOS命令列木马:其实这种木马通常没有提供什麽功能,它主要是在被黑者电脑中打开一个後门,然後让黑客连接进入後以DOS模式来操作,所以要做什麽事就由黑客自己进行,这类木马通常都很小也比较不容易被扫毒软件发现,例如:WinShell、Telnet木马就属此类。

优点:这类木马较小知名度不高比较能逃过某些扫毒软件的追杀,只要成功入侵後就可以进行许多黑客任务,就如同在DOS下操作一般。

缺点:使用者必须熟悉DOS操作指令,否则很难使用所有的黑客行为都必须由黑客自行操作没有专门的功能可以帮忙,有些重要的黑客任务更无法做到,例如:按键与屏幕画面监控。

a-3电子邮件木马:不论是视窗木马或DOS木马只要被黑者电脑连线都很难逃过防火强的阻挡或是监控软件的查看,因此利用电子邮件来进行木马遥控的程式就出现了,因为常理而言任何的防火墙都不会阻挡邮件的接收,由於此方式也没有与被黑者电脑进行连线,因此监控软件也不会发现任何异状,当然成功机率就高出许多,相信这类木马应该会逐渐增多。

优点:只要成功植入Server程式,几乎就可以长期藏匿在被黑者电脑中而不被发现,而且黑客也可以顺利的使用电子邮件进行远端遥控很难被发现。

缺点:使用电子邮件来进行遥控当然较其他木马逊色许多,所能进行的工作仅限於Server程式所提供的功能,因此有些工作可能就无法做到,另外如果被黑者会对所收到的邮件进行严格的检查则还是有可能会失败。

a-4远端遥控软件:您可能会觉得奇怪遥控软件怎麽也是木马呢?其实说穿了遥控软件在功能上与视窗木马根本没啥差别,就像是菜刀可以切菜但也可以拿来杀人阿。虽然远端遥控软件的Server程式在设计上并不会那麽刻意让使用者看不到或很难发现,不过黑客若能有足够的理由说服被黑者安装Server程式则几乎就成功了。

优点:当然是所有的扫毒软件都无法也不能将远端遥控软件视为木马吧例如PC Anywhere,而防火墙也不能对它进行阻挡,而黑客也有充分的理由说服被黑者安装与执行Server程式,因此若黑客与被黑者熟识的话则成功机率颇高。

缺点:主要在於若是黑客与被黑者不熟识或根本不认识,则很难说服对方安装与执行Server程式,黑客只好另寻方法。另外一个缺点就是有些Server程式在远端遥控时会在屏幕上显示详细的操作情况而且还有纪录(log),这对於黑客当然很不利,只要被黑者看得懂操作或记录那当然就东窗事发,任务失败。

b.特定型木马
所谓特定行木马当然就是针对某方面或仅有单一功能的木马,通常这类木马再收集到资料後会主动传送给黑客必如使用email而不需要黑客与它进行连线,例如:
b-1收集被黑者按键记录的Keylooger木马。
b-2收集被黑者操作画面的木马。
b-3偷取网络游戏帐号或资料的木马。
b-4偷取通讯软件(如MSN、ICQ、QQ)帐号的木马。
b-5恶意、间谍程式。
b-6跳板程式或DDoS助攻程式。..........................and more

优点:1.通常这类木马并不需要与被黑者的电脑连线,所以不必担心被防火墙或网络监控程式发现的危险。2.这类木马程式很简单所已有程式设计功力的黑客就可以自行设计或修改公开的程式码,写出符合自己需求的木马。3.由於这类木马程式很容易设计,因此也多如牛毛让扫毒软件抓不胜抓,因此有相当的机率可以逃过扫毒软件的追杀,特别是黑客自己设计的木马若没有大量公开散布,而是自己私下秘密使用,则会被扫毒软件抓到的机率很低。

缺点:1.由於只具备特定目的或单一功能,因此能做的事就很有限,无法与综合型木马相比。2.对於不会写程式的黑客(这样还能算黑客吗?!),不容易找到符合自己需求的木马。


五、木马技术的演变与分类:

a.第一代木马:传统EXE执行档木马

这是最早期也是最常见、普通型态的木马,就是在被黑者电脑中以一般.exe档案执行的木马,当然这样很容易就会被扫毒软件抓出来,所以黑客会再对它进行伪装易容,然而即使逃过扫毒软件的追杀,对於叫有经验的使用者或网管人员还是可以使用系统管理员TaskInfo之类的工具抓出来。(因为第一代木马可藉由防火墙或网络监控程式经由Port监控抓出来,也因此有黑客发展出ICMP木马反弹Port木马来逃过追杀)

b.第二代木马:传统DLL/VxD木马

为了不让系统管理员TaskInfo之类的工具抓出来,便发展出此类木马,由於它本身自己无法执行,因此这种木马必须利用系统启动时或其他程式执行一并被载入执行,或是使用Rundll32.exe来执行它,如此在系统管理员TaskInfo之类的工具就找不到它(当然还是必需要经过伪装易容,否则还是可能被扫毒软件抓出来),这招在Win9x中很有用,不过在Win2K、WinXP中具有最高权限的使用者仍然可以使用工具查看出目前载入的所有DLL或VxD模组,然後找出可疑项目後删除。(此代木马也可藉由防火墙或网络监控程式经由Port监控抓出来,除非黑客设计成ICMP木马反弹Port木马来逃过追杀。)

c.第三代木马:取代挂勾式DLL木马

为了不让系统管理员或最高权限使用者找出DLL/VxD木马,黑客们当然又努力的发展出取代挂勾式DLL木马,也就是说它本质上仍然是DLL木马,但它却是取代某个系统DLL档案并将它改名(例如:木马取名为KERNEL32.DLL,原来的KERNEL32.DLL被更改为Kernelx.dll)然後对该系统DLL档案函式库所提供的各函式进行挂勾(Hook),当这些函式被呼叫时这代木马就会将相关叁数传递给真正的DLL系统档案(例如:Kernelx.dll)进行软件应该有的正常动作,但如果收到远端木马客户程式(Client)传来的讯息,就进行相关的黑客任务,这样最高权限的使用者或系统管理员都很难抓出来(当然还是必须要进行伪装易容,否则还是可能被扫毒软件抓出来)。这一代木马的出现就是曾经让Bill老大从龙椅上摔下来,紧急召见各大臣会商,最後终於在Win2K(含)之後的版本出现了系统会自动以数位认证方式检查各系统DLL档案是否为原来的档案,若不是就会提出警告,然後从Windows系统资料夹下的system32\dllcache中将备份的原来档案复制回来,如此就可以维持系统DLL档案不被取代,也确保系统的安全。

d.第四代木马:远端嵌入式DLL木马

自从第三代木马挂勾系统DLL档案的方式被Bill老大阻挡了,难道黑客们从此就消声灭迹了吗?Of course NOT,聪明的黑客又利用这几年来非常流行的远端缓冲溢位(Remote Buffer Overflow)的入侵方式,从远端将木马程式码写入目前正在执行的某程式的记忆体内存中,然後利用更改例外处理(Exception Handle)的方式来执行木马程式码(当然也有其他方式也可做到,例如:Remote Thread),虽然这样的技术在实务上难度较高,但是并非无法做到。


六、木马入侵流程:

1.选择木马种类。
2.取得木马或自己设计木马。
3.伪装木马。
4.植入被黑者电脑。
5.执行木马与被黑者电脑自动启动
6.开始进行黑客任务。



七、杀毒软件使用的十大误区:

几乎每个用电脑的人都遇到过计算机病毒,也使用过杀毒软件。但是,对病毒和杀毒软件的认识许多人还存在误区。杀毒软件不是万能的,但也绝不是废物。撰写此文的目的就是让更多的人能够对杀毒软件有正确的认识,更合理地使用杀毒软件。

误区一:好的杀毒软件可以查杀所有的病毒

许多人认为杀毒软件可以查杀所有的已知和未知病毒,这是不正确的。对于一个病毒,杀毒软件厂商首先要先将其截获、然后进行分析、提取病毒特征、测试、然后升级给用户使用。虽然目前许多杀毒软件厂商都在不断努力查杀未知病毒,有些厂商甚至宣称可以100%杀未知病毒。不幸的是,经过专家论证这是不可能的。杀毒软件厂商只能尽可能地去发现更多的未知病毒,但还远远达不到100%的标准。甚至,至于一些已知病毒,比如覆盖型病毒。由于病毒本身就将原有的系统文件覆盖了。因此,即使杀毒软件将病毒杀死也不能恢复操作系统的正常运行。

误区二:杀毒软件是专门查杀病毒的,木马专杀才是专门杀木马的

计算机病毒在《中华人民共和国计算机信息系统安全保护条例》中被明确定义,病毒是指“编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。随着信息安全技术的不断发展,病毒的定义已经被扩大化。随着技术的不断发展,计算机病毒的定义已经被广义化,它大致包含:引导区病毒、文件型病毒、宏病毒、蠕虫病毒、特洛伊木马、后门程序、恶意脚本、恶意程序、键盘记录器、黑客工具等等。可以看出木马是病毒的一个子集,杀毒软件完全可以将其查杀。从杀毒软件角度讲,清除木马和清除蠕虫没有配制的区别,甚至查杀木马比清除文件型病毒更简单。因此,没有必要单独安装木马查杀软件。

误区三:我的机器没重要数据,有病毒重装系统,不用杀毒软件

许多电脑用户,特别是一些网络游戏玩家,认为自己的计算机上没有重要的文件。计算机感染病毒,直接格式化重新安装操作系统就万事大吉,不用安装杀毒软件。这种观点是不正确的。几年前,病毒编写者撰写病毒主要是为了寻找乐趣或是证明自己。这些病毒往往采用高超的编写技术,有着明显的发作特征(比如某月某日发作,删除所有文件等等)。但是,近几年的病毒已经发生了巨大的变化,病毒编写者以获取经济利益为目的。病毒没有明显的特征,不会删除用户计算机上的数据。但是,它们会在后台悄悄运行,盗取游戏玩家的账号信息、QQ密码甚至是银行卡的账号。由于这些病毒可以直接给用户带来经济损失。对于个人用户来说,它的危害性比传统的病毒更大。对于此种病毒,往往发现感染病毒时,用户的账号信息就已经被盗用。即使格式化计算机重新安装系统,被盗的账号也找不回来了。

误区四:查毒速度快的杀毒软件才好

不少人都认为,查毒速度快的杀毒软件才是最好的。甚至不少媒体进行杀毒软件评测时都将查杀速度作为重要指标之一。不可否认,目前各个杀毒软件厂商都在不断努力改进杀毒软件引擎,以达到更高的查杀速度。但仅仅以查毒速度快慢来评价杀毒软件的好坏是片面的。杀毒软件查毒速度的快慢主要与引擎和病毒特征有关。举个例子,一款杀毒软件可以查杀10万个病毒,另一款杀毒软件只能查杀100个病毒。杀毒软件查毒时需要对每一条记录进行匹配,因此查杀100个病毒的杀毒软件速度肯定会更快些。一个好的杀毒软件引擎需要对文件进行分析、脱壳甚至虚拟执行,这些操作都需要耗费一定的时间。而有些杀毒软件的引擎比较简单,对文件不做过多的分析,只进行特征匹配。这种杀毒软件的查毒速度也很快,但它却有可能会漏查比较多的病毒。由此可见,虽然提高杀毒速度是各个厂商不断努力奋斗的目标,但仅从查毒速度快慢来衡量杀毒软件好坏是不科学的。

误区五:杀毒软件不管正版盗版,随便装一个能用的就行

目前,有很多人机器上安装着盗版的杀毒软件,他们认为只要装上杀毒软件就万无一失了,这种观点是不正确的。杀毒软件与其他软件不太一样,杀毒软件需要经常不断升级才能够查杀最新最流行的病毒。此外,大多数盗版杀毒软件都在破解过程中或多或少地损坏了一些数据,造成某些关键功能无法使用,系统不稳定或杀毒软件对某些病毒漏查漏杀等等。更有一些居心不良的破解者,直接在破解的杀毒软件中捆绑了病毒、木马或者后门程序等,给用户带来不必要的麻烦。杀毒软件买的是服务,只要正版的杀毒软件,才能得到持续不断的升级和售后服务。同时,如果盗版软件用户真的遇到无法解决的问题也不能享受和正版软件用户一样的售后服务,使用盗版软件看似占了便宜,实际得不偿失。

误区六:根据任务管理器中的内存占用判断杀毒软件的资源占用

很多人,包括一些媒体进行杀毒软件评测,都用Windows自带的任务管理器来查看杀毒软件的内存占用,进而判断一款杀毒软件的资源占用情况,这是值得商榷的。不同杀毒软件的功能不尽相同,比如一款优秀的杀毒软件有注册表、漏洞攻击、邮件发送、接收、网页、引导区、内存等监控系统。比起只有文件监控的杀毒软件,内存占用肯定会更多,但却提供了更全面的安全防护。同时,也有一小部分杀毒软件厂商为了对付评测,故意在程序中限定杀毒软件可占用内存数的大小,使这些数值看上去很小,一般在100KB甚至几十KB左右。实际上,内存占用虽然小了,但杀毒软件却要频繁的进行硬盘读写,反倒降低了软件的运行效率。

误区七:只要不用软盘,不乱下东西就不会中毒

目前,计算机病毒的传播有很多途径。它们可以通过软盘、U盘、移动硬盘、局域网、文件,甚至是系统漏洞等进行传播。一台存在漏洞的计算机,只要连入互联网,即使不做任何操作,都会被病毒感染。因此,仅仅从使用计算机的习惯上来防范计算机病毒难度很大,一定要配合杀毒软件进行整体防护。

误区八:杀毒软件应该至少装三个才能保障系统安全

尽管杀毒软件的开发厂商不同,宣称使用的技术不同,但他们的实现原理却可能是相似或相同的。同时开启多个杀毒软件的实时监控程序很可能会产生冲突,比如多个病毒防火墙同时争抢一个文件进行扫描。安装有多种杀毒软件的计算机往往运行速度缓慢并且很不稳定,因此,我们并不推荐一般用户安装多个杀毒软件,即使真的要同时安装,也不要同时开启它们的实时监控程序(病毒防火墙)。

误区九:杀毒软件和个人防火墙装一个就行了

许多人把杀毒软件的实时监控程序认为是防火墙,确实有一些杀毒软件将实时监控称为“病毒防火墙”。实际上,杀毒软件的实时监控程序和个人防火墙完全是两个不同的产品。通俗地说,杀毒软件是防病毒的软件,而个人防火墙是防黑客的软件,二者功能不同,缺一不可。建议用户同时安装这两种软件,对计算机进行整体防御。

误区十:专杀工具比杀毒软件好有病毒先找专杀

不少人都认为杀毒软件厂商推出专杀工具是因为杀毒软件存在问题,杀不干净此类病毒,事实上并非如此。针对一些具有严重破坏能力的病毒,有及传播较为迅速的病毒,杀毒软件厂商会义务地推出针对该病毒的免费专杀工具,但这并不意味着杀毒软件本身无法查杀此类病毒。如果你的机器安装有杀毒软件,完全没有必要再去使用专杀工具。专杀工具只是在用户的计算机上已经感染了病毒后进行清除的一个小工具。与完整的杀毒软件相比,它不具备实时监控功能,同时专杀工具的引擎一般都比较简单,不会查杀压缩文件、邮件中的病毒,并且一般也不会对文件进行脱壳检查。


[0] [0] [回复]

g950g950 (斑竹) 2007/08/13 02:35:55 24楼 举报

黑客入侵社交工程必备之职场上阶级术语:


IPB Image

CEO:Chief Executive Officer首席执行长
CFO:Chief Financial Officer首席财务长
CIO:Chief Information Officer首席资讯长
CKO:Chief Knowledge Officer首席知识长
COO:Chief Operating Officer首席营运长
RD:Research Development Engineer开发工程师
SFE:Software Engineer软件工程师
PE:Production Engineer生产制造工程师
PE:Project Engineer专案工程师
ME:Mechanical Engineer机械工程师
AAD:Associated Account Director副客户总监
AAD:Associated Art Director副美术指导
ACD:Associated Creative Director副创作总监
AD:Account Director客户服务总监、业务指导
AD:Art Director美术指导
AE:Account Executive客户执行、客户服务、客户主任
AM:Account Manager客户经理
AP:Account Planner客户企划(分策略企划和业务企划两种)
ASM:Area Sale Manager大區銷售經理
CD:Creative Director创作总监、创意总监、创意指导 大区销售经理
CGH:Creative Group Head创意组长
CV:Computer Visualizer电脑绘图员
CW:Copywriter撰稿人
DCS:Director of Client Service客户主管
ECD:Executive Creative Director执行创意总监
FA:Finish Artist完稿、画师
FA:Finish Artist Group Head完稿组长
GAD:Group Account Director客户群总监
GCD:Group Creative Director创意群总监
GMD:General Managing Director总经理
MD:Media Director媒体指导、媒介部经理
MS:Media Supervisor媒介主任、媒介总监
MP:Media Planner媒介策划
PD:Planning Director企划指导
PS:Planning Supervisor企划总监
PPM:Print Production Manager平面制作经理
PM:Production Manager制作经理
RS:Research Supervisor调查总监
SAD:Senior Art Director高级美术指导
SCW:Senior Copywriter高级文案
SM:Studio Manager画房经理、作业室经理
TCS:Traffic Control Specialist制管人员
TC:Traffic Coordinator平面制作统筹
TVP:TV Producer制片
VGH:Visualizer Group Head视觉设计组长
AA:Accounting Assistant会计助理
AC:Accounting Clerk记帐员
AA:Administrative Assistant行政助理
AC:Administrative Clerk行政办事员
AE:Application Engineer应用工程师
AM:Assistant Manager副经理
BA:Bond Analyst证券分析员
BT:Bond Trader证券交易员
BC:Business Controller业务主任
BM:Business Manager业务经理
CR:Clerk/Receptionist职员/接待员
CGM:Deputy General Manager副总经理
FC:Financial Controller财务主任
FR:Financial Reporter财务报告人
FM:Fund Manager财务经理
GA:General Auditor审计长
GMP:General Manager/President总经理
GMA:General Manager Assistant总经理助理
GMS:General Manager's Secretary总经理秘书
IA:Insurance Actuary保险公司理赔员
LS:Line Supervisor生产线主管
ME:Maintenance Engineer维修工程师
MC:Management Consultant管理顾问
MPR:Manager for Public Relations公关部经理
ME:Manufacturing Engineer制造工程師
MW:Manufacturing Worker生产员工
MA:Market Analyst市场分析员
MDM:Market Development Manager市场开发部经理
MM:Marketing Manager市场销售部经理
MR:Marketing Representative销售代表
OA:Office Assistant办公室助理
OM:Operational Manager业务经理
PC:Personnel Clerk人事部职员
PM:Personnel Manager人事部经理
PFM:Plant/Factory Manager厂长
PS:Project Staff(项目)策划人员
PM:Promotional Manager推售部经理
Pr:Proof-reader校对员
RM:Regional Manger地区经理
SP:Sales and Planning Staff销售计划员
SA:Sales Assistant销售助理
SE:Sales Executive销售主管
SA:Secretarial Assistant秘书助理
SO:Security Officer安全人员
SCA:Senior Consultant/Adviser高级顾问
SE:Senior Employee高级雇员
SS:Senior Secretary高级秘书
SM:Service Manager服务部经理
SA:Systems Adviser系统顾问
SE:Systems Engineer系统工程师
SO:Systems Operator系统操作员
TW:Technical Worker技术工人
TO:Telephonist /Operator电话接线员、话务员
TFE:Trade Finance Executive贸易财务主管
TM:Trainee Manager培训部经理
AM:Account Manager客户经理
TBE:Trust Banking Executive银行高级职员


[+1] [0] [回复]

zqdl_1984 2007/08/13 18:05:06 25楼 举报

不知道楼主哪里找来这么全面详尽的东西
感谢并收藏


[0] [0] [回复]

longyi (组长) 2007/08/13 18:51:02 26楼 举报

楼主:编辑、整理、发布辛苦了。

欢迎您到“操作系统爱好者”发布资源~

谢谢~ laugh.gif

IPB Image


[0] [0] [回复]

2007/08/13 18:53:44longyi 最后编辑 | 查看全部

baogun 2007/08/13 23:49:02 27楼 举报

太辛苦了
收藏
感谢


[0] [0] [回复]

cyzpp 2007/08/15 10:01:23 28楼 举报

你真的辛苦了

非常感谢。。。


[0] [0] [回复]

fred570 | 辛苦了... 2007/08/18 16:01:47 29楼 举报

感谢


[0] [-1] [回复]

wd_wxj 2007/08/23 22:54:23 30楼 举报

强贴啊,谢谢,学习中


[0] [0] [回复]

« 上一页 1 2 3


返回组首页


您可能需要登录以后才能回复!

关于我们 | 诚聘英才 | 著作权声明 | 合作信息 | 广告事务
沪ICP备05001009号
©2003 - 2009 VeryCD.com Some Rights Reserved.