具有隐藏程序功能的数据处理系统的制作方法

文档序号:6411872阅读:186来源:国知局

专利名称::具有隐藏程序功能的数据处理系统的制作方法
技术领域
:本发明涉及一种具有隐藏程序功能的数据处理系统,特别是指一种能避免相互冲突的程序并存于同一数据处理系统的处理方法。更进一步而言,本发明解决了电脑系统中程序冲突的问题,并且能通过隐藏程序的方式,防止储存装置中特定区域的内容遭到变更。本发明更提供了无须更改所欲隐藏程序内容的隐藏程序方法,以实现广泛的适用性。在目前的个人电脑架构中(尤其是指与IBM规格相容的电脑),系统的操作,除了中央处理单元、系统存储器、系统芯片组、硬盘机、软盘机等硬件配备之外,还需要基本输入输出系统(BIOS)、操作系统(OS)、应用软件等软件程序的配合方能正常的工作。目前市场上配合个人电脑的操作系统有DOS、UNIX、WIN95、OS/2、XENIX、PICK等操作系统。而这些操作系统最普遍的使用方式是将操作系统程序储存于如硬盘、软盘等非挥发性储存装置中,当BIOS完成电脑完成电脑系统的初始化、加电自栓(POST)后,BIOS会将操作系统自硬盘或软盘中将操作系统程序的程序载进系统的存储器中,而后,中央处理单元即执行操作系统的程序,系统控制权即交由操作系统控制。在目前的个人电脑系统架构下,硬盘的储存方式允许在一个单一的硬盘上划分成至多4个分区,每一个分区类似一个独立的虚拟磁盘,可独立载有一个操作系统程序。电脑系统操作时,仅有一个操作系统取得主控权,意即仅有一个操作系统为现用状态,而其他的操作系统均处于非现用状态,彼此互相不影响。在硬盘的(柱面0,磁头0,扇区1)存有一启动程序(MasterBootSector),启动程序的例示如附表一所示。在启动程序中的末段,包含有指示硬盘分区表(如附表一的阴影区域)。对应于每一个分区,在硬盘分区表均包含一用以指示分区特性的描述码(Identity),每一描述码的长度为16Byte。描述码含有一状态标示码(BootIndicator)及识别码(systemID)。状态标示码是以标示对应的分区是否为可引导分区(bootableparition),意即分区的操作系统是否将于开机后载入,意即可引导;而识别码即在于描述分区内所存的操作系统,如01h代表DOS,12bitFAT,06h代表DOS6.2等。目前的个人电脑操作系统几乎皆载有磁盘操作系统程序,以指挥电脑工作。而在DOS的规格中限定一个电脑系统的硬盘分区中,允许一个主分区以及数个扩充分区操作系统的存在。当电脑系统读取启动程序,根据硬盘分区表的内容,电脑系统会至对应存有启动操作系统的硬盘区域,将对应的操作系统程序读出,并转存至系统存储器内执行。当该操作系统为DOS时,DOS会再次将启动程序自硬盘载入存储器,并根据其中的硬盘分区表中的识别码判断其中是否有存在另一个主分区。若硬盘中存在有重复的主分区时,将造成系统无法正常执行DOS程序。而某些特定的应用程序,仅能于特定的操作系统环境中执行,同时,这些应用程序亦不允许其所工作的操作系统环境的参数及程序遭到变更与修改,否则即出现无法工作的情形。但是以WIN95为例,虽然WIN95是一个以DOS为基础发展出来的操作系统,因此其可作为一扩充操作系统使用而存于同一个分区。但是,在安装的过程中WIN95会改变DOS的参数及执行程序,因而使得依附于特定版本的DOS应用程序因而无法适当执行。因而为解决此类问题,在现有技术中,即将特定的程序与该特定的操作系统集中于一个相同的分区中,借此,使得该分区为一独立区域,不与其他的程序相干涉,而确保有安全性。但是此种方法当运用于DOS操作系统时,即发生问题。因为一方面,欲在一个分区保有独立的DOS,而另一方面,又需要在另一个分区保有另一个DOS以供一般程序使用。如上所述,此种情形为DOS所不允许,仍然造成系统无法适当执行。现有技术处理同一系统并存两个DOS操作系统的方法,是利用变更另一个操作系统的识别码来达到。以NCR公司为例,为达成在同一个硬盘中,并存一第一DOS操作系统以及一第二DOS操作系统,NCR先向微软公司取得授权,从而将整个第二DOS操作系统程序内的识别码(ID)以及启动程序内的识别码一一做变更,使得当第一DOS操作系统作为启动操作系统时,在侦测电脑系统中其他操作系统的过程中,根据经过变更的识别码,会将第二DOS操作系统,辨视为一非DOS操作系统,因而达成隐藏分区以及程序的目的。而当第二DOS操作系统被启动时,由于其启动程序内的识别码以及操作系统程序本身的识别码皆已变更。因此,当第二DOS操作系统将启动程序再次读入系统存储器内,根据其中的硬盘分区表内所载对应于各操作系统程序的识别码,判断电脑系统中是否存在其他操作系统程序时,由于本身的识别码已经过修改,因此,其检查的目标并不再是第一DOS操作系统的识别码,使得其判断电脑系统并无其他相同的DOS操作系统存在,因而达成隐藏程序,并使系统正常工作的目的。但是这种做法并不经济。其原因如下(1)操作系统本身的程序必须经过修改,以便将其中的识别码更改为一非代表DOS操作系统的内容,这个过程牵涉的工程浩大,同时,必须取得操作系统程序厂商的授权,成本提高。(2)隐藏硬盘分区必须专属的操作系统方能实现,非专属的操作系统无法实现隐藏的功能。因此可以发现,现有技术所运用变更操作系统识别码的方式,不但工程浩大,同时这个操作系统即成为一专属的操作系统,缺乏广泛适用性与相容性,并非一理想的处理方法。本发明目的即在于提供一种无须更改程序的内容,即可通过将特定的程序或分区隐藏,进而免除操作系统冲突问题的发生。为达到上述目的,本发明的一个实现方式是通过在数据处理系统的标准开机程序及呼叫程序中加入特定步骤,而达到无须改写程序,即达成免除程序冲突及隐藏分区的目的。本发明的技术方案如下一种在数据处理系统中隐藏程序的方法,是配合一第一储存装置与一第二储存装置使用;该第一储存装置存有一启动程序以至至少一操作程序,该启动程序含有一分别对应各该操作程序内容的识别码;该方法包含以下步骤(1)提供一指示码,用以指示各操作程序在数据处理系统中的特定状态;(2)判断该指示码的状态;(3)对应于该指示码为一第一状态,拦截数据处理系统发出以控制读取数据的读取命令;(4)解读读取命令内容;(5)对应读取命令的内容为自该第一储存装置读取该识别码,复制该识别码;(6)储存所复制的识别码于该第二储存装置;(7)根据储存于该第二储存装置中的经复制的识别码,产生一经变更的识别码;(8)将该经变更的识别码取代该识别码作为对应该读取命令的读取结果。其中,第一储存装置为数据处理系统中用以储存操作程序的数据储存装置,以个人电脑系统而言,可为个人电脑系统的硬盘机;而第二储存装置为数据处理系统中的存储装置,以个人电脑系统而言,其可为由动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)等挥发性存储器构成,以供电脑系统暂存数据。操作程序是指用以控制数据处理系统执行工作的程序,以个人电脑系统而言,如操作系统程序、应用程序、驱动程序等控制个人电脑系统工作的程序。而该启动程序含有分别对应于各该操作程序的识别码,如ID码等;同时,该启动程序含有状态标示码,用以标示各操作程序在数据处理系统中的状态,包含是否处于现用状态或非现用状态等。以个人电脑系统而言,其可为如电脑系统中的存储单位的标志,用以指示特定的状态,而指示码是指在电脑系统的存储单位中,用以供使用者标示一特定的操作程序的状态,例如分区隐藏与否的状态,以及隐藏的分区之内的操作程序的种类等。其中该存储单位可位于数据处理系统的CMOS或NVRAM或其他的非挥发性存储器。根据本发明构想的系统执行步骤,先判断指示码的状态,当指示码为用以指示一特定的隐藏的分区解除隐藏的第一状态时,即控制当系统发出读取特定的数据的命令,对应于该读取命令,即拦截这些命令,并解读读取命令的内容。当判断该读取命令为系统自第一储存装置读取识别码时,则将识别码自第一储存装置读出并存于第二储存装置;同时,并根据识别码,将其他非处于现用状态,但识别码与处于现用状态的操作程序相同的操作程序的识别码变更,产生一不同于该识别码的经变更的识别码,再将此经变更的识别码作为该读取命令的读取结果。通过数据处理系统执行本发明所更动的执行步骤,系统即将此经变更的读取结果,作为读取命令的读取结果,因而避免隐藏的分区的操作程序为现用状态时,因识别码与其他系统既存的操作程序相同而发生冲突的情形发生。在以上的技术方案的描述中,值得注意的是,根据本发明构想的变更识别码的过程,系根据储存于该第二储存装置的识别码产生变更的识别码,作为读取命令的回应。因为第二储存装置不牵涉操作程序本身(操作程序本身储存于第一储存装置),因此,整个更动的过程,并不会对操作程序本身进行更动,亦无须与操作程序的内容相配合,即能实现隐藏分区的效果。本发明构想亦包含一种数据处理系统启动方法,通过提供新的电脑启动程序,以达成避免程序冲突的目的。根据本发明构想的数据处理系统启动方法,是配合一第一储存装置与一第二储存装置使用;该数据处理系统的存储单位具有一指示码,用以指示各操作程序在数据处理系统中的特定状态;该第一储存装置存有一启动程序以及至少一操作程序,该启动程序含有一分别对应于各该操作程序内容的识别码及一描述码,该启动程序含有一状态标示码,用以标示各该操作程序在数据处理系统中的状态;该方法包含以下步骤(1)启动电源;(2)执行检测程序;(3)判断该指示码的状态;(4)对应于该指示码为一第一状态,变更该状态标示码;(5)至少复制包含该识别码的该启动程序;(6)储存所复制的程序于该第二储存装置;(7)根据该状态标示码内容,判断数据处理系统中各操作程序的状态;(8)对应于该状态标示码指示该至少一操作程序之一为现用状态,根据该描述码内容,读取该第一储存装置储存现用状态的操作系统的位址;(9)自该位址读取数据;(10)储存这些数据于该第二储存装置;(11)有选择性地根据这些数据内容,拦截数据处理系统中控制读取数据的读取命令;(12)解读读取命令内容;(13)对应读取命令的内容为自该第一储存装置读取该识别码,复制该识别码;(14)储存该经复制的识别码于该第二储存装置;(15)根据储存于该第二储存装置中所复制的识别码,产生一经变更的识别码;(16)将该经变更的识别码作为对应该读取命令的读取结果。其中,步骤(4)是以一任意次序在步骤(3)之后、步骤(7)之前完成。其中,第一储存装置为数据处理系统中用以储存操作程序的存储装置,以个人电脑系统而言,可为个人电脑系统的硬盘机;而第二储存装置为电脑系统中的存储装置,其可为由动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)等存储器构成,以供电脑系统储存数据。其中,操作系统是指用以控制数据处理系统执行工作的程序,包含操作系统程序、应用程序、驱动程序等。而该启动程序含有分别对应于各该操作程序的识别码,同时,该启动程序含有状态标示码,用以标示各操作程序在数据处理系统中的状态,包含是否处于现用状态等;而指示码是指在电脑系统的存储单位中,用以供使用者标示一特定操作程序的状态以及隐藏的分区之内的操作程序的种类等。其中该存储单位可位于数据处理系统的CMOS或NVRAM或其他的非挥发性存储器。而描述码是用以描述各操作程序储存在第二储存装置的位址。在数据处理系统启动电源之后,即执行初始化程序与自我检测程序,设定周边元件及系统的暂存器起始值,并检测各元件及周边装置的状态。接着执行判断该指示码的状态,判断操作程序的隐藏或恢复与否。对应于该指示码为指示一特定的隐藏的分区解除隐藏的第一状态时,即变更启动程序中状态识别码的内容,将对应于解除隐藏的分区的操作程序变更为现用状态,将其他分区标示为非现用状态。之后,读取启动程序并将程序部分读入第二储存装置,以便于数据处理系统自第二储存装置读取数据并执行之。其中该特定部分至少包含状态标示码、描述码。根据状态标示码,数据处理系统判断处于现用状态的操作程序,并根据对应于该现用的操作程序的描述码,判断该操作程序储存于第一储存装置的位址,并控制数据处理系统至该位址读取数据,并将数据储存至第二储存装置,用以供系统读取并执行操作程序。当系统发出读取特定数据的命令,对应于此读取命令,即拦截这些命令,并解读读取命令的内容。当判断该读取命令为系统自第一储存装置读取识别码时,则将识别码自第一储存装置读出并存于第二储存装置;同时,并根据识别码,将对应于非现用状态的操作程序,并且与该可现用状态的操作程序的识别码相同的识别码变更,产生一不同于该识别码的经变更的识别码,再将此经变更的识别码作为该读取命令的读取结果。电脑系统根据此经变更后的读取结果,即判断系统中并无相同的操作程序存在,而避免冲突状况的发生。通过此启动方式,数据处理系统即可在不变更操作程序本身的前提下,达成隐藏程序的效果。本发明构想亦包含一种具有隐藏程序功能的数据处理系统,包含供电装置,用以向数据处理系统供电;一总线装置,用以供数据在其上传输;一中央处理单元,电连接于该总线装置,用以供处理数据及控制数据处理系统运作;一输入装置,电连接于该总线装置,用以输入数据至数据处理系统;一第一储存装置,电连接于该总线装置,用以储存数据;一第二储存装置,电连接于该总线装置,用以储存数据;一第三储存装置,电连接于该总线装置,用以储存数据;一存储单位,存有一指示码,用以指示各该操作程序在数据处理系统中的特定状态;该第一储存装置装置存有一启动程序以及至少一操作程序,该启动程序含有分别对应于各该操作程序内容的识别码;该启动程序含有一状态标示码,用以标示各该操作程序在数据处理系统中的状态;该第三储存装置存有一基本控制程序;该中央处理单元自该第三储存装置读出该基本控制程序,并通过该总线装置传输至该第二储存装置并将其储存于该第二储存装置;该中央处理单元通过该总线装置自该第二储存装置读出该基本控制程序,并对应于该基本控制程序的控制,执行以下步骤(1)判断该指示码的状态;(2)变更该状态指示码;(3)至少复制该启动程序的特定部分;(4)储存所复制的程序于该第二储存装置;(5)根据该状态标志码内容,判断数据处理系统中各操作程序的状态;(6)对应于该状态标示码指示该特定的操作程序之一为现用状态,通过该总线装置读取该第一储存装置储存该现用的特定操作程序的位址;(7)通过该总线装置,该中央处理单元自该第一储存装置的该位址读取数据;(8)该中央处理单元复制这些数据并储存于该第二储存装置;(9)该中央处理单元有选择性地根据这些数据内容,拦截数据处理系统中控制读取数据的读取命令;(10)解读读取命令内容;(11)对应读取命令的内容为自该一储存装置读取该识别码,复制该识别码;(12)储存所复制的识别码于该第二储存装置;(13)根据储存于该第二储存装置中所复制的识别码,产生一经变更的识别码;(14)将该经变更的识别码作为对应该读取命令的读取结果。其中,该供电装置是用以将外界电源转接至数据处理系统,并通过适当地转换以提供数据处理系统所适用的电压。例如将110伏特交流电源转换成适当瓦数的直流电源的供电器,或是笔记型电脑中交流转直流、直流转直流电路等,以提供数据处理系统中各元件适合使用的电压。根据本发明构想的数据处理系统,具有总线装置连接各主要元件,以供控制信号与数据在其上传输,如系统总线、PCI总线、ISA总线、通用串行总线(USB)等。其中,第一储存装置为数据处理系统中用以储存操作程序的存储装置,以个人数据处理系统而言,可为个人数据处理系统的硬盘机;而根据本发明构想的第二储存装置,包含由DRAM或超高速缓冲存储器等存储器所组成的系统存储器,以供储存数据使用;第三储存装置为存有控制数据处理系统基本输入输出程序控制程序的储存装置,如BIOSROM。根据本发明构想的数据处理系统,在开启电源后,由中央处理单元自该第三储存装置读出基本控制程序,并通过总线装置,将基本控制程序储存于第二储存装置,并根据基本控制程序的步骤,执行步骤(1)至步骤(14)。本发明构想亦包含一种在数据处理系统中隐藏程序的装置,该装置是配合一第一储存装置与一第二储存装置使用;该第一储存装置存有一启动程序以及至少一操作程序,该启动程序含有分别对应于各该操作程序内容的识别码,该启动程序含有一状态标示码,用以标示各该操作程序在数据处理系统中的状态;数据处理系统含有一存储单位,用以储存一指示码,以供指示操作程序在数据处理系统中的特定状态;该装置储存控制命令,用以控制数据处理系统执行以下步骤(1)判断该指示码的状态;(2)对应于该指示码为一第一状态,拦截数据处理系统发出以控制读取数据的读取命令;(3)解读读取命令内容;(4)对应读取命令的内容为自该第一储存装置读取该识别码,复制该识别码;(5)储存所复制的识别码于该第二储存装置;(6)根据储存于该第二储存装置中的所复制的识别码,产生一经变更的识别码;(7)将该经变更的识别码取代该识别码作为对应读取命令的读取结果。以上运用指示码指示特定操作程序的方法,若使用于相同的操作程序不得并存于同一个硬盘时,可通过一个实用程序配合程序的使用,实现同一个硬盘存有相同操作程序的功能。其做法如下所述以安装DOS为例,当使用者第一DOS时,通过更改指示码指示将DOS隐藏,实用程序针对安装DOS之后的硬盘分区表进行更改,将第一DOS的识别码06更改为一伪码,例如FEh。此时再进行第二DOS的安装程序时,由于第一DOS的分区经标示为隐藏且其识别码已经更改为FEh,第二DOS根据硬盘分区表判断硬盘中是否存在其他DOS时,会认定硬盘中并无其他相同的DOS存在,而可顺利地安装。而当使用者变更指示码为解除隐藏的第一状态时,如前所述,即进行对应的程序。除了额外运用存于存储单位中的指示码以标示与判断分区的隐藏状态之外,在相同的操作程序并存于硬盘的环境下,本发明构想的另一个实施例方式,可免除该指示码的使用,而直接实现隐藏程序的目的。此部分的构想陈述如下根据本发明构想的在数据处理系统中隐藏程序的方法,是配合一第一储存装置与一第二储存装置使用;该第一储存装置存有一启动程序以及至少一操作程序,该启动程序含有一分别对应于各该操作程序内容的识别码,该启动程序含有一状态标示码,用以标示各该操作程序在数据处理系统中的状态。该方法包含以下步骤(1)根据该状态标示码的内容,判断处于现用状态的操作程序;(2)对应于该状态标示码指示该至少一操作程序之一为现用状态,判断其他操作程序的识别码与处于现用状态的操作程序的识别码是否相同;(3)对应于其他操作程序的识别码相同于处于现用状态的操作程序的识别码,拦截数据处理系统中控制读取数据的读取命令;(4)解读读取命令内容;(5)对应读取命令的内容为自该第一储存装置读取这些识别码,复制这些识别码;(6)储存该经复制的识别码于该第二储存装置;(7)根据储存于该第二储存装置中所复制的识别码,产生一经变更的识别码;(8)将该经变更的识别码作为对应该读取命令的读取结果。其中,各主要步骤与先前描述的隐藏程序的方法约略相同,不同之点在于省略指示码的运用,而直接响应使用者的意愿将现用或非现用的规划,作为判断的标准。通过判断处于现用状态的操作程序,将其他处于非现用状态的操作程序而其识别码与该处于现用状态的操作程序的识别码相同者,以经变更过的识别码取代之。至此,即可实现隐藏程序的功效。同样的,根据本发明构想省略指示码的数据处理系统启动方法,是配合一第一储存装置与一第二储存装置使用;该第一储存装置存有一启动程序以及至少一操作程序,该启动程序含有一分别对应于各该操作程序内容的识别码及一描述码,该启动程序含有一状态标示码,用以标示各该操作程序在数据处理系统中的状态;该方法包含以下步骤(1)启动电源;(2)执行检测程序;(3)读取该启动程序;(4)至少复制包含该状态标示码的该启动程序;(5)储存所复制的程序于该第二储存装置;(6)根据该状态标示码的内容,判断处于现用状态的操作程序;(7)对应于该状态标示码指示该至少一操作程序之一为现用状态,根据该描述码内容,读取该第一储存装置储存现用状态的操作程序的位址;(8)自该位址读取数据;(9)储存这些数据于该第二储存装置;(10)读取对应于现用状态的操作程序的识别码;(11)判断其他操作程序的识别码与处于现用状态的操作程序的识别码是否相同;(12)对应于其他操作程序的识别码相同于处于现用状态的操作程序的识别码,拦截数据处理系统中控制读取数据的读取命令;(13)解读读取命令内容;(14)对应读取命令的内容为自该第一储存装置读取这些识别码,复制这些识别码;(15)储存该经复制的识别码于该第二储存装置;(16)根据储存于该第二储存装置中所复制的识别码,产生一经变更的识别码;(17)将该经变更的识别码作为对应该读取命令的读取结果。其中,各主要步骤与先前描述的数据处理系统启动方法约略相同,不同之点在于省略指示码的运用,而直接响应使用者的意愿将现用或非现用的规划,作为判断的标准。通过判断处于现用状态的操作程序,将其他处于非现用状态的操作程序而其识别码与该处于现用状态的操作程序的识别码相同者,以经变更过的识别码取代之,以作为读取命令的回应。借此,即可实现隐藏程序的功效。根据本发明构想的具有隐藏程序功能的数据处理系统的另一实施方式,包含一供电装置,用以供应适当的电源给数据处理系统;一总线装置,用以供数据于其上传输;一中央处理单元,电连接于该总线装置,用以处理数据及控制数据处理系统运作;一输入装置,电连接于该总装置,用以输入数据至数据处理系统;一第一储存装置,电连接于该总线装置,用以储存数据;一第二储存装置,电连接于该总线装置,用以储存数据;一第三储存装置,电连接于该总线装置,用以储存数据;该第一储存装置存有一启动程序以及至少一操作程序,该启动程序含有分别对应于各该操作程序内容的识别码,该启动程序含有一状态标示码,用以标示各该操作程序在数据处理系统中的状态;该第三储存装置存有一基本控制程序;该中央处理单元自该第三储存装置读出该基本控制程序,并通过该总线装置传输至该第二储存装置并将其储存于该第二储存装置;该中央处理单元通过该总线装置自该第二储存装置读出该基本控制程序,并对应于该基本控制程序的控制,执行以下步骤(1)执行检测程序;(2)读取该启动程序;(3)至少复制包含该状态标示码的该启动程序;(4)储存所复制的程序于该第二储存装置;(5)根据该状态标示码的内容,判断处于可现用状态的操作程序;(6)对应于该状态标示码指示该至少一操作程序之一为现用状态,根据该描述码内容,通过该总线装置读取该第一储存装置储存现用状态的操作程序的位址;(7)通过该总线装置自该位址读取数据;(8)通过该总线装置,储存这些数据于该第二储存装置;(9)读取对应于可现用状态的操作程序的识别码;(10)判断其他操作程序的识别码与处于现用状态的操作程序的识别码是否相同;(11)对应于其他操作程序的识别码相同于处于现用状态的操作程序的识别码,拦截数据处理系统中控制读取数据的读取命令;(12)解读读取命令内容;(13)对应读取命令的内容为自该第一储存装置读取这些识别码,复制这些识别码;(14)通过该总线装置,储存该经复制的识别码于该第二储存装置;(15)根据储存于该第二储存装置中所复制的识别码,产生一经变更的识别码;(16)将该经变更的识别码作为对应该读取命令的读取结果。其中,数据处理系统的构成与其执行的各主要步骤与先前描述的隐藏程序的方法约略相同,不同之点在于其省略指示码的运用,而直接响应使用者的意愿将现用或非现用的规划,作为判断的标准。通过判断处于现用状态的操作程序,将其他处于非现用状态的操作程序而其识别码与该处于现用状态的操作程序的识别码相同者,以经变更过的识别码取代之,作为读取命令的读取结果。借此,即可实现隐藏程序的功效。通过以下结合附图对优选实施例的描述,本发明以上及其它的目的和优点将显而易见。图1、2为现有技术中个人电脑的开机流程。图3、4、5为根据本发明构想的第一实施例流程图。图6为个人电脑开机流程的示意图。为进一步阐明本发明的构想,特以以下的较佳实施例,说明本发明构想的实施方式。根据本发明构想的第一实施例的数据处理系统启动程序,以个人电脑系统为例,是通过变更电脑系统中BIOSB程序与IOS程序中的服务程序(serviceroutine)来达成隐藏程序的目的。请见表一。表一为硬盘中启动程序的例示,阴影部分为硬盘分区表。在表一中的硬盘分区表内,可发现仅存在两个硬盘分区。硬盘分区表的内容意义如下偏移值内容意义00h80h状态标示码(现用/非现用)00h=非现用00h=现用01h01h起始磁头02h04h起始扇区03h04h起始柱面04h51h识别码00h=未知01h=DOS,12-bitFAT04h=DOS,16-bitFAT05h=DOS,扩充的,16-bitFAT06h=DOS6.205hE9结束磁头06h11结束扇区07h00结束柱面08h0000A1第一分区扇区0chA20000分区内的扇区因此由00h所包含的状态标示码,可以判断现用的分区及操作系统程序;由04h所包含的识别码可判断操作系统的内容;由各起始结束位址,可以判断操作系统程序在硬盘上的位置。在个人电脑系统开机的过程中,系统自硬盘读/写数据皆是通过呼叫BIOS中INT13这个标准的BIOS服务程序来达到。而根据本发明构想之较佳实施例,即通过在INT13这个服务程序,有选择性地使INT13服务程序与额外的INT13中断服务程序(interruptserviceroutine)连结,以取代原有的INT13服务程序,而达到隐藏程序的目的。在个人电脑系统中呼叫INT13服务程序时,须先于硬盘控制器的暂存器填入参数,各参数的意义如下所示AH将硬盘上的区段读进系统存储器/写进硬盘;AL需读取的区段数目;CH柱面号码;CL起始区段号码;DH磁头号码;DL磁盘机号码;ESBX缓冲存储器的位址;当系统呼叫INT13来执行将硬盘的硬盘分区表读进硬盘时,所需填入的参数分别如下AH=02写入系统存储器AL=01CH=0CL=1DH=0DL=80h硬盘机C;ESBX而在呼叫INT13执行写入硬盘的程序时,暂存器所需填入的参数如下AH=03写入硬盘;AL=01CH=0CL=1DH=0DL=80hESBX因此,在执行INT13服务程序时,通过各暂存器之值的不同,控制系统分别于特定的硬盘机位址上读出数据至系统存储器;或由系统存储器写入数据至特定的硬盘机位址。通过读取这些暂存器之值,即可判断INT13是否进行启动程序的读取。根据本发明构想的第一实施例的电脑启动程序,利用在电脑系统中的非挥发性存储器,如CMOS,NVRAM,FLASHMEMORY等存储单位,储存一指示码,用以提供使用者标示隐藏硬盘分区与否以及标示被隐藏硬盘分区中的操作系统。对应于使用者在BIOS的准备(setup)环境中,设定特定的硬盘分区被隐藏,如前所述,系统会执行一实用程序,将硬盘上硬盘分区表中DOS所对应的识别码06h更改成一伪码FEh。请见图3、4、5、6,个人电脑开机程序的示意图请参见图6。如图3、6所示,电脑系统在开启电源(步骤301)后,中央处理单元即控制将BIOSROM的内容载进系统存储器61内,并通过BIOS程序的控制,执行开机程序。系统在BIOS程序控制下,执行初始化及自我检测程序(POST)(步骤302)之后,系统会检查指示码的值,检查原本隐藏的硬盘分区是否解除隐形状态。在系统呼叫INT19服务程序将启动程序载进系统存储器之后,在启动程序取得控制权之前,对应于指示码指示解除隐藏状态的第一状态,BIOS控制将解除隐藏的操作系统程序的状态指示码更改为现用,而将其他操作系统程序的状态指示码更改为非现用,同时,在原有的INT13上挂上INT13中断服务程序。再将系统控制权交给启动程序(步骤303、304)。同前所述,INT13中断服务程序的功能是拦截自硬盘读取硬盘分区表的INT13,并将读出的硬盘分区表内的解除隐藏的DOS识别码,由FEh改回06h,以FEh取代系统中其他的DOS识别码,同时于硬盘上将解除隐藏的DOS的状态识别码更改为现用状态。通过呼叫INT19服务程序,再通过呼叫INT13服务程序,自硬盘63的(柱面0,磁头0,扇区1)的位址,将启动程序(MasterBootSector)62读出至系统存储器61(步骤304)。启动程序载进系统存储器之后,系统即读取并执行启动程序表头(OSLader)(步骤53),并响应于其控制,读取硬盘分区表。根据启动程序中的末段所包含硬盘分区表(如62阴影区域所示),如上所述,可判断出处于现用状态的操作系统程序,并根据硬盘分区表的描述码所描述的内容,取得其所在的位址(步骤306)。根据该位址,再次呼叫INT13服务程序,至硬盘63相对应的位址读出操作系统程序,并将现用状态的操作系统程序66载进系统存储器61(步骤307)。在操作系统程序66载进系统存储器61后,中央处理单元即根据操作系统程序,执行特定的工作(步骤401)。若此现用的操作系统程序为DOS(步骤402),DOS本身会在中央处理单元执行的过程中,再次呼叫INT13服务程序,以取得启动程序(步骤404)。此时,根据硬盘控制器上各暂存器所填入的值,可判断此INT13是欲将硬盘63上(柱面0,磁头0,扇区1)的启动程序,再次载进系统存储器61(步骤405),以根据启动程序64中的末段的指示硬盘分区表(如64阴影区域),判断系统中是否有其他DOS操作系统存在(步骤501)。对应于判断此INT13是读取硬盘分区表,通过在INT13服务程序中,加入读取各硬盘分区的偏移值04h以读取对应于各硬盘分区的识别码,并与处于可现用状态的操作系统程序的识别码作比较,即可判断系统中是否存在其他的DOS操作系统(如图5中的步骤502)。对应于判断结果为系统存在有相同的DOS操作系统,以不同于06h的数值取代(例如FEh)之(步骤503),作为对应于操作系统发出的INT13服务程序的回应(步骤504)。其中的一个做法是直接于系统存储器上更改这些数值。而DOS操作系统接到此回应之后,即判断系统中并无其他的DOS操作系统,而继续执行DOS的标准程序。至此,经由更改BIOS程序与INT13的执行过程,即可实现隐藏程序的目的。当使用者欲将分区恢复隐藏状态时,仅需进入BIOS的setup程序,将指示码更改。相同的,在重新开机之后,系统会检查指示码的值,检查原本解除隐藏的硬盘分区是否恢复隐形状态。对应于指示码指示恢复隐藏状态,在系统呼叫完INT19服务程序将启动程序载进系统存储器之后,而于启动程序取得控制权之前,BIOS控制将恢复隐藏的操作系统程序的状态指示码更改为非现用,而将使用者指定的操作系统程序的状态指示码更改为现用,同时,解除在原有的INT13所挂上的INT13副程序,再将系统控制权交给启动程序即可。本发明的另一个实施例,可通过在如第一实施例中的指示码中,再加上指示程序内容的功能,以供使用者指示其所隐藏的操作系统程序。同上所述,系统即通过该指示码,在硬盘分区表中,对比是否有相同于该操作系统程序的识别码。若有,则以改变的识别码取代作为读取命令的回应。在以上较佳实施例改变识别码的过程,可选择在系统存储器中变更或是直接在硬盘中更改,或是其他的储存装置中变更。而更改的值,除了FEh之外,当然可选择其他的值来使用。而虽则本民明实施例是通过DOS作为发明例示,但在混合其他程序使用的情形下,通过指示码中所标示的隐藏分区的操作系统种类,即可判断所应更改的值。因此,本发明构想是为一泛用性的发明,适用于各种程序。虽然以上较佳实施例以操作系统程序为例以便于说明,但本发明构想的可运用于广泛的用途,例如在一般的应用程序中,亦可使用相同的概念,通过拦截读取识别码的命令,以假造的识别码作为回应结果,而实现隐藏的效果。本发明的构造及特征,经上述实例及图示详细说明,将更为明白显现。但需进一步说明的是,该实施例仅作为例示说明本发明较佳操作状态的实施,而非对发明范围造成限制。任何不脱离本发明精神下所作的变更及改良,皆属本发明所意图保护的范畴。8ED88EC0FA8E-D0BC007CFB8BF4BF890001FCF3A5-50B81E0650CBB904BE07803C8074-2C83C610E2F6B40FB3078E9706B9-7800AC840ECD10E20672043412B8-FFFF501EB40FCD10CD16CBB2808B-DC8A7401BD05008B380102CD1373-1E80FC1175101EB88ED833FF817D-EA434F1F740932E44D75DDEBA781-BFFE0155AA759F8B53CB43524A0D-0A4572726F72206C34696E67206F-7065726174696E67797374656D20-66726F6D20666978206469736B2E-0D0A0D0A496E736520434F4D5041-5120444F53206469357474652069-6E206472697665200DOA50726573-7320616E79206B657768656E2072-656164793A200700000000000000-0000000000000000000000000000-0000000000000000000000000000-0000000000000000000000000000-0000000000000000000000000000-0000000000000000000000000000-0000000000000000000000000000-0000000000000000000000000000-0000000000000000000000000000-0000000000000000权利要求1.一种在数据处理系统中隐藏程序的方法,是配合一第一储存装置与一第二储存装置使用;该第一储存装置存有一启动程序以及至少一操作程序,该启动程序含有一分别对应于各该操作程序内容的识别码;该方法包含以下步骤(1)提供一指示码,用以指示各操作程序在数据处理系统中的特定状态;(2)判断该指示码的状态;(3)对应于该指示码为一第一状态,拦截数据处理系统发出以控制读取数据的读取命令;(4)解读读取命令内容;(5)对应读取命令的内容为自该第一储存装置读取该识别码,复制该识别码;(6)储存所复制的识别码于该第二储存装置;(7)根据储存于该第二储存装置中的经复制的识别码,产生一经变更的识别码;(8)将该经变更的识别码取代该识别码作为对应该读取命令的读取结果。2.一种数据处理系统启动方法,是配合一第一储存装置与一第二储存装置使用;该数据处理系统的存储单位具有一指示码,用以指示各操作程序在数据处理系统中的特定状态;该第一储存装置存有一启动程序以及至少一操作程序,该启动程序含有一分别对应于各该操作程序内容的识别码及一描述码,该启动程序含有一状态标示码,用以标示各该操作程序在数据处理系统中的状态;该方法包含以下步骤(1)启动电源;(2)执行检测程序;(3)判断该指示码的状态;(4)对应于该指示码为一第一状态,变更该状态标示码;(5)至少复制包含该识别码的该启动程序;(6)储存所复制的程序于该第二储存装置;(7)根据该状态标示码内容,判断数据处理系统中各操作程序的状态;(8)对应于该状态标示码指示该至少一操作程序之一为现用状态,根据该描述码内容,读取该第一储存装置储存现用状态的操作程序的位址;(9)自该位址读取数据;(10)储存这些数据于该第二储存装置;(11)有选择性地根据这些数据内容,拦截数据处理系统中控制读取数据的读取命令;(12)解读读取命令内容;(13)对应读取命令的内容为自该第一储存装置读取该识别码,复制该识别码;(14)储存该经复制的识别码于该第二储存装置;(15)根据储存于该第二储存装置中所复制的识别码,产生一经变更的识别码;(16)将该经变更的识别码作为对应该读取命令的读取结果。其中,步骤(4)是以一任意次序于步骤(3)之后、步骤(7)之间完成。3.一种具有隐藏程序功能的数据处理系统,包含一供电装置,用以供应适当的电源到数据处理系统;一总线装置,用以供数据于其上传输;一中央处理单元,电连接于该总线装置,用以供处理数据及控制数据处理系统运作;一输入装置,电连接于该总线装置,用以供输入装置至数据处理系统;一第一储存装置,电连接于该总线装置,用以供储存数据;一第二储存装置,电连接于该总线装置,用以供储存数据;一第三储存装置,电连接于该总线装置,用以供储存数据;一存储单位,存有一指示码,用以供指示各该操作程序在数据处理系统中的特定状态;该第一储存装置存有一启动程序以及至少一操作程序,该启动程序含有分别对应于各该操作程序内容的识别码,该启动程序含有一状态标示码,用以标示各该操作程序在数据处理系统中的状态,该第三储存装置存有一基本控制程序;该中央处理单元自该第三储存装置读出该基本控制程序,并通过该总线装置传输至该第二储存装置并将其储存于该第二储存装置,该中央处理单元通过该总线装置自该第二储存装置读出基本控制程序,并对应于该基本控制程序的控制,执行以下步骤(1)判断该指示码的状态;(2)变更该状态指示码;(3)至少复制该启动程序的特定部分;(4)储存所复制的程序于该第二储存装置;(5)根据该状态标示码内容,判断数据处理系统中各操作程序的状态;(6)对应于该状态标示码指示该特定操作程序之一为现用状态,通过该总线装置读取该第一储存装置储存该现用的特定操作程序的位址;(7)通过该总线装置,该中央处理单元自该第一储存装置的该位址读取数据;(8)该中央处理单元复制这些数据并储存于该第二储存装置;(9)该中央处理单元有选择性地根据这些数据内容,拦截数据处理系统中控制读取数据的读取命令;(10)解读读取命令内容;(11)对应读取命令的内容为自该第一储存装置读取该识别码,复制该识别码。(12)储存所复制的识别码于该第二储存装置;(13)根据储存于该第二储存装置中所复制的识别码,产生一经变更的识别码;(14)将该经变更的识别码作为对应该读取命令的读取结果。4.一种在数据处理系统中隐藏程序的装置,该装置是配合一第一储存装置与一第二储存装置使用;该第一储存装置存有一启动程序以及至少一操作程序,该启动程序含有分别对应于各该操作程序内容的识别码,该启动程序含有一状态标示码,用以标示各该操作程序在数据处理系统中的状态;数据处理系统衾中一存储单位,用以储存一指示码,以指示操作程序在数据处理系统中的特定状态;该装置储存控制命令,用以供控制数据处理系统中执行以下步骤(1)判断该指示码的状态;(2)对应于该指示码为一第一状态,拦截数据处理系统发出以控制数据读取的读取命令;(3)解读读取命令内容;(4)对应读取命令的内容为自该第一储存装置读取该识别码,复制该识别码;(5)储存所复制的识别码于该第二储存装置;(6)根据储存于该第二储存装置中的所复制的识别码,产生一经变更的识别码;(7)将该经变更的识别码取代该识别码作为对应读取命令的读取结果。5.一种在数据处理系统中隐藏程序的方法,是配合一第一储存装置与一第二储存装置使用;该第一储存装置存有一启动程序以及至少一操作程序,该启动程序含有一分别对应于各该操作程序内容的识别码,该启动程序含有一状态标示码,用以标示各该操作程序在数据处理系统中的状态;该方法包含以下步骤(1)根据该状态标示码的内容,判断处于现用状态的操作程序;(2)对应于该状态标示码指示该至少一操作程序之一为现用状态,判断其他操作程序的识别码与处于现用状态的操作程序的识别码是否相同;(3)对应于其他操作程序的识别码相同于处于现用状态的操作程序的识别码,拦截数据处理系统中控制读取数据的读取命令;(4)解读读取命令内容;(5)对应读取命令的内容为自该第一储存装置读取这些识别码,复制这些识别码;(6)储存该经复制的识别码于第二储存装置;(7)根据储存于该第二储存装置中所复制的识别码,产生一经变更的识别码;(8)将该经变更的识别码作为对应该读取命令的读取结果。6.一种数据处理系统启动方法,是配合一第一储存装置与一第二储存装置使用;该第一储存装置存有一启动程序以及至少一操作程序,该启动程序含有一分别对应于各该操作程序内容的识别码及一描述码,该启动程序含有一状态标示码,用以标示各该操作程序在数据处理系统中的状态;该方法包含以下步骤(1)启动电源;(2)执行检测程序;(3)读取该启动程序;(4)至少复制包含该状态标示码的该启动程序;(5)储存所复制的程序于该第二储存装置;(6)根据该状态标示码的内容,判断处于现用状态的操作;(7)对应于该状态标示码指示该至少一操作程序之一为现用状态,根据该描述码内容,读取该第一储存装置储存现用状态的操作程序的位址;(8)自该位址读取数据;(9)储存这些数据于该第二储存装置;(10)读取对应于现用状态的操作程序的识别码;(11)判断其他操作程序的识别码与处于现用状态的操作程序的识别码是否相同;(12)对应于其他操作程序的识别码相同于处于现用状态的操作程序的识别码,拦截数据处理系统中控制读取数据的读取命令;(13)解读读取命令内容;(14)对应读取命令的内容为自该第一储存装置读取这些识别码,复制这些识别码;(15)储存该经复制的识别码于该第二储存装置;(16)根据储存于该第二储存装置中所复制的识别码,产生一经变更的识别码;(17)将该经变更的识别码作为对应该读取命令的读取结果。7.一种具有隐藏程序功能的数据处理系统,包含一供电装置,用以供应适当的电源至数据处理系统;一总线装置,用以供数据于其上传输;一中央处理单元,电连接于该总线装置,用以供处理数据及控制数据处理系统运作;一输入装置,电连接于该总线装置,用以供输入数据至数据处理系统;一第一储存装置,电连接于该总线装置,用以供储存数据;一第二储存装置,电连接于该总线装置,用以供储存数据;一第三储存装置,电连接于该总线装置,用以供储存数据;该第一储存装置存有一启动程序以及至少一操作程序,该启动程序含有分别对应于各该操作程序内容的识别码,该启动程序含有一状态标示码,用以标示各该操作程序在数据处理系统中的状态;该第三储存装置存有一基本控制程序;该中央处理单元自该第三储存装置读出该基本控制程序,并通过该总线装置传输至该第二储存装置并将其储存于该第二储存装置;该中央处理单元通过该总线装置自该第二储存装置读出该基本控制程序,并对应于该基本控制程序的控制,执行以下步骤(1)执行检测程序;(2)读取该启动程序;(3)至少复制包含该状态标示码的该启动程序;(4)储存所复制的程序于该第二储存装置;(5)根据该状态标示码的内容,判断处于现用状态的操作程序;(6)对应于该状态标示码指示该至少一操作程序之一为现用状态,根据该描述码内容,通过该总线装置读取该第一储存装置存储现用状态的操作程序的位址;(7)通过该总线装置自该位址读取数据;(8)通过该总线装置,储存这些数据于该第二储存装置;(9)读取对应于现用状态的操作程序的识别码;(10)判断其他操作程序的识别码与处于现用状态的操作程序的识别码是否相同;(11)对应于其他操作程序的识别码相同于处于现用状态的操作程序的识别码,拦截数据处理系统中控制读取数据的读取命令;(12)解读读取命令内容;(13)对应读取命令的内容为自该第一储存装置读取这些识别码,复制这些识别码;(14)通过该总线装置,储存该经复制的识别码于该第二储存装置;(15)根据储存于该第二储存装置中所复制的识别码,产生一经变更的识别码;(16)将该经变更的识别码作为对应该读取命令的读取结果。8.根据权利要求1或4所述的在数据处理系统中隐藏程序的方法,其中该第二储存装置为一挥发性存储装置。9.根据权利要求1或4所述的数据处理系统中隐藏程序的方法,其中该第一储存装置为一非挥发性存储装置。10.根据权利要求8所述的数据处理系统中隐藏程序的方法,其中该第二储存装置为系统存储器。11.根据权利要求9所述的在数据处理系统中隐藏程序的方法,其中,该第一储存装置为一硬盘机。12.根据权利要求2或6所述的数据处理系统启动方法,其中该第二储存装置为一非挥发性存储装置。13.根据权利要求2或6所述的数据处理系统启动方法,其中该第一储存装置为一非挥发性存储装置。14.根据权利要求12所述的数据处理系统启动方法,其中该第二储存装置为系统存储器。15.根据权利要求13所述的数据处理系统启动方法,其中该第一储存装置为硬盘机。16.根据权利要求3或7所述的一种具有隐藏程序的功能的数据处理系统,其中该第二储存装置为一挥发性存储装置。17.根据权利要求3或7所述的一种具有隐藏程序功能的数据处理系统,其中该第一储存装置为一非挥发性存储装置。18.根据权利要求16所述的一种具有隐藏程序功能的数据处理系统,其中该第二储存装置为系统存储器。19.根据权利要求17所述的一种具有隐藏程序功能的数据处理系统,其中该第一储存装置为硬盘机。20.根据权利要求4所述的一种在数据处理系统中隐藏程序的装置,其中该第二储存装置为一挥发性存储装置。21.根据权利要求4所述的一种在数据处理系统中隐藏程序的装置,其中该第一储存装置为一非挥性存储装置。22.根据权利要求20所述的一种在数据处理系统中隐藏程序的装置,其中该第二储存装置为系统存储器。23.根据权利要求21所述的一种在数据处理系统中隐藏程序的装置,其中该第一储存装置为硬盘机。全文摘要一种在数据处理系统中隐藏程序的方法,包含以下步骤:提供一指示码,指示各操作程序在数据处理系统中的特定状态;判断该指示码的状态;对应于该指示码为第一状态,拦截数据处理系统发出以控制读取数据的读取命令;解读读取命令内容;对应读取命令的内容为自该第一储存装置读取该识别码,复制该识别码;存储所复制的识别码于该第二储存装置;根据该识别码,产生一经变更的识别码;将该经变更的识别码取代该识别码。文档编号G06F15/00GK1197240SQ9710421公开日1998年10月28日申请日期1997年4月23日优先权日1997年4月23日发明者赖宏怡,詹森达,王伯宁,杨修宗,周永丰申请人:宏碁电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1