本发明目的即在于提供一种无须更改程序的内容,即可通过将特定的程序或分区隐藏,进而免除操作***冲突问题的发生。
为达到上述目的,本发明的一个实现方式是通过在数据处理***的标准开机程序及呼叫程序中加入特定步骤,而达到无须改写程序,即达成免除程序冲突及隐藏分区的目的。本发明的技术方案如下:
一种在数据处理***中隐藏程序的方法,是配合一第一储存装置与一第二储存装置使用;该第一储存装置存有一启动程序以至至少一操作程序,该启动程序含有一分别对应各该操作程序内容的识别码;该方法包含以下步骤:
(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或超高速缓冲存储器等存储器所组成的***存储器,以供储存数据使用;第三储存装置为存有控制数据处理***基本输入输出程序控制程序的储存装置,如BIOS ROM。
根据本发明构想的数据处理***,在开启电源后,由中央处理单元自该第三储存装置读出基本控制程序,并通过总线装置,将基本控制程序储存于第二储存装置,并根据基本控制程序的步骤,执行步骤(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)将该经变更的识别码作为对应该读取命令的读取结果。
其中,数据处理***的构成与其执行的各主要步骤与先前描述的隐藏程序的方法约略相同,不同之点在于其省略指示码的运用,而直接响应使用者的意愿将现用或非现用的规划,作为判断的标准。通过判断处于现用状态的操作程序,将其他处于非现用状态的操作程序而其识别码与该处于现用状态的操作程序的识别码相同者,以经变更过的识别码取代之,作为读取命令的读取结果。借此,即可实现隐藏程序的功效。
通过以下结合附图对优选实施例的描述,本发明以上及其它的目的和优点将显而易见。
为进一步阐明本发明的构想,特以以下的较佳实施例,说明本发明构想的实施方式。
根据本发明构想的第一实施例的数据处理***启动程序,以个人电脑***为例,是通过变更电脑***中BIOSB程序与IOS程序中的服务程序(service routine)来达成隐藏程序的目的。
请见表一。表一为硬盘中启动程序的例示,阴影部分为硬盘分区表。在表一中的硬盘分区表内,可发现仅存在两个硬盘分区。硬盘分区表的内容意义如下:偏移值 内容 意义00h 80h 状态标示码(现用/非现用)
00h=非现用
00h=现用01h 01h 起始磁头02h 04h 起始扇区03h 04h 起始柱面04h 51h 识别码
00h=未知
01h=DOS,12-bit FAT
04h=DOS,16-bit FAT
05h=DOS,扩充的,16-bit FAT
06h=DOS 6.205h E9 结束磁头06h 11 结束扇区07h 00 结束柱面08h 0000A1 第一分区扇区0ch A20000 分区内的扇区
因此由00h所包含的状态标示码,可以判断现用的分区及操作***程序;由04h所包含的识别码可判断操作***的内容;由各起始结束位址,可以判断操作***程序在硬盘上的位置。
在个人电脑***开机的过程中,***自硬盘读/写数据皆是通过呼叫BIOS中INT13这个标准的BIOS服务程序来达到。而根据本发明构想之较佳实施例,即通过在INT13这个服务程序,有选择性地使INT13服务程序与额外的INT13中断服务程序(interrupt service routine)连结,以取代原有的INT13服务程序,而达到隐藏程序的目的。
在个人电脑***中呼叫INT13服务程序时,须先于硬盘控制器的暂存器填入参数,各参数的意义如下所示:
AH 将硬盘上的区段读进***存储器/写进硬盘;
AL 需读取的区段数目;
CH 柱面号码;
CL 起始区段号码;
DH 磁头号码;
DL 磁盘机号码;
ES:BX 缓冲存储器的位址;
当***呼叫INT13来执行将硬盘的硬盘分区表读进硬盘时,所需填入的参数分别如下:
AH=02 写入***存储器
AL=01
CH=0
CL=1
DH=0
DL=80h 硬盘机C;
ES:BX
而在呼叫INT13执行写入硬盘的程序时,暂存器所需填入的参数如下:
AH=03 写入硬盘;
AL=01
CH=0
CL=1
DH=0
DL=80h
ES:BX
因此,在执行INT13服务程序时,通过各暂存器之值的不同,控制***分别于特定的硬盘机位址上读出数据至***存储器;或由***存储器写入数据至特定的硬盘机位址。通过读取这些暂存器之值,即可判断INT13是否进行启动程序的读取。
根据本发明构想的第一实施例的电脑启动程序,利用在电脑***中的非挥发性存储器,如CMOS,NVRAM,FLASH MEMORY等存储单位,储存一指示码,用以提供使用者标示隐藏硬盘分区与否以及标示被隐藏硬盘分区中的操作***。对应于使用者在BIOS的准备(setup)环境中,设定特定的硬盘分区被隐藏,如前所述,***会执行一实用程序,将硬盘上硬盘分区表中DOS所对应的识别码06h更改成一伪码FEh。
请见图3、4、5、6,个人电脑开机程序的示意图请参见图6。如图3、6所示,电脑***在开启电源(步骤301)后,中央处理单元即控制将BIOS ROM的内容载进***存储器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)的位址,将启动程序(Master Boot Sector)62读出至***存储器61(步骤304)。启动程序载进***存储器之后,***即读取并执行启动程序表头(OS Lader)(步骤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作为发明例示,但在混合其他程序使用的情形下,通过指示码中所标示的隐藏分区的操作***种类,即可判断所应更改的值。因此,本发明构想是为一泛用性的发明,适用于各种程序。
虽然以上较佳实施例以操作***程序为例以便于说明,但本发明构想的可运用于广泛的用途,例如在一般的应用程序中,亦可使用相同的概念,通过拦截读取识别码的命令,以假造的识别码作为回应结果,而实现隐藏的效果。本发明的构造及特征,经上述实例及图示详细说明,将更为明白显现。但需进一步说明的是,该实施例仅作为例示说明本发明较佳操作状态的实施,而非对发明范围造成限制。任何不脱离本发明精神下所作的变更及改良,皆属本发明所意图保护的范畴。 8E D8 8E C0 FA 8E-D0 BC 00 7C FB 8B F4 BF89 00 01 FC F3 A5-50 B8 1E 06 50 CB B9 04BE 07 80 3C 80 74-2C 83 C6 10 E2 F6 B4 0FB3 07 8E 97 06 B9-78 00 AC 84 0E CD 10 E206 72 04 34 12 B8-FF FF 50 1E B4 0F CD 10CD 16 CB B2 80 8B-DC 8A 74 01 BD 05 00 8B38 01 02 CD 13 73-1E 80 FC 11 75 10 1E B88E D8 33 FF 81 7D-EA 43 4F 1F 74 09 32 E44D 75 DD EB A7 81-BF FE 01 55 AA 75 9F 8B53 CB 43 52 4A 0D-0A 45 72 72 6F 72 20 6C34 69 6E 67 20 6F-70 65 72 61 74 69 6E 6779 73 74 65 6D 20-66 72 6F 6D 20 66 69 7820 64 69 73 6B 2E-0D 0A 0D 0A 49 6E 73 6520 43 4F 4D 50 41-51 20 44 4F 53 20 64 6935 74 74 65 20 69-6E 20 64 72 69 76 65 200D OA 50 72 65 73-73 20 61 6E 79 20 6B 6577 68 65 6E 20 72-65 61 64 79 3A 20 07 0000 00 00 00 00 00-00 00 00 00 00 00 00 0000 00 00 00 00 00-00 00 00 00 00 00 00 0000 00 00 00 00 00-00 00 00 00 00 00 00 0000 00 00 00 00 00-00 00 00 00 00 00 00 0000 00 00 00 00 00-00 00 00 00 00 00 00 0000 00 00 00 00 00-00 00 00 00 00 00 00 0000 00 00 00 00 00-00 00 00 00 00 00 00 0000 00 00 00 00 00-00 00 00 00 00 00 00 0000 00 00 00 00 00-00 00 00 00 00 00 00 00