使用进出数据不同可读写存储装置的软件保护装置及方法

文档序号:6409032阅读:130来源:国知局
专利名称:使用进出数据不同可读写存储装置的软件保护装置及方法
技术领域
本发明是有关于一种软件保护的装置及方法,特别是能够保护存放在可读写存储装置(例如随机存取存储器)的软件和数据的违法拷贝,防止软件被盗用,或者在未授权的情况下被使用。本发明的软件保护装置及方法,尤其适用于单向的软件分散式传播(例如有线电视、卫星通讯、及电话线路)中,电视游戏机的游戏软件程序的保护,可有效防止仿冒,违法拷贝等侵权行为。
在知识产权未受充分尊重的今日,电子商品的防止抄袭仿冒是一个极为重要的课题。习用的电视游戏机系统(T.V.game system)使用固定而标准化的硬件主机,配以多样性的游戏软件卡匣或软件磁盘,依据使用者的喜好,可以选择各种游戏软件进行游戏。典型的游戏软件是容纳于存储集成电路卡匣(memory IC catridges)中,可以让使用者很容易地在电视游戏机系统的硬件主机上进行抽换,以便变换游戏种类与内容。
一般而言,卡匣上的软件程序及数据,大部分均以IC存储器来储存,此存储器包括只读存储器(Mask ROM),可擦可编程只读存储器(EPROM或EEPROM)或单次可编程只读存储器(One Time PROM)等,这些存储器内的程序及数据,必须在程序执行时送至主机上的微处理机。由于程序及数据都要通过主机上的总线传送,所以程序及数据很容易为不法商人读出,加以仿制、贩卖,尤其这些IC存储器多为标准产品,更容易为人仿制。
首先,参考

图1中所显示的典型电视游戏机系统的方块示意图,一部典型的电视游戏机可以被区分为两个主要的部分,亦即执行软件游戏程序的游戏主机10,以及储存游戏软件的游戏软件卡匣30。游戏主机10的结构主要包含了中央处理单元(以后简称CPU)14,图形处理器12,声音处理器16,存储器18,以及电视信号合成装置19。另一方面,游戏软件卡匣30则通常包含有储存软件程序的存储器32,以及某些情况下不存在的软件保护装置34。另外,地址总线20、数据总线22与控制总线24耦接在游戏主机10和游戏软件卡匣30之间,做为传输程序数据之用。
由于传播媒体的日趋发达,使得程序数据的传送可透过各类型的通讯媒介,例如有线电视系统、卫星通讯系统、以及电话线路等等,获致极大的信息流通量。现以一适用于单向软件分散式传播的电视游戏机系统为例,该系统的方块示意图请参考图2。游戏主机10和习用电视游戏机结构仍然相同,包括CPU14、图形处理器12、声音处理器16、存储器18、以及电视信号合成装置19。但是在游戏软件卡匣30中,则由接收转换装置50接收外部而来的广播信号26,其中包括了程序数据。接收转换装置50通过地址总线20、数据总线排22、以及控制总线24,将程序数据储存在存储器32,例如随机存取存储器。另外,只读存储器在某情况为可有可无,如此便构成游戏软件卡匣30。
图3则显示另一种接收通讯媒介下载程序数据的电视游戏器系统结构。广播信号经由接收转换装置50接收后,传送至存储器32,与图2所显示之不同结构在于并不通过地址总线20,数据总线22,以及控制总线24传送。
软件程序数据乃是多人智慧的结晶,无论是投入的人力和物力都非常庞大,因此各种保护装置纷纷出笼。对于仿冒者而言,最重要且必须的步骤为读出放在存储器32中的程序数据。以目前仿冒者的技术,利用微处理器的仿真器(Emulator)即可很容易地读出存放在存储器32里的程序数据。
专利申请第83110365号的软件保护方法,是利用一种检查电路,用以检测某一特定的程序状态,例如微处理器的仿真器读取存储器的程序数据。当检查电路检测到此一特定的程序状态,即会进行干扰,使得微处理器的仿真器读出的程序数据发生错误。
上述专利申请的软件保护方法,对于图1所示结构的电视游戏机系统,确实具有软件保护的功能。但是对于利用有线电视、卫星通讯等软件分散式传播方式的系统而言,例如图2和图3所示的结构,由于一定会有一程序数据下载的写进动作,而写进存储器的数据和读出数据是相同的;因此,只要微处理器的仿真器拦截到这一串写进动作,就可以破解上述的软件保护方式。
本发明的软件保护装置及其方法,适用于利用广播方式,诸如利用有线电视、卫星通讯以及电话线路等单向的软件分散式传播的软件,不致被拷贝复制;另一方面,本发明可适用于保护存放在可读写存储装置(例如随机存取存储器)中的软件程序数据,不致遭违法拷贝,以防止软件被盗用、或未授权的使用。
因此,本发明的第一目的,是要阻止仿冒者,利用微处理器的仿真器读取存放在可读写存储装置里的程序数据。
本发明的第二目的,是要使写进可读写存储装置的数据和读出的数据不一致,用以防止微处理器的仿真器通过监视写进可读写存储装置的动作来进行违法的软件拷贝。
本发明的第三目的,是保护诸如利用有线电视、卫星通讯、以及电话线路等单向的软件分散式传播的软件,不致被拷贝复制。
依据第一目的,本发明利用一附加的检测电路,当发现有微处理器的仿真器试图读出可读写存储装置里的程序数据时,持续性或是断续性干扰读出的程序数据,使得仿真器读出的程序数据是错误的。由于错误的模式是不固定的,更增加了仿冒者的困扰。由于正常状况下,微处理器执行存放在可读写存储装置里的程序。一般而言,程序之中有转移指令(JUMP)、执行子程序及中断之故,程序的执行是不会循序执行的,并且,部分的可读写存储装置并不会对每一地址均使用到。相对的,若是利用微处理机的仿真器试图读取可读写存储装置中的程序数据,一定是循序的读取动作,且读到可读写存储装置里的每一地址。于是利用两者的差异性,以正常执行时不会用到的某一地址或一串地址,做为判定仿真器之用。
依据第二目的,本发明利用一种可使进出数据不一致的可读写存储装置,使得读出和写进的数据不一致,无法靠监视写进的数据非法拷贝软件。
依据第三目的,本发明依靠上述第一目的及第二目的的技术,以保护单向的软件分散式传播的软件,不致被拷贝复制。
因此,本发明采用了以下的装置一种使用进出数据不一致的可读写存储装置的软件保护装置,适用于保护存放于可读写存储装置内的软件,该装置包括
一进出数据不一致的可读写存储装置,其数据的读出至少含有两种模式,一为正常模式,输出正确的数据,一为错误模式,输出错误的数据;一仿真器检测装置,用以检测是否有一仿真器耦接至系统总线,若是,则传送一模式控制信号至该进出数据不一致的可读写存储装置,使其读出模式为错误模式;或干扰存储器的地址总线、数据总线、以及控制总线的任一总线,使得存储器的总线数据为错误。
为达前述本发明的目的,采用了以下的方法1.一种使用进出数据不一致的可读写存储装置的软件保护方法,用以保护存放在可读写存储装置内的软件及数据不致被违法拷贝,防止软件数据被盗用,或在未经授权的情况下被使用,该方法包括(a)从一程序数据提供装置之中读出程序数据,将该程序数据写进一进出数据不一致的可读写存储装置之中;(b)提供一微处理器,用以从该进出数据不一致的可读写存储装置中读取程序数据;(c)耦接该微处理器的数据总线、地址总线和控制总线到该进出数据不一致的可读写存储装置;(d)监视至少地址总线、数据总线和控制总线之一,以便检测在正常情形下不会发生的存储器存取动作;以及(e)当检测到该微处理器在正常情况下不会发生的存储器存取动作的情形时,将地址总线、数据总线和控制总线的至少一信号线,驱至一预定电位;或产生一模式控制信号,使得该进出数据不一致的可读写存储装置持续地切换至错误模式。
2.一种使用进出数据不一致的可读写存储装置的软件保护方法,用以保护存放在进出数据不一致的可读写存储装置内的电视游戏软件及数据不被违法拷贝,防止软件数据被盗用,该方法包括(a)从一程序数据提供装置之中读出程序数据,将该程序数据写进一进出数据不一致的可读写存储装置之中,该进出数据不一致的可读写存储装置至少有两种模式,一是正常模式,输出正确转换的数据,二是错误模式,输出错误转换的数据;(b)提供一微处理器,用来自该进出数据不一致的可读写存储装置中读取电视游戏软件程序数据执行,以使影像单元产生视觉信号,声音单元产生声音信号;(c)耦接该微处理器的数据总线、地址总线和控制总线到该进出数据不一致的可读写存储装置;(d)监视至少地址总线、数据总线和控制总线之一,以便检测在正常情形下不会发生的存储器存取动作;(e)提供一断续性信号产生装置,用来在检测到上述在正常情形下不会发生的存储器存取动作时,产生一断续性驱动信号;以及(f)提供至少一电路装置,连接到该断续性信号产生装置,且连接到地址总线、数据总线和控制总线的任一信号线,用来接收及根据该断续性信号,将该信号线驱动至一预定电位。
3.一种使用进出数据不一致的可读写存储装置的软件保护方法,用以阻止利用微处理器的仿真器来读取存放在进出数据不一致的可读写存储装置内的软件及数据,防止软件数据被盗用,该方法包括(a)提供一执行程序,用以将一程序数据提供装置之中读出程序数据,将该程序数据写进一进出数据不一致的可读写存储装置之中。
(b)耦接数据总线、地址总线和控制总线到该进出数据不一致的可读写存储装置;(c)监视至少地址总线、数据总线和控制总线之一,以便检测在正常情形下不会发生的存储存取动作;(d)提供一断续性信号产生装置,用以当检测到在正常情况下不会发生的存储器存取动作的情形时,产生一断续性驱动信号;以及(e)提供至少一电路装置,连接至该断续性信号产生装置,且连接至地址总线、数据总线和控制总线的任一信号线,用以接收及根据该断续性驱动信号,将该信号线驱动至该预定电位。
由此,微处理器的仿真器所读取的程序数据有些是错误的。
在上述步骤中,还可以在该存储器的地址空间中,保留至少一地址,作为检测微处理器的仿真器之用;4.一种使用进出数据不一致的可读写存储装置的软件保护方法,适用于一发送端的单向传输软件的保护,以防止在一用户端以及该用户端和该发送端的传输间遭受非法的读出而盗用,该方法包括(a)提供一编码步骤,用来在该发送端将一程序数据进行编码;(b)提供一传送步骤,用以在该发送端通过一通讯媒介,传送编码后的该程序数据至该用户端;(c)提供一接收步骤,用以在该用户端读取编码后的该程序数据;(d)提供一解码步骤,用以在该用户端将编码后的该程序数据写入一进出数据不一致的可读写存储装置,并且自该进出数据不一致的可读写存储装置读出解码后的该程序数据;
(e)提供一仿真器检测步骤,用以检测是否使用微处理机的仿真器读出置于该进出数据不一致的可读写存储装置内的该程序数据。
(f)提供一错误模式步骤,用以当该仿真器检测步骤检测到一仿真器读出该程序数据时,使得该仿真器读出的该程序数据为错误的;由此,使得该仿真器直接自该进出数据不一致的可读写存储装置读出错误的该程序数据,监看该通讯媒介的该程序数据应为编码过的该程序数据,因此达到软件保护的功能。
为让本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下图1为典型的电视游戏机系统的结构方块图,可分为游戏主机10及游戏软件卡匣30两部份。
图2为接收广播下载程序的电视游戏机系统的结构方块图。
图3为接收广播下载程序的电视游戏机系统的另一结构方块图。
图4为具有本软件保护发明的接收广播下载程序的电视游戏机系统结构方块图。
图5为具有本软件保护发明的接收广播下载程序的电视游戏机系统另一结构方块图。
图6为本发明的仿真器检测装置的结构方块图。
图7为本发明的仿真器检测装置的另一结构方块图。
图8为本发明的仿真器检测干扰装置的结构方块图。
图9为本发明的仿真器检测干扰装置的另一结构方块图。
图10为本发明的检测装置实施例的电路图。
图11为本发明的断续性信号产生装置实施例的电路图。
图12为在图15所示的信号产生装置的时序图。
图13为本发明的进出数据不一致的可读写存储装置利用提升或下降总线信号电位进行干扰的不连接形式的电路方块结构图,其存取数据是通过一写入转换及读出转换电路。
图14为本发明的进出数据不一致的可读写存储装置利用模式控制信号进行干扰的连接形式的电路方块结构图,其存取数据是通过一读出转换电路。
图15为本发明的进出数据不一致的可读写存储装置利用提升或下降总线信号电位进行干扰的不连接形式的另一电路方块结构图,其存取数据是通过一写入转换及读出转换电路。
图16为本发明的进出数据不一致的可读写存储装置利用模式控制信号进行干扰的连接形式的另一电路方块结构图,其存取数据是通过一读出转换电路。
图17为本软件保护发明包含发送端的系统结构图。
图18为本软件保护发明包含播送端的另一系统结构图,其中无图17的写入转换装置。
图4为具有本软件保护发明的接收广播下载程序的电视游戏机系统结构图,乃延用图2中熟知结构。游戏主机10仍维持原来的结构,而游戏软件卡匣30则做大幅度的变动,由进出数据不一致的可读写存储装置32、仿真器检测装置60、以及接收转换装置50所构成,仿真器检测装置60是利用一检测装置监视地址总线20、数据总线22、以及控制总线24之中任一信号线,当检测装置检测到正常情况下不会发生的存储器存取动作,例如读取陷阱地址(trap address)的动作,表示微处理器的仿真器正在循序读出存储器的内容。干扰仿真器的读取,本发明提供两种方法一种称为连接形式,仿真器检测装置60利用模式控制信号MODE控制进出数据不一致的可读写存储装置32,使其持续性或不定时被读出错误的数据;一种称为不连接形式,仿真器检测装置60与进出数据不一致的仿真器之间并无模式控制信号MODE,而干扰仿真器读出数据的方法,是将地址总线20、数据总线22、以及控制总线24中的信号线,持续性或不定时将该信号线提升至系统高电位(如VCC)或下降至系统低电位(GND),导致读取的错误。图5为本发明的另一种结构,是依据图3的熟知结构而来,其基本原理与图4大致相同。
图6表示仿真器检测装置的一个实施例,其中包括一个陷阱地址检测装置250、一个重置地址检测装置252、以及一个RS锁存器254。当系统启动时,一般游戏主机10的CPU 14会自某一特定地址开始执行。由此特性,利用重置地址检测装置252检测此地址来对RS锁存器254进行重置。通过信号线266,将锁存器254的输出Q设为逻辑低电位;同时模式控制信号MODE亦为逻辑低电位。不直接连接系统重置线的原因,是避免此系统重置线持续重置(always reset),保护则无效。然而实际上是可以直接连接系统重置线。
当系统启动后,陷阱地址检测装置250即开始监视着地址总线20上,由游戏主机10的CPU 14所传送出来的读取总线地址。如同前面所叙述的,由于典型的游戏软件无须使用到所有存储器地址,甚至在游戏软件设计时,更可以特别留下某些特定的存储器地址不予使用。换句话说,这些特别留下来的地址,在游戏软件被游戏主机正常执行时,根本不会出现在系统地址总线20上。不过,试图以仿真器读取存放在可读写存储装置的游戏软件数据内容的人是无法预知哪些地址是空的,哪些地址是有数据的,因此便无法避开读取到预留的陷阱地址,一旦这些陷阱地址被仿真器所读取,陷阱地址检测装置250便会检测到,并立即以信号线264将设定信号传送到RS锁存器254,并将RS锁存器254的输出Q设定为逻辑高电位,同时,模式控制信号MODE亦设定为逻辑高电位。此类型的仿真器检测装置适用于利用模式控制信号进行干扰的连接形式的软件保护方法,并且持续性使得进出数据不一致的可读写存储装置32被读出错误的程序数据。
图7的结构与图6大致相同,只有在锁存器254之后附加一个信号产生装置256,此结构的仿真器检测装置适用于连接形式的软件保护方法,并使得进出数据不一致的可读写存储装置32不定时传出错误数据。锁存器254的输出Q连接至信号产生装置256的使能输入EN,当输出Q为逻辑低电压时,信号产生装置未被使能,模式控制信号MODE则为逻辑低电位;当输出Q为逻辑高电位时,信号产生装置256被使能,则模式控制信号MODE为信号产生装置的输出信号。而此输出信号的特性为断续或是随机的,图11即为一例。
图8和图9为仿真器检测干扰装置的结构图,其与图7的不同处,是在干扰方式的不同。由信号产生装置产生一驱动信号,用以驱动NMOS场效应管258或是PMOS场效应管259。其一端可耦接至地址总线20、数据总线22或是控制总线排24的一些信号线270,另一端可接至参考低电压(GND)或是参考高电压(VCC)。当驱动信号使得场效应管258或259处于开启状态,则可将信号线270转换为参考低电压或参考高电压。此种结构的仿真器检测装置适用于不连接形式的软件保护方法,并且不定时使得进出数据不一致的可读写存储装置被读出错误的程序数据。实际上,若欲使信号产生装置256产生一持续信号,用以使得实施例的可读写存储装置读出错误的程序数据,也可将此信号产生装置256移去,即可达到此要求。
图10表示本发明软件保护装置中的陷井地址检测装置250的一种典型的实例。此电路是将系统主机(例如图1中的游戏主机10)的CPU 14所传送出的读取总线地址,利用反相器(Inverter)/与(AND)逻辑门进行解码,其解码结果送到RS锁存器254的S输入,以便在适当的时候触发信号产生装置256或是做为模式控制信号MODE。
接着参考图11,表示本发明软件保护装置的断续性信号产生装置256的一实例。图5中所显示的断续性信号产生装置256是以一个三位计数器(3-bit counter)为基础,以一个时钟信号CK驱动,并在其三个输出Q0、Q1与Q2端再连接一个与门,例如利用一个三输入端的与门292加以逻辑运算,其输出信号290便可以驱动图8或图9中的NMOS 258或PMOS 259。
图12为图11中的断续性信号产生装置256所产生断续信号的一个例子。
另一方面,在图4及图5中所示的进出数据不一致的可读写存储装置32的结构,请参考图13。如图13所示,进出数据不一致的可读写存储装置是由一个可读写存储装置110、一个写入转换装置120及读出转换装置130、以及一个控制逻辑140所组成。可读写存储装置110的数据线DATA与数据总线22是以一写入转换装置120及读出转换装置130当为中继,做数据进出的处理。输出控制电路122和132(可为三态缓冲器)用以设定数据的流向,与写入转换电路120和读出转换电路130分别构成写进路径和读出路径。控制逻辑140是以数个逻辑门所组成,分别受控于读写控制信号(R/W)和芯片选择线(CS)产生两组信号连接至读出转换装置120和读出转换装置130,做为进出数据路径控制之用。此种型式适用于上述的不连接型式结构中,而数据保护的效果,可以利用仅对读出数据转换或仅对写进数据转换,甚或写入转换和读出转换非为一致,使得进出数据不一致;微处理器的仿真器无法由读取写进可读写存储装置的数据串,而破解本发明的数据信号。图15的结构为只有读出转换电路的情况。
图13中进出数据不一致的可读写存储装置的动作如下当芯片控制线CS逻辑高电位时,写入转换装置120及读出转换装置130均受控于一逻辑低电位信号,截断了写进路径和读出路径。当芯片控制线为使能,而读写控制信号(R/W)为逻辑低电位,亦即写进状态时,写入转换装置120受控于一使能信号而读出转换装置130受控于一不使能信号,进而发生写进动作;反之,读写控制信号(R/W)为逻辑高电位,亦即读出状态时,写入转换装置120受控于一不使能信号而读出转换装置130受控于一使能信号,发生读出动作。
图14中的进出数据不一致的可读写存储装置,为一适用于连接型式软件保护的结构。控制逻辑140另接收来自仿真器检测装置的模式控制信号MODE,因此,此种结构的进出数据不一致的可读写存储装置产生两种模式。一为正常模式,读出的数据为正常的编码数据;一为错误模式,读出的数据为错误的编码数据。一般而言,只需将模式控制信号MODE直接控制读出转换电路即可。利用模式控制信号MODE,可以持续性或断续性切换读出状态为错误模式,达到干扰仿冒者的效果。图16为此型另一种结构,不具有写入转换电路,但是基本原理与图14相同。
现就整个传输系统结构讨论本发明的软件保护方法。请参考图17,该图表示本软件保护发明的系统结构图,其中包含播送端2以及用户端3。播送端2其中包括程序数据储存装置4和播送装置6。程序数据储存装置4用以储存所需的程序数据,而播送装置6将程序数据传送至用户端3。当程序数据储存装置4将程序数据传送至播送装置6时,可利用软件或硬件的方式,先执行一编码步骤,随后再传送编码后的程序数据传送到用户端3的接收转换装置50。写入转换装置120和坊出转换装置130可提供一解码功能,使得正确解码后的程序数据进入CPU 14,以便执行其功能。假设仿真器检测装置(未图示)检测到一仿真器读出程序数据时,利用模式控制信号MODE将读出转换电路切换为错误模式,或是利用干扰系统总线的方式,使得该仿真器读出的程序数据为错误的,以达到本发明软件保护的目的。图18与图17类似,但是在用户端3无写入转换装置,执行相同的保护功能。
上述例举的软件保护装置及方法的实施例,依不同的应用范围,熟悉本领域技术的人员皆可做不脱离本发明思想的修饰及变化,如实施例中的信号产生装置可以一随机数产生器取代,获得更高的随机数保护程度;陷阱地址检测装置亦可以检测一连串地址或不同的多个地址的检测电路取代,皆不脱离本发明的精神。因此,本发明实际的保护范围不应以上述的实施限制,而应以权利要求为基准。
权利要求
1.一种使用进出数据不一致的可读写存储装置的软件保护装置,适用于保护存放于可读写存储装置内的软件,该装置包括一进出数据不一致的可读写存储装置,其数据的读出至少含有两种模式,一为正常模式,输出正确的数据,一为错误模式,输出错误的数据;一仿真器检测装置,用以检测是否有一仿真器耦接至系统总线,若是,则传送一模式控制信号至该进出数据不一致的可读写存储装置,使其读出模式为错误模式。
2.如权利要求1所述的装置,其中,该进出数据不一致的可读写存储装置包括一可读写存储装置;至少一写入转换及读出转换电路,设置于该进出数据不一致的可读写存储装置的外部数据总线和该可读写存储装置的总线之间;一控制逻辑,其为多个逻辑门所构成,至少接收该模式控制信号,以控制该写入转换及读出转换电路。
3.如权利要求2所述的装置,其中,该写入转换及读出转换电路中的读出转换电路,因该控制逻辑的控制,至少包含二模式,一为正常模式,送出数据为正常的数据,一为错误模式,送出数据为错误的数据。
4.如权利要求2所述的装置,其中,该写入转换及读出转换电路分别与一输出控制电路相连,该输出控制电路用以设定数据流向。
5.如权利要求4所述的装置,其中,该输出控制电路为一三态缓冲器。
6.如权利要求4所述的装置,其中,该写入转换及读出转换电路的写入转换电路构成一写入路径,而读出转换电路构成一读出路径。
7.如权利要求1所述的装置,其中,该进出数据不一致的可读写存储装置包括一可读写存储装置;至少一读出转换电路,设置于该进出数据不一致的可读写存储装置的外部数据总线和该可读写存储装置的数据总线之间;一控制逻辑,其为多个逻辑所构成,至少接收该一模式控制信号,以控制该读出转换电路。
8.如权利要求7所述的装置,其中,该读出转换电路因该控制逻辑的控制,至少包含二模式,一为正常模式,送出数据为正常的数据,一为错误模式,送出数据为错误数据。
9.如权利要求7所述的装置,其中,该读出转换电路与一输出控制电路相连,该输出控制电路用以设定数据流向。
10.如权利要求9所述的装置,其中,该输出控制电路为一三态缓冲器。
11.如权利要求9所述的装置,其中,该读出转换电路构成一读出路径。
12.如权利要求1所述的装置,其中,该仿真器检测装置包括一检测装置,用以监视至少地址总线、数据总线和控制总线之一,检测在正常情况下不会发生的存储器存取动作;一切换装置,连接到该检测装置,用来在该检测装置检测到在正常情形下不会发生的存储器存取动作时,送出一模式控制信号。
13.如权利要求1所述的装置,其中,该仿真器检测装置包括一检测装置,用以监视至少地址总线、数据总线和控制总线之一,检测在正常情况下不会发生的存储器存取动作;一切换装置,连接到该检测装置,用来在该检测装置检测到在正常情况下不会发生的存储器存取动作时,启动下一级的信号产生装置;一信号产生装置,连接到该切换装置,用来在被该切换装置启动时,产生一断续信号,用以做一模式控制信号。
14.如权利要求12或13所述的装置,其中,该检测装置,包含了当检测到正常情形下不会发生的存储器存取动作时,产生一输出信号的装置。
15.如权利要求12或13所述的装置,其中,该检测装置,包含了用来检测正常情形下不会发生的某些存储器地址存取动作的电路。
16.如权利要求12或13所述的装置,其中,该检测装置,包含了用来检测正常情形下不会发生的某一连串的存储器地址存取动作的电路。
17.如权利要求12或13所述的装置,其中,该切换装置,可包含一状态保持装置,用来在检测到正常情形下不会发生的存储器存取动作时,执行该切换装置的功能。
18.如权利要求12或13所述的装置,其中,该切换装置,包括一状态保持装置,用来在检测正常情形下不会发生的存储器存取动作时,执行该切换装置的功能,且包括一重置信号,用以停止该切换装置的功能。
19.如权利要求2或7所述的装置,其中,该控制逻辑的输入尚耦接至一读写控制信号及一芯片选择线。
20.一种使用进出数据不一致的可读写存储装置的软件保护装置,适用于保护存放于可读写存储装置内的软件,该装置包括一进出数据不一致的可读写存储装置,其数据的读出至少含有两种模式,一为正常模式,输出正确的数据,一为错误模式,输出错误的数据;一仿真器检测干扰装置,用以检测是否有一仿真器耦接至系统总线,若是,则干扰存储器的地址总线、数据总线、以及控制总线的任一总线,使得存储器的总线数据为错误。
21.如权利要求20所述的装置,其中,该进出数据不一致的可读写存储装置包括一可读写存储装置;至少一写入转换及读出转换电路,设置于该进出数据不一致的可读写存储装置的外部数据总线和该可读写存储装置的数据总线之间;以及一控制逻辑,其为多个逻辑门所构成,其输入至少耦接一读写控制信号及一芯片选择线,用以控制该写入转换及读出转换电路。
22.如权利要求20所述的装置,其中,该进出数据不一致的可读写存储装置包括一可读写存储装置;至少一读出转换电路,设置于该进出数据不一致的可读写存储装置的外部数据总线和该可读写存储装置的数据总线之间;以及一控制逻辑,其为多个逻辑门所构成,其输入至少耦接一读写控制信号及一芯片选择线,用以控制该读出转换电路。
23.如权利要求21或22所述的装置,其中,该写入转换及读出转换电路以及该读出转换电路分别与一输出控制电路相连,该输出控制电路用以设定数据流向。
24.如权利要求23所述的装置,其中,该输出控制电路为一三态缓冲器。
25.如权利要求23所述的装置,其中,该写入电路构成一写入路径,该读出转换电路构成一读出路径。
26.如权利要求20所述的装置,其中,该仿真器检测干扰装置包括一检测装置,用以监视至少地址总线、数据总线和控制总线之一,检测在正常情形下不会发生的存储器存取动作;一切换装置,连接到该检测装置,用来在该检测装置检测到在正常情形下不会发生的存储器存取动作时,启动下一级的信号产生装置;一信号产生装置,连接到该切换装置,用来在被该切换装置启动时,产生驱动信号,以推动下一级的电路装置;以及至少一电路装置,连接到该信号产生装置,且连接到地址总线、数据总线和控制总线的任一信号线,用来接收及根据该驱动信号,将该信号驱动至一预定电位。
27.如权利要求26所述的装置,其中,该检测装置,包含了当检测到正常情形下不会发生的存储器存取动作时,产生一输出信号的装置。
28.如权利要求26所述的装置,其中,该检测装置,包含了用来检测正常情形下不会发生的某些存储器地址存取动作的电路。
29.如权利要求26所述的装置,其中,该检测装置,包含了用来检测正常情形下不会发生的某一连串的存储器地址存取动作的电路。
30.如权利要求26所述的装置,其中,该切换装置,可包括一状态保持装置,用来在检测到正常情形下不会发生的存储器存取动作时,启动该信号产生装置。
31.如权利要求26所述的装置,其中,该切换装置,包括一状态保持装置,用来在检测到正常情形下不会发生的存储器存取动作时,启动该信号产生装置,且包括一重置信号,用以停止信号产生装置。
32.如权利要求26所述的装置,其中,该预定电位是一接地电位。
33.如权利要求26所述的装置,其中,该预定电位是一电源电压的电位。
34.如权利要求26所述的装置,其中,该驱动信号为一连续信号,用以将该信号线持续性驱动至该预定电位。
35.如权利要求26所述的装置,其中,该驱动信号为一断续信号,用以将该信号线断续性驱动至该预定电位。
36.一种使用进出数据不一致的可读写存储装置的软件保护方法,用以保护存放在可读写存储装置内的软件及数据不致被违法拷贝,防止软件数据被盗用,或在未经授权的情况下被使用,该方法包括(a)从一程序数据提供装置之中读出程序数据,将该程序数据写进一进出数据不一致的可读写存储装置之中;(b)提供一微处理器,用以从该进出数据不一致的可读写存储装置中读取程序数据;(c)耦接该微处理器的数据总线、地址总线和控制总线到该进出数据不一致的可读写存储装置;(d)监视至少地址总线、数据总线和控制总线之一,以便检测在正常情形下不会发生的存储器存取动作;以及(e)当检测到该微处理器在正常情况下不会发生的存储器存取动作的情形时,将地址总线、数据总线和控制总线的至少一信号线,驱至一预定电位。
37.如权利要求36所述的方法,其中,该步骤(d)包括(f)提供一断续性信号产生装置,用以当检测到该微处理器在正常情况下不会发生的存储器存取动作的情形时,产生一断续性驱动信号;以及(g)提供至少一电路装置,连接至该断续性信号产生装置,且连接至地址总线、数据总线和控制总线的任一信号线、用以接收及根据该断续性驱动信号,将该信号线驱动至该预定电位。
38.如权利要求36所述的方法,其中,该步骤(d)包括(f′)提供一持续性信号产生装置,用以当检测到该微处理器在正常情况下不会发生的存储器存取动作的情形时,产生一持续性驱动信号;以及(g′)提供至少一电路装置,连接至该持续性信号产生装置,且连接至地址总线、数据总线和控制总线的任一信号线、用以接收及根据该持续性驱动信号,将该信号线驱动至该预定电位。
39.如权利要求37或38所述的方法,其中,步骤(a)可由一执行程序产生,该执行程序置于一存储器中,做为启动系统程序。
40.如权利要求37或38所述的方法,其中,该程序数据提供装置为一通讯装置,由一通讯媒介读取程序数据,用以提供程序数据下载。
41.如权利要求40所述的方法,该通讯媒介为有线电视、卫星通讯、以及电话线路其中之一。
42.如权利要求37或38所述的方法,其中,该驱动信号是由一电路产生的。
43.如权利要求37或38所述的方法,其中,该步骤(d)包括检测某些存储器的存取动作,而这些存储器的存取在正常情形下是不会发生的动作所产生的。
44.如权利要求37或38所述的方法,其中,该步骤(d)包括检测某些存储器地址的存取动作,而这些地址的存取在正常情形下是不会发生的。
45.如权利要求37或38所述的方法,其中,该步骤(d)包括检测在正常情形下不会发生的某一连串的存储器地址存取动作。
46.如权利要求37或38所述的方法,其中,该步骤(d)的检测,是由一检测电路达成的。
47.如权利要求37或38所述的方法,其中,该步骤(f)和(f′)包括一锁存步骤,用来启动该信号产生装置,以产生该驱动信号。
48.如权利要求37和38所述的方法,更包括一产生重置信号的步骤,用来停止该驱动信号的产生。
49.如权利要求37或38所述的方法,其中,该预定电位是一接地电位。
50.如权利要求37或38所述的方法,其中,该预定电位是一电源电压的电位。
51.一种使用进出数据不一致的可读写存储装置的软件保护方法,用以保护存放在可读写存储装置内的软件及数据的不被违法拷贝,防止软件数据被盗用,或在未经授权的情况下被使用,该方法包括(a)从一程序数据提供装置之中读出程序数据,将该程序数据写进一进出数据不一致的可读写存储装置之中,该进出数据不一致的可读写存储装置至少有两种模式,一是正常模式,输出正确转换的数据,二是错误模式,输出错误转换的数据;(b)提供一微处理器,用以从该进出数据不一致的可读写存储装置中读取程序数据;(c)耦接该微处理器的数据总线、地址总线和控制总线到该进出数据不一致的可读写存储装置;(d)监视至少地址总线、数据总线和控制总线之一,以便检测在正常情况下不会发生的存储器存取动作;以及(e)当检测到该微处理器在正常情形下不会发生的存储器存取动作的情形时,产生一模式控制信号,使得该进出数据不一致的可读写存储装置持续地切换至错误模式。
52.如权利要求51所述的方法,其中,该步骤(e)可由一(f)步骤取代,该(f)步骤为(f)当检测到该微处理器的正常情况下不会发生的存储器存取动作的情形时,启动的断续性信号产生装置,产生一断续性模式控制信号,使得该进出数据不一致的可读写存储装置不定时切换至错误模式。
53.如权利要求51或52所述的方法,其中,步骤(a)可为一执行程序产生,该执行程序置于一存储器中,做为启动系统程序。
54.如权利要求51或52所述的方法,其中,该程序数据提供装置为一通讯装置,由一通讯媒介读取程序数据,用以提供程序数据下载。
55.如权利要求54所述的方法,该通讯媒介为有线电视、卫星通讯、以及电话线路其中之一。
56.如权利要求51或52所述的方法,其中,该模式控制信号是由一电路产生的。
57.如权利要求51或52所述的方法,其中,该步骤(d)包括检测某些存储器的存取动作,而这些存储器的存取是在正常情形下不会发生的动作所产生的。
58.如权利要求51或52所述的方法,其中,该步骤(d)包括检测某些存储器地址的存取动作,而这些地址的存取在正常情形下是不会发生的。
59.如权利要求51或52所述的方法,其中,该步骤(d)包括检测在正常情形下不会发生的某一连串的存储器地址存取动作。
60.如权利要求51或52所述的方法,其中,该步骤(d)的检测,是由一检测电路达成的。
61.如权利要求51或52所述的方法,其中,该等方法于产生该模式控制信号的步骤中,尚包括一锁存步骤,用以产生该模式控制信号。
62.如权利要求51或52所述的方法,更包括一产生重置信号的步骤,用来停止该模式控制信号。
63.如权利要求51或52所述的方法,其中,该预定电位是一接地电位。
64.如权利要求51或52所述的方法,其中,该预定电位是一电源电压的电位。
65.一种使用进出数据不一致的可读写存储装置的软件保护方法,用以保护存放在进出数据不一致的可读写存储装置内的电视游戏软件及数据不被违法拷贝,防止软件数据被盗用,该方法包括(a)从一程序数据提供装置之中读出程序数据,将该程序数据写进一进出数据不一致的可读写存储装置之中,该进出数据不一致的可读写存储装置至少有两种模式,一是正常模式,输出正确转换的数据,二是错误模式,输出错误转换的数据;(b)提供一微处理器,用来自该进出数据不一致的可读写存储装置中读取电视游戏软件程序数据执行,以使影像单元产生视觉信号,声音单元产生声音信号;(c)耦接该微处理器的数据总线、地址总线和控制总线到该进出数据不一致的可读写存储装置;(d)监视至少地址总线、数据总线和控制总线之一,以便检测在正常情形下不会发生的存储器存取动作;(e)提供一断续性信号产生装置,用来在检测到上述在正常情形下不会发生的存储器存取动作时,产生一断续性驱动信号;以及(f)提供至少一电路装置,连接到该断续性信号产生装置,且连接到地址总线、数据总线和控制总线的任一信号线,用来接收及根据该断续性信号,将该信号线驱动至一预定电位。
66.如权利要求65所述的方法,其中,步骤(a)可由一执行程序产生,该执行程序置于一存储器中,做为启动系统程序。
67.如权利要求65所述的方法,其中,该程序数据提供装置为一通讯装置,由一通讯媒介读取程序数据,用以提供程序数据下载。
68.如权利要求67所述的方法,该通讯媒介为有线电视、卫星通讯、以及电话线路其中之一。
69.如权利要求65所述的方法,其中,该断续性驱动信号是由一电路产生的。
70.如权利要求65所述的方法,其中,该步骤(d)包括检测某些存储器的存取动作,而这些存储器的存取是在正常情形下不会发生的动作所产生的。
71.如权利要求65所述的方法,其中,该步骤(d)包括检测某些存储器地址的存取动作,而这些地址的存取在正常情形下是不会发生的。
72.如权利要求65所述的方法,其中,该步骤(d)包括检测在正常情形下不会发生的某一连串的存储器地址存取动作。
73.如权利要求65所述的方法,其中,该步骤(d)的检测,是由一检测电路达成的。
74.如权利要求65所述的方法,其中,该步骤(f)包括一锁存步骤,用来启动该断续性信号产生装置,以产生该断续性驱动信号。
75.如权利要求65所述的方法,更包括一产生重置信号的步骤,用来停止该断续性驱动信号的产生。
76.如权利要求65所述的方法,其中,该预定电位是一接地电位。
77.如权利要求65所述的方法,其中,该预定电位是一电源电压的电位。
78.一种使用进出数据不一致的可读写存储装置的软件保护方法,用以阻止利用微处理器的仿真器来读取存放在进出数据不一致的可读写存储装置内的软件及数据,防止软件数据被盗用,该方法包括(a)提供一执行程序,用以将一程序数据提供装置之中读出程序数据,将该程序数据写进一进出数据不一致的可读写存储装置之中。(b)耦接数据总线、地址总线和控制总线到该进出数据不一致的可读写存储装置;(c)监视至少地址总线、数据总线和控制总线之一,以便检测在正常情形下不会发生的存储存取动作;(d)提供一断续性信号产生装置,用以当检测到在正常情况下不会发生的存储器存取动作的情形时,产生一断续性驱动信号;以及(e)提供至少一电路装置,连接至该断续性信号产生装置,且连接至地址总线、数据总线和控制总线的任一信号线,用以接收及根据该断续性驱动信号,将该信号线驱动至该预定电位。由此,微处理器的仿真器所读取的程序数据有些是错误的。
79.如权利要求78所述的方法,其中,该执行程序置于一存储器中,做为启动系统程序。
80.如权利要求78所述的方法,其中,该程序数据提供装置为一通讯装置,由一通讯媒介读取程序数据,用以提供程序数据下载。
81.如权利要求80所述的方法,该通讯媒介为有线电视、卫星通讯、以及电话线路其中之一。
82.如权利要求78所述的方法,其中,该断续性驱动信号是由一电路产生的。
83.如权利要求78所述的方法,其中,该步骤(c)包括检测某些存储器的存取动作,而这些存储器的存取是在正常情形下不会发生的动作所产生的。
84.如权利要求78所述的方法,其中,该步骤(c)包括检测某些存储器地址的存取动作,而这些地址的存取在正常情形下是不会发生的。
85.如权利要求78所述的方法,其中,该步骤(c)包括检测在正常情形下不会发生的某一连串的存储器地址存取动作。
86.如权利要求78所述的方法,其中,该步骤(c)的检测,是由一检测电路完成的。
87.如权利要求78所述的方法,其中,该步骤(d)包括一锁存步骤,用来启动该断续性信号产生装置,以产生该断续性驱动信号。
88.如权利要求78所述的方法,更包括一产生重置信号的步骤,用来停止该断续性驱动信号的产生。
89.如权利要求78所述的方法,其中,该预定电位是一接地电位。
90.如权利要求78所述的方法,其中,该预定电位是一电源电压的电位。
91.一种使用进出数据不一致的可读写存储装置的软件保护方法,用以阻止利用微处理器的仿真器来读取存放在进出数据不一致的可读写存储装置内的软件及数据,防止软件数据被盗用,该方法包括(a)提供一执行程序,用以将一程序数据提供装置之中读出程序数据,将该程序数据写进一进出数据不一致的可读写存储装置之中;(b)在该存储器的地址空间中,保留至少一地址,作为检测微处理器的仿真器之用;(c)耦接该微处理器的数据总线、地址总线和控制总线到该进出数据不一致的可读写存储装置;(d)监视至少地址总线、数据总线和控制总线之一,以便检测在正常情形下不会发生的存储器存取动作;(e)提供一断续性信号产生装置,用以当检测到该微处理器在正常情况下不会发生的存储器存取动作的情形时,产生一断续性驱动信号;以及(f)提供至少一电路装置,连接至该断续性信号产生装置,且连接至地址总线、数据总线和控制总线的任一信号线,用来接收及根据该断续性驱动信号,将该信号线驱动至该预定电位。由此,微处理器的仿真器所读取的程序数据有些是错误的。
92.如权利要求91所述的方法,其中,该执行程序置于一存储器中,做为启动系统程序。
93.如权利要求91所述的方法,其中,该程序数据提供装置为一通讯装置,由一通讯媒介读取程序数据,用以提供程序数据下载。
94.如权利要求93所述的方法,其中,该通讯媒介为有线电视、卫星通讯、以及电话线路其中之一。
95.如权利要求91所述的方法,其中,该断续性驱动信号是由一电路产生的。
96.如权利要求91所述的方法,其中,该步骤(d)包括检测某些存储器的存取动作,而这些存储器的存取是在正常情形下不会发生的动作所产生的。
97.如权利要求91所述的方法,其中,该步骤(d)包括检测某些存储器地址的存取动作,而这些地址的存取在正常情形下是不会发生的。
98.如权利要求91所述的方法,其中,该步骤(d)包括检测在正常情形下不会发生的某一连串的存储器地址存取动作。
99.如权利要求91所述的方法,其中,该步骤(d)的检测,是由一检测电路达成的。
100.如权利要求91所述的方法,其中,该步骤(f)包括一锁存步骤,用来启动该断续性信号产生装置,以产生该断续性的驱动信号。
101.如权利要求91所述的方法,更包括一产生重置信号的步骤,用来停止该断续性驱动信号的产生。
102.如权利要求91所述的方法,其中,该预定电位是一接地电位。
103.如权利要求91所述的方法,其中,该预定电位是一电源电压的电位。
104.一种使用进出数据不一致的可读写存储装置的软件保护方法,适用于一发送端的单向传输软件的保护,以防止在一用户端以及该用户端和该发送端的传输间遭受非法的读出而盗用,该方法包括(a)提供一编码步骤,用来在该发送端将一程序数据进行编码;(b)提供一传送步骤,用以在该发送端通过一通讯媒介,传送编码后的该程序数据至该用户端;(c)提供一接收步骤,用以在该用户端读取编码后的该程序数据;(d)提供一解码步骤,用以在该用户端将编码后的该程序数据写入一进出数据不一致的可读写存储装置,并且自该进出数据不一致的可读写存储装置读出解码后的该程序数据;(e)提供一仿真器检测步骤,用以检测是否使用微处理机的仿真器读出置于该进出数据不一致的可读写存储装置内的该程序数据。(f)提供一错误模式步骤,用以当该仿真器检测步骤检测到一仿真器读出该程序数据时,使得该仿真器读出的该程序数据为错误的;由此,使得该仿真器直接自该进出数据不一致的可读写存储装置读出错误的该程序数据,监看该通讯媒介的该程序数据应为编码过的该程序数据,因此达到软件保护的功能。
105.如权利要求104所述的方法,其中,该编码步骤是利用硬件达成。
106.如权利要求104所述的方法,其中,该编码步骤是利用软件达成。
107.如权利要求104所述的方法,其中,该解码步骤是通过一写入转换及读出转换电路来达成。
108.如权利要求104所述的方法,其中,该解码步骤是通过一读出转换电路来达成。
109.如权利要求104所述的方法,其中,该仿真器检测步骤包括检测某些存储器的存取动作,而这些存储器的存取是在正常情形下不会发生的动作所产生的。
110.如权利要求104所述的方法,其中,该仿真器检测步骤包括检测某些存储器地址的存取动作,而这些地址的存取在正常情形下不会发生。
111.如权利要求104所述的方法,其中,该仿真器检测步骤包括检测在正常情况下不会发生的某一连串的存储器地址存取动作。
112.如权利要求104所述的方法,其中错误模式步骤是将该解码步骤中读出该程序数据的动作切换至一错误模式,使得该仿真器读出的该程序数据为错误的。
113.如权利要求104所述的方法,其中错误模式步骤是干扰系统总线,使得该仿真器读出的该程度数据为错误的。
全文摘要
一种利用进出数据不一致的可读写存储装置,辅以仿真器检测及干扰装置用以保护可读写存储装置的软件保护装置,适用于保护以广播方式单向的分散式传播的软件。该存储装置可以防止仿真器截取下载的程序及数据,而仿真器检测装置发现仿真器时,可对系统总线(system bus)进行干扰,造成违法拷贝的程序数据是错误的,而达到保护软件的功能。
文档编号G06F12/14GK1133991SQ9510502
公开日1996年10月23日 申请日期1995年4月19日 优先权日1995年4月19日
发明者徐世斌 申请人:联华电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1