友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
小说一起看 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

知者无畏--一个真实的簿世界-第6章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



镅缘拇嬖谟幸桓鲎罨镜奶跫褪切枰辛礁鼋涣鞯闹魈澹谖颐侨粘5慕涣髦校撬祷暗乃剑蛘呤榈淖髡吆投琳撸ň褪俏液湍悖诩扑慊氖澜缰校褪浅绦蛟焙图扑慊�
根据说话的双方和所说的东西,我们可以将计算机语言分成下面几大类:

* 机器语言:
使用这种语言说话的双方是计算机和史前的程序员,在这里史前程序员直接告诉计算机把什么数据放到什么地方,进行什么样的计算等等,这种语言说出来的话就是一串串的二进制数,比如说:
“00 E9 B3 00”的意思就是
“把寄存器CL的内容加上寄存器CH的内容,结果放到CL中,在寄存器BL中放入0”

* 汇编语言:
和机器语言没有什么本质的区别,唯一不同的是,程序员不用直接说出二进制的数字了,他可以使用一些简单的英文单词或者缩写来表示自己的意思。比如说刚才的机器语言片段,用汇编语言来说就是下面这个样子:
“ADD CL,CH”
“MOV BL,00”
由于计算机能够理解的只有二进制数字,所以在程序员使用的汇编语言和计算机使用的二进制机器语言之间需要翻译(程序),我们把汇编语言翻译成机器语言的程序叫做汇编程序,把机器语言翻译成汇编语言的程序叫做反汇编程序。

* 高级语言:
使用机器语言或者汇编语言写程序是一件非常非常困难的事情,如果没有高级语言的出现,现在我们绝对不会有多姿多彩的因特网,也不会有VCD、DVD等数字化的娱乐的出现,实际上,如果没有逻辑性更强,更接近人类思维习惯的高级语言出现,使用穿孔纸带和直接针对寄存器的操作指令,编写长达几百万行仍然可以正常运行的程序是不可想象的。
所谓的高级语言,是在汇编语言(机器语言)和人类所使用的自然语言之间的一种折衷,可以叫做严格(受限)自然语言,通过抽象出变量、语句以及随后出现的结构、对象的概念,可以让程序员用接近正常思维的方式来表示现实世界的逻辑和流程。
高级语言的代表有早期的FORTRAN(公式翻译语言)、COBOL(商用计算机语言),中期的C、PL/1、PASCAL、BASIC和比较新的JAVA、C++、ADA等。
高级语言和机器语言之间同样需要翻译,我们把高级语言翻译到机器语言的程序叫做编译器,而进行反向翻译的程序非常难以编写,需要进行这种翻译的时候一般都是人工通过经验进行的,我们把这种反向的翻译称为“逆向工程”。
高级语言的表达能力和机器语言是完全一样的(语言的表达能力,是指某种语言能否完整的描述某个事物或者某种行为,比如说,一种语言如果没有相对时间的概念,没有词汇可以表示“先”、“后”,那么,这种语言就不具有表达下面这个行动的能力:“先把鸡蛋放在碗里,然后再把盐放进去”)。科学家已经从理论上证明,一种语言只要有存储、判断、跳转等几个最基本的功能,就可以表达出所有现有的电脑上可能有的机器语言所能够表达的事物和行为。
所以使用高级语言并不会使计算机的功能下降,唯一损失的可能就是速度和效率了,但是在计算机速度越来越快、资源越来越丰富的今天,和高级语言带来的可理解性和强大的表达能力相比,这点损失是微不足道的。

* 因特网语言、脚本语言
这些语言实际上都是属于高级语言,但是鉴于他们在因特网时代的重要地位,在这里单独对他们进行描述,所谓的因特网语言,包括JAVA Script,VBScript、ASP、PHP等,这些语言基本上都是脚本语言。
他们设计出来主要是供因特网应用程序使用的,可以对网页、浏览器、服务器的页面进行操作,语法比较简单,基本上是解释执行的,不需要编译成二进制代码。功能受到限制,但是开发简单方便。

程序、代码、可执行文件

当你接触到电脑世界的时候,除了碰到计算机(也就是电脑以外),另外一个最常见的名词肯定是程序、代码或者可执行文件之类。其实这些名词指的都是同一个东西,就是可以运行的一块代码,那么什么是代码?什么是可执行的代码呢?
看到这本书的时候,中国队已经进入了世界杯,我们就来凑一下热闹,以足球运动员为例吧。假设有一个天才的足球运动员,他有很多天才的技能,比如说向前带球、向左带球、传球、射门等等,但是唯一的缺点是,这个运动员没有大脑,不知道在球场上该做什么。这个运动员很像一台无所不能但是没有装入任何程序的电脑。现在我们告诉这个运动员一些简单的规则:
1。 拿到球直接向前带球。
2。 如果发现正面有一个人拦截,就过掉他。
3。 如果发现有两个人拦截,寻找左边的接应队员,如果找到传给左边。否则寻找右边的接应队员,找到后传给右边。如果都没找到,尝试过掉两个人。
4。 如果发现有三个人拦截,把球向后传。
5。 如果和球门之间的距离小于10米,并且和球门之间少于两个防守队员则射门。
6。 如果。。。
这些规则的全部就是一个踢球者程序,告诉一个忠实的执行者—天才足球运动员(计算机)在什么情况下该做什么。程序是由代码组成的,代码就是一条一条的指令,指令就是告诉运动员(计算机)做什么,什么情况下做什么。
在电脑上,程序总是表示成文件的形式,实际上,电脑上的任何东西都表示成一个文件。一个文件,如果本身是一个程序,我们就称它为可执行文件,意思就是这个文件包括了很多指令,可以告诉电脑应该做什么。可执行文件一般是二进制的机器代码,但是随着操作系统的进步,可执行文件的范围越来越宽,很多批处理、脚本和其他解释语言的指令集合也可以看成是可执行文件,比如VBS文件等。

双击的陷阱

大家都已经非常熟悉的视窗环境,引入了(对不起,如果我没有记错的话,应该是苹果机首先引入了了程序关联的概念,视窗操作系统“借鉴”了这样一个概念,实际上鼠标、图标桌面等等名词都是来自一个非常著名的实验室,施乐的PARC实验室,最早出现在个人电脑上的图形界面、鼠标和应用程序关联,应该是苹果公司的麦金塔上的操作系统)。
随着视窗环境的流行,可执行文件的意义也扩展了,我们认为“凡是能够双击打开的都可以认为是可执行文件”,这种可执行文件的观念,扩展到很多脚本语言的程序,比如说VBS等,更加严重的是,甚至以。txt为后缀名的文件也能起到可执行文件的作用,也就是说可以做到双击之后打开之后不是简单的文本,而是功能强大的脚本语言,可以执行任何危险的操作!
感谢媒体的大力宣传,现在任何用户在收到带有附件的电子邮件的时候,在打开可执行文件之前都会三思而后行。但是病毒或者恶意代码的制造者是专家而您不是,所以他们有无数的新把戏可玩。一个最简单的办法就是让您以为那些附件只不过是没有危险的文本文件或是图像文件等。由于目前大多数人使用的是windows操作系统,windows的默认设置是隐藏已知文件扩展名的,而当你去点击那个看上去很友善的文件,那些破坏性的东西就跳出来了。您可能说这我早就知道了,那么下面讲述的。txt文件的新欺骗方法及原理您知道吗?
假如您收到的邮件附件中有一个看起来是这样的文件:QQ靓号放送。txt,您是不是认为它肯定是纯文本文件?我要告诉您,不一定!它的实际文件名可以是QQ靓号放送。txt。{3050F4D8…98B5…11CF…BB82…00AA00BDCE0B}。
{3050F4D8…98B5…11CF…BB82…00AA00BDCE0B}在注册表里是HTML文件关联的意思。但是存成文件名的时候它并不会显现出来,您看到的就是个。txt文件,这个文件实际上等同于QQ靓号放送。txt。html。那么直接打开这个文件为什么有危险呢?
您可能以为它会调用记事本来运行,可是如果您双击它,结果它却调用了HTML来运行,并且自动在后台开始格式化d盘,同时显示〃Windows is configuring the system。Plase do not interrupt this process。〃这样一个对话框来欺骗您。您看随意打开附件中的。txt的危险够大了吧?
欺骗实现原理:当您双击这个伪装起来的。txt时候,由于真正文件扩展名是。{3050F4D8…98B5…11CF…BB82…00AA00BDCE0B},也就是。html文件,于是就会以html文件的形式运行,这是它能运行起来的先决条件。
返回目录 上一页 下一页 回到顶部 赞(0) 踩(0)
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!