專利名稱:軟件保護(hù)方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種軟件保護(hù)技術(shù),特別是關(guān)于一種利用版本檢測及在程序關(guān)鍵點(diǎn)位置設(shè)置多處確認(rèn)密碼以對軟件進(jìn)行加密保護(hù)的方法及系統(tǒng)。
背景技術(shù):
軟件用于指揮及控制信息設(shè)備硬件運(yùn)行,自軟件開發(fā)初期至正式商品化為止,軟件開發(fā)商須投入大量的開發(fā)人力及成本,直至所開發(fā)的軟件可在信息設(shè)備上穩(wěn)定運(yùn)行后,才可將軟件上市出售。此時(shí),軟件開發(fā)公司為盡快收回開發(fā)時(shí)所投入的龐大成本,使軟件售價(jià)居高不下,無法在多數(shù)信息設(shè)備中普及,再者,因軟件均儲(chǔ)存在光盤或軟盤等儲(chǔ)存媒介中,易于流通傳播,所以增加了被通過各種數(shù)據(jù)處理技術(shù)進(jìn)行復(fù)制的機(jī)率。因此,軟件加密成為保護(hù)軟件的一種必要手段,目前出售的軟件大部分采取一定的加密方法,其目的在于保護(hù)軟件開發(fā)商的利益及防止軟件被任意復(fù)制、盜版。目前軟件開發(fā)商所用的軟件加密方法大致可分為兩類硬件加密與軟件加密。
硬件加密是將軟件與信息設(shè)備的硬件結(jié)合以對軟件進(jìn)行加密保護(hù),采用硬件加密的軟件在執(zhí)行時(shí),需和相應(yīng)的硬件交換資料,若沒有相應(yīng)的硬件配合,加密后的軟件將無法運(yùn)行,這種方法雖具有加密強(qiáng)度高,加密性能好等優(yōu)點(diǎn),但需要特定的硬件支持才能完整運(yùn)行,這種不便性是它的缺點(diǎn)之一,因此,這種方法多用于對加密強(qiáng)度、兼容性、穩(wěn)定性有較高要求的軟件開發(fā)商。
軟件加密是用純軟件方法對軟件進(jìn)行加密,其加密方式主要有密碼方式、軟件自行校驗(yàn)方式,許可證管理方式及鑰匙盤方式等。
密碼方式是指信息設(shè)備在軟件執(zhí)行過程中的重要地方詢問密碼,使用者須依照密碼表相對應(yīng)的輸入密碼,程序才能繼續(xù)執(zhí)行。這種方式的優(yōu)點(diǎn)是施行簡單,幾乎不必投入成本,但存在著破壞正常的人機(jī)對話、密碼和加密點(diǎn)相對固定等缺陷,因此主要用于價(jià)格較低的軟件,如游戲軟件等。
軟件自行校驗(yàn)方式指軟件開發(fā)商將軟件裝入使用者所用的硬盤時(shí),安裝程序在安裝過程中會(huì)自動(dòng)記錄計(jì)算機(jī)硬件的奇偶校驗(yàn)和軟件安裝的磁道位置等信息,或者在硬盤的特殊磁道、CMOS(Complementary Metal-Oxide Semiconductor,互補(bǔ)金屬氧化物半導(dǎo)體,是計(jì)算機(jī)主機(jī)板上的一種存儲(chǔ)器)中做一標(biāo)記,并自動(dòng)改寫安裝程序,此后軟件執(zhí)行時(shí),即對這些安裝時(shí)記錄的信息或標(biāo)記進(jìn)行校驗(yàn)。如果軟件被使用者復(fù)制到其它的信息設(shè)備上,因運(yùn)行環(huán)境已經(jīng)改變,軟件無法正常運(yùn)行。使用這種方式可令使用者在合法使用軟件時(shí),感覺不到加密的存在,且信息設(shè)備相對也較穩(wěn)定,所以許多軟件開發(fā)商已采用這種方式保護(hù)所開發(fā)的軟件,但這種加密方式也存在一定的缺陷,例如,當(dāng)使用者增減或更換計(jì)算機(jī)硬件、壓縮硬盤或出現(xiàn)CMOS掉電等情況時(shí),都會(huì)造成軟件無法正常執(zhí)行,需重新安裝軟件才可解決上述問題,對使用者而言就更加不便。
許可證管理方式是指軟件在安裝過程中,對正版使用者的信息設(shè)備進(jìn)行檢測,借以獲得信息設(shè)備硬件的特殊指紋信息,并通過算法的計(jì)算過程(將指紋信息以及該軟件自身的安裝序號進(jìn)行運(yùn)算),得到代表該軟件的一串資料,并要求使用者將此資料通過國際互聯(lián)網(wǎng)、電子郵件、電話傳真、信件等方式進(jìn)行注冊,若是正版使用者即可在軟件開發(fā)商那里取得一注冊碼(或確認(rèn)碼)。正版使用者把此注冊碼輸入要安裝的軟件后,該軟件即可正常運(yùn)行,這種加密方式實(shí)際上是將軟件與特定的信息設(shè)備硬件進(jìn)行″捆綁″,令使用者無法將軟件復(fù)制到其它信息設(shè)備上使用,因每臺(tái)信息設(shè)備的硬件指紋都不相同,所以,這種方式對軟件的執(zhí)行過程并無任何影響,其缺點(diǎn)為,將增加軟件開發(fā)商的服務(wù)工作量,據(jù)悉使用專門的注冊機(jī)產(chǎn)生注冊碼將成為未來的主流,如微軟(Microsoft)的Office2000即已采用這種加密方式進(jìn)行軟件保護(hù)。
鑰匙盤方式是在軟盤的特殊磁道寫入一特定信息,軟件在運(yùn)行過程中須校驗(yàn)這一特定信息,這種軟盤就象一把鑰匙,因而被人們習(xí)慣稱為鑰匙盤,采用這種加密方式的軟件加密工具很多,其中,較先進(jìn)的軟件加密工具還提供接口函數(shù),軟件開發(fā)商僅需一次性購買一套加密工具,即可自行制作多張鑰匙盤,而在軟件中讀取鑰匙盤上特殊的磁道來校驗(yàn)鑰匙盤是否存在。這種軟件加密方式簡便、成本低、加密可靠,但同時(shí)也存在缺陷,如使用者執(zhí)行軟件時(shí)必須在軟盤驅(qū)動(dòng)器中插入軟盤,導(dǎo)致使用者在軟盤中進(jìn)行數(shù)據(jù)存取的不便,且軟盤是一種消耗品,經(jīng)常會(huì)因折損、劃傷、磁化及冷熱等原因造成損壞而使資料無法讀取,且軟盤儲(chǔ)存的軟件和資料尚可供使用者備份,而鑰匙盤則不能,因此使用者常有因鑰匙盤損壞等原因造成軟件無法正常使用的窘境。
發(fā)明內(nèi)容
為克服上述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的主要目的在于提供一種軟件保護(hù)方法及系統(tǒng),它可增加受保護(hù)軟件的加密強(qiáng)度,以確保軟件被人非法復(fù)制后,無法完整運(yùn)行在未經(jīng)授權(quán)的信息設(shè)備上。
本發(fā)明的另一目的在于提供一種軟件保護(hù)方法及系統(tǒng),其施行方式簡單且成本低廉,無須耗費(fèi)軟件開發(fā)商額外的成本及人力支出。
本發(fā)明的又一目的在于提供一種軟件保護(hù)方法及系統(tǒng),其可在使用者合法且正常使用軟件時(shí),感覺不到存在軟件加密的保護(hù)程序,而不致破壞人機(jī)對話。
為達(dá)上述目的,本發(fā)明的軟件保護(hù)方法包括(1)在應(yīng)用程序執(zhí)行過程中不同的關(guān)鍵點(diǎn)位置分別設(shè)定不同的確認(rèn)密碼;(2)在信息設(shè)備中增設(shè)可監(jiān)視應(yīng)用程序運(yùn)行、并接收應(yīng)用程序發(fā)送的查詢信息的監(jiān)視進(jìn)程模塊;(3)令該應(yīng)用程序在運(yùn)行時(shí)首先向信息設(shè)備查詢認(rèn)證信息,若信息設(shè)備響應(yīng)的認(rèn)證信息錯(cuò)誤,應(yīng)用程序就無法正常運(yùn)行,如應(yīng)用程序檢測認(rèn)證信息無誤后,即可進(jìn)行初始化并繼續(xù)運(yùn)行;(4)應(yīng)用程序運(yùn)行至某一關(guān)鍵點(diǎn)位置時(shí),隨即向監(jiān)控進(jìn)程模塊請求提供與該關(guān)鍵點(diǎn)位置相對應(yīng)的密碼信息;以及(5)令應(yīng)用程序?qū)ΡO(jiān)視進(jìn)程模塊所提供的密碼信息進(jìn)行確認(rèn),若確認(rèn)通過,則應(yīng)用程序可繼續(xù)運(yùn)行,如否,應(yīng)用程序?qū)⒘⒓赐顺鲞\(yùn)行;然后,若應(yīng)用程序再運(yùn)行至其它關(guān)鍵點(diǎn)位置時(shí),重復(fù)進(jìn)行步驟(4)到步驟(5),以對多個(gè)關(guān)鍵點(diǎn)位置的確認(rèn)密碼進(jìn)行校驗(yàn),并在所有關(guān)鍵點(diǎn)位置的確認(rèn)密碼都確認(rèn)通過后,應(yīng)用程序才可正常且完整的運(yùn)行在信息設(shè)備中。
如上所述,本發(fā)明的軟件保護(hù)方法是先由軟件開發(fā)者在應(yīng)用程序運(yùn)行過程中,在所需執(zhí)行的程序內(nèi)容及指令等關(guān)鍵點(diǎn)位置設(shè)定確認(rèn)密碼,也就是軟件開發(fā)者在應(yīng)用程序的不同關(guān)鍵點(diǎn)位置,分別設(shè)定多個(gè)需對應(yīng)用程序編號、關(guān)鍵點(diǎn)位置及密碼等識別項(xiàng)目進(jìn)行校驗(yàn)的確認(rèn)密碼,當(dāng)應(yīng)用程序運(yùn)行在信息設(shè)備中時(shí),令其首先向該信息設(shè)備取得認(rèn)證信息,也就是設(shè)備版本號,并只有在確認(rèn)版本號無誤后,應(yīng)用程序才可繼續(xù)運(yùn)行,當(dāng)應(yīng)用程序運(yùn)行至關(guān)鍵點(diǎn)位置時(shí),即要求監(jiān)視進(jìn)程模塊提供含有應(yīng)用程序編號、關(guān)鍵點(diǎn)位置及密碼等內(nèi)容的密碼信息,當(dāng)該密碼信息所含的內(nèi)容都符合確認(rèn)密碼要求確認(rèn)的識別項(xiàng)目時(shí),應(yīng)用程序就可繼續(xù)運(yùn)行,反之,則令該應(yīng)用程序隨即退出信息設(shè)備的執(zhí)行作業(yè);令應(yīng)用程序能夠完成對所有確認(rèn)密碼的認(rèn)證工作,且只有全部密碼都檢測通過后,應(yīng)用程序才可正常、且完整的運(yùn)行在信息設(shè)備中。
本發(fā)明的軟件保護(hù)系統(tǒng)包括(a)可外接市電并提供系統(tǒng)內(nèi)部所有器件工作所需電源的電源供應(yīng)裝置;(b)可供儲(chǔ)存媒介置入的軟件輸入接口;(c)用于存放已安裝軟件的儲(chǔ)存裝置;(d)處理單元,與軟件輸入接口及儲(chǔ)存裝置電性連接,用于將軟件從儲(chǔ)存媒介安裝至儲(chǔ)存裝置中,并可從儲(chǔ)存裝置加載軟件并執(zhí)行其所含的應(yīng)用程序;以及(e)監(jiān)視進(jìn)程模塊,用于維護(hù)所有應(yīng)用程序的關(guān)鍵點(diǎn)密碼表,并同時(shí)監(jiān)控應(yīng)用程序的運(yùn)行及等待應(yīng)用程序發(fā)送查詢信息。
綜上所述,本發(fā)明的軟件保護(hù)系統(tǒng)可配合軟件保護(hù)方法的施行程序,通過版本檢測及設(shè)置多處確認(rèn)密碼等多重加密保護(hù),增加軟件保護(hù)的強(qiáng)度,確保非法復(fù)制的軟件無法在未經(jīng)授權(quán)的信息設(shè)備上運(yùn)行,其施行方式簡單且成本低廉,無須耗費(fèi)軟件開發(fā)商額外的成本及人力支出;也因本發(fā)明提供的軟件保護(hù)方法都是由受保護(hù)軟件的應(yīng)用程序自行從信息設(shè)備內(nèi)運(yùn)行,無須令合法授權(quán)的使用者進(jìn)行密碼確認(rèn)或上網(wǎng)認(rèn)證等步驟,節(jié)省使用者進(jìn)行密碼確認(rèn)所需消耗的時(shí)間,并可維持使用者思緒的連貫性,不破壞人機(jī)對話的完整。
圖1是一流程圖,說明本發(fā)明在應(yīng)用程序運(yùn)行中進(jìn)行軟件保護(hù)措施的各項(xiàng)施行步驟;圖2是一方塊圖,說明本發(fā)明的軟件保護(hù)系統(tǒng)的內(nèi)部架構(gòu);以及圖3是一區(qū)塊連接圖,說明應(yīng)用程序與監(jiān)視進(jìn)程模塊間在發(fā)送請求信號及回復(fù)密碼信息時(shí)的通訊關(guān)系。
具體實(shí)施例方式
實(shí)施例在以下實(shí)施例中,本發(fā)明的軟件保護(hù)方法及系統(tǒng)應(yīng)用在計(jì)算機(jī)設(shè)備中,借以建立軟件所含應(yīng)用程序與計(jì)算機(jī)設(shè)備硬件的依附關(guān)系,也就是令應(yīng)用程序首次在計(jì)算機(jī)設(shè)備內(nèi)部執(zhí)行時(shí),首先將該計(jì)算機(jī)設(shè)備的版本號、安裝磁道等硬件信息加載存放,供應(yīng)用程序日后判別是否與提供執(zhí)行環(huán)境的計(jì)算機(jī)設(shè)備間存有依附關(guān)系,使軟件使用者無法將軟件復(fù)制在其它計(jì)算機(jī)設(shè)備上使用,從而達(dá)到對應(yīng)用程序進(jìn)行保護(hù)的目的。
圖1為一流程圖,說明本發(fā)明的軟件保護(hù)方法,在計(jì)算機(jī)設(shè)備上進(jìn)行軟件加密保護(hù)的各項(xiàng)施行程序;在步驟S1中,是先由軟件開發(fā)商在應(yīng)用程序運(yùn)行過程中,在必須執(zhí)行的指令、需呼叫的相關(guān)函數(shù)及子程序支持的關(guān)鍵點(diǎn)位置設(shè)定不同的確認(rèn)密碼,也就是,在應(yīng)用程序的不同位置設(shè)定多個(gè)確認(rèn)密碼,接著進(jìn)至步驟S2。
在步驟S2中,在本發(fā)明的軟件保護(hù)系統(tǒng)內(nèi)增設(shè)監(jiān)視進(jìn)程模塊,令該監(jiān)視進(jìn)程模塊維護(hù)所有應(yīng)用程序密碼表,并同時(shí)監(jiān)視應(yīng)用程序的運(yùn)行及等待應(yīng)用程序發(fā)出的查詢信息,接著進(jìn)至步驟S3。
在步驟S3中,若應(yīng)用程序欲運(yùn)行在計(jì)算機(jī)設(shè)備內(nèi)部時(shí),令該應(yīng)用程序首先向提供其運(yùn)行環(huán)境的計(jì)算機(jī)設(shè)備查詢其設(shè)備版本號,接著進(jìn)至步驟S4。
在步驟S4中,令應(yīng)用程序判別計(jì)算機(jī)設(shè)備提供的設(shè)備版本號,是否與其存有依附關(guān)系,若應(yīng)用程序與計(jì)算機(jī)設(shè)備間存有依附關(guān)系,即接著進(jìn)行步驟S5,如兩者并未存有依附關(guān)系,則直接進(jìn)至步驟S9。
在步驟S5中,令應(yīng)用程序初始化并運(yùn)行在計(jì)算機(jī)設(shè)備中,若應(yīng)用程序在運(yùn)行過程中,運(yùn)行至軟件開發(fā)者設(shè)定須校驗(yàn)、確認(rèn)密碼的關(guān)鍵點(diǎn)位置,即令該應(yīng)用程序向監(jiān)視進(jìn)程模塊發(fā)出請求信息,令監(jiān)視進(jìn)程模塊提供含有應(yīng)用程序編號、關(guān)鍵點(diǎn)位置的密碼信息,當(dāng)監(jiān)視進(jìn)程模塊在接收到這一請求提供密碼信息的信息后,就在它所含的應(yīng)用程序密碼表中查詢,并將相符的密碼信息回傳給應(yīng)用程序,接著進(jìn)至步驟S6。
在步驟S6中,令應(yīng)用程序針對監(jiān)視進(jìn)程模塊提供的密碼信息進(jìn)行確認(rèn),若該密碼信息確認(rèn)通過后,隨即進(jìn)行步驟S7,令應(yīng)用程序繼續(xù)運(yùn)行,如該密碼資料有誤,則直接進(jìn)至步驟S9。
在步驟S7中,令應(yīng)用程序在運(yùn)行過程中,持續(xù)判斷是否運(yùn)行至其它須要求校驗(yàn)密碼信息的關(guān)鍵點(diǎn)位置,若應(yīng)用程序再運(yùn)行至關(guān)鍵點(diǎn)位置,即令其重新執(zhí)行步驟S5到步驟S7,以對多個(gè)設(shè)定有密碼信息的關(guān)鍵點(diǎn)位置進(jìn)行查詢檢測,直至全部關(guān)鍵點(diǎn)位置所設(shè)定的密碼信息都已確認(rèn)通過,接著進(jìn)至步驟S8。
在步驟S8中,令應(yīng)用程序在與其存有依附關(guān)系的計(jì)算機(jī)設(shè)備中完整運(yùn)行并提供使用者需要使用的功能。
在步驟S9中,令該應(yīng)用程序退出計(jì)算機(jī)設(shè)備提供的運(yùn)行環(huán)境,借以停止執(zhí)行其所含的程序內(nèi)容。
圖2為一方塊圖,用于顯示本發(fā)明的軟件保護(hù)系統(tǒng)的架構(gòu),如圖所示,本發(fā)明的軟件保護(hù)系統(tǒng)2設(shè)置在經(jīng)過授權(quán)可合法使用該軟件A的計(jì)算機(jī)設(shè)備1內(nèi)部,用于配合軟件A內(nèi)部多個(gè)關(guān)鍵點(diǎn)位置所設(shè)定的確認(rèn)密碼提供相對應(yīng)的密碼信息,令軟件A能夠運(yùn)行在計(jì)算機(jī)設(shè)備1中,并確保軟件A在遭非法復(fù)制后,無法運(yùn)行在未經(jīng)授權(quán)的數(shù)據(jù)處理設(shè)備上;該軟件保護(hù)系統(tǒng)2包括電源供應(yīng)裝置20、軟件輸入接口21、處理單元22、儲(chǔ)存裝置23及監(jiān)視進(jìn)程模塊24;軟件開發(fā)者首先在軟件A所含應(yīng)用程序的執(zhí)行過程中,令該應(yīng)用程序能夠完整執(zhí)行的多個(gè)關(guān)鍵點(diǎn)位置分別設(shè)定確認(rèn)密碼,也就是該應(yīng)用程序在不同位置被軟件開發(fā)者設(shè)定多個(gè)確認(rèn)密碼,當(dāng)使用者想要將儲(chǔ)存有軟件A的儲(chǔ)存媒介3經(jīng)由軟件輸入接口安裝在計(jì)算機(jī)設(shè)備1中并執(zhí)行時(shí),須首先在計(jì)算機(jī)設(shè)備1中增加一監(jiān)視進(jìn)程模塊24,令該監(jiān)視進(jìn)程模塊24與軟件輸入接口21、處理單元22、儲(chǔ)存裝置23及電源供應(yīng)裝置20相互連接,借以構(gòu)成可防止軟件A在未經(jīng)授權(quán)的數(shù)據(jù)處理設(shè)備上運(yùn)行的軟件保護(hù)系統(tǒng)2;當(dāng)使用者開啟計(jì)算機(jī)設(shè)備1的開關(guān)(圖未標(biāo))時(shí),將外接市電經(jīng)由電源供應(yīng)裝置20輸入至計(jì)算機(jī)設(shè)備1中,以提供計(jì)算機(jī)設(shè)備1內(nèi)部所含各功能器件運(yùn)轉(zhuǎn)時(shí)所需的電力,其中,監(jiān)視進(jìn)程模塊24也在計(jì)算機(jī)設(shè)備1激活時(shí)開始運(yùn)行,以維護(hù)所有應(yīng)用程序的密碼表,同時(shí)監(jiān)視應(yīng)用程序的運(yùn)行,并對應(yīng)用程序發(fā)出的確認(rèn)密碼查詢信息(如應(yīng)用程序編號、關(guān)鍵點(diǎn)位置及密碼等項(xiàng)目)進(jìn)行相應(yīng)的處理及回復(fù),指導(dǎo)計(jì)算機(jī)設(shè)備1的電源關(guān)閉時(shí),監(jiān)視進(jìn)程模塊24才停止運(yùn)行,當(dāng)使用者將存放有軟件A的儲(chǔ)存接口3置入軟件輸入接口21,以將軟件A安裝至計(jì)算機(jī)設(shè)備1時(shí),處理單元22隨即讀取并執(zhí)行軟件A內(nèi)容中所含的安裝程序,以將軟件3完整運(yùn)行所需的應(yīng)用程序、連接指令等加載至儲(chǔ)存裝置中存放。在安裝過程中,軟件A也同時(shí)收集計(jì)算機(jī)設(shè)備1的硬件設(shè)定及設(shè)備版本號等信息,作為日后確認(rèn)軟件A是否運(yùn)行于已授權(quán)計(jì)算機(jī)設(shè)備的依據(jù),當(dāng)軟件A的安裝程序完成后,使用者即可執(zhí)行軟件A的應(yīng)用程序進(jìn)行數(shù)據(jù)處理作業(yè),在應(yīng)用程序運(yùn)行時(shí),首先由處理單元22向計(jì)算機(jī)設(shè)備1查詢設(shè)備的版本號,若由計(jì)算機(jī)設(shè)備1響應(yīng)的設(shè)備版本號被應(yīng)用程序判別為錯(cuò)誤,則應(yīng)用程序隨即退出計(jì)算機(jī)設(shè)備1運(yùn)行的工作,如計(jì)算機(jī)設(shè)備1回傳的版本號經(jīng)應(yīng)用程序判別后確認(rèn)無誤,即表示計(jì)算機(jī)設(shè)備1的硬件信息與應(yīng)用程序在安裝過程中收集的信息相符,應(yīng)用程序即可在計(jì)算機(jī)設(shè)備1中繼續(xù)運(yùn)行。
待設(shè)備版本號被應(yīng)用程序檢測通過后,應(yīng)用程序隨即進(jìn)行初始化并開始運(yùn)行,當(dāng)應(yīng)用程序運(yùn)行至先前由軟件開發(fā)人員設(shè)定的關(guān)鍵點(diǎn)1位置時(shí),該位置需校驗(yàn)確認(rèn)密碼無誤后,才可令處理單元22繼續(xù)執(zhí)行此應(yīng)用程序,這時(shí),如圖3所示的應(yīng)用程序與監(jiān)視進(jìn)程模塊24間的通訊關(guān)系,處理單元22向監(jiān)視進(jìn)程模塊24發(fā)出一請求提供關(guān)鍵點(diǎn)1位置的密碼信息,監(jiān)視進(jìn)程模塊24在接收到這一請求信號后,到記錄有應(yīng)用程序號、關(guān)鍵點(diǎn)位置及關(guān)鍵點(diǎn)密碼的關(guān)鍵點(diǎn)密碼表241中查詢,并返回相應(yīng)的密碼信息給處理單元22,當(dāng)應(yīng)用程序確認(rèn)這一密碼信息符合關(guān)鍵點(diǎn)1位置所設(shè)的確認(rèn)密碼后,令處理單元繼續(xù)執(zhí)行其程序內(nèi)容,如回傳的密碼信息并非關(guān)鍵點(diǎn)1位置所設(shè)定的確認(rèn)密碼,則應(yīng)用程序隨即退出運(yùn)行,無法令處理單元22繼續(xù)執(zhí)行其程序內(nèi)容;然后,當(dāng)應(yīng)用程序運(yùn)行至其它關(guān)鍵點(diǎn)位置時(shí),僅需按上述程序,并依照圖3所示,首先向監(jiān)視進(jìn)程模塊24請求提供相對應(yīng)的密碼信息,并在確認(rèn)密碼信息正確后繼續(xù)運(yùn)行,若密碼信息錯(cuò)誤,則立即退出停止運(yùn)行,借此查詢并檢測多個(gè)關(guān)鍵點(diǎn)位置的確認(rèn)密碼,直至全部關(guān)鍵點(diǎn)位置的確認(rèn)密碼都檢測通過,應(yīng)用程序才能正常且完整的運(yùn)行在計(jì)算機(jī)設(shè)備1中。
通過本發(fā)明的軟件保護(hù)方法及系統(tǒng),借由包括設(shè)備版本確認(rèn)及設(shè)定關(guān)鍵點(diǎn)位置的確認(rèn)密碼等多種檢測方式,可提高軟件保護(hù)的強(qiáng)度,令應(yīng)用本發(fā)明的軟件無法在未經(jīng)授權(quán)的數(shù)據(jù)處理設(shè)備上運(yùn)行,此外,也可通過定期對軟件進(jìn)行升級以更換確認(rèn)密碼,進(jìn)而確保軟件加密保護(hù)的可靠性,再者,因應(yīng)用程序在運(yùn)行過程中進(jìn)行的軟件保護(hù)措施都是由應(yīng)用程序自行實(shí)施,而無須令使用者在應(yīng)用程序運(yùn)行過程中輸入產(chǎn)品序號或認(rèn)證碼,所以授權(quán)使用者在使用軟件時(shí),感覺不到應(yīng)用程序進(jìn)行軟件加密保護(hù)的程序,可免去使用者在輸入軟件確認(rèn)資料(如產(chǎn)品序號及授權(quán)碼等)時(shí)所需消耗的時(shí)間,也可維持人機(jī)對話的順暢。
權(quán)利要求
1.一種軟件保護(hù)方法,用于限定軟件中所含的應(yīng)用程序僅可在特定的信息設(shè)備中運(yùn)行,其特征在于,該方法包括(1)在應(yīng)用程序執(zhí)行過程中不同的關(guān)鍵點(diǎn)位置分別設(shè)定不同的密碼信息;(2)在信息設(shè)備中增設(shè)可監(jiān)視應(yīng)用程序運(yùn)行、并可接收應(yīng)用程序發(fā)送的查詢信息的監(jiān)視進(jìn)程模塊;(3)令應(yīng)用程序向信息設(shè)備查詢認(rèn)證信息,若信息設(shè)備無法響應(yīng)正確的認(rèn)證信息,應(yīng)用程序隨即停止運(yùn)行,如應(yīng)用程序確定認(rèn)證信息無誤,即可進(jìn)行初始化并繼續(xù)運(yùn)行;(4)等應(yīng)用程序運(yùn)行至某一關(guān)鍵點(diǎn)位置時(shí),即向監(jiān)視進(jìn)程模塊請求提供與該關(guān)鍵點(diǎn)位置所設(shè)確認(rèn)密碼相對應(yīng)的密碼信息;以及(5)令應(yīng)用程序?qū)ΡO(jiān)控進(jìn)程模塊所提供的識別資料進(jìn)行確認(rèn),若確認(rèn)通過,應(yīng)用程序可繼續(xù)運(yùn)行,如否,則立即退出運(yùn)行,隨后,當(dāng)應(yīng)用程序再運(yùn)行至其它關(guān)鍵點(diǎn)位置時(shí),即重復(fù)步驟(4)到步驟(5),以對多個(gè)關(guān)鍵點(diǎn)位置的確認(rèn)密碼進(jìn)行校驗(yàn),并在所有關(guān)鍵點(diǎn)位置的確認(rèn)密碼均確認(rèn)無誤時(shí),應(yīng)用程序才能完整運(yùn)行在信息設(shè)備中。
2.如權(quán)利要求1所述的軟件保護(hù)方法,其特征在于,該特定信息設(shè)備是指與軟件安裝時(shí)所收集的硬件信息相符合的信息設(shè)備。
3.如權(quán)利要求1所述的軟件保護(hù)方法,其特征在于,該信息設(shè)備是指可對電子資料進(jìn)行處理的設(shè)備,如個(gè)人計(jì)算機(jī)、筆記本型計(jì)算機(jī)、膝上型計(jì)算機(jī)、掌上型計(jì)算機(jī)及服務(wù)器中的一種。
4.如權(quán)利要求1所述的軟件保護(hù)方法,其特征在于,該關(guān)鍵點(diǎn)位置是指應(yīng)用程序在運(yùn)行過程中,正常運(yùn)行所需執(zhí)行的程序內(nèi)容及指令所組群組中的一種。
5.如權(quán)利要求1所述的軟件保護(hù)方法,其特征在于,該密碼信息是應(yīng)用程序編號、關(guān)鍵點(diǎn)位置及密碼所組群組中的一種;認(rèn)證信息則是指信息設(shè)備的設(shè)備版本號。
6.如權(quán)利要求1所述的軟件保護(hù)方法,其特征在于,該監(jiān)視進(jìn)程模塊是在信息設(shè)備激活時(shí)開始運(yùn)行,并在信息設(shè)備關(guān)閉后結(jié)束,其用于維護(hù)所有應(yīng)用程序的關(guān)鍵點(diǎn)密碼表,該密碼表的內(nèi)容包括應(yīng)用程序號、關(guān)鍵點(diǎn)號及關(guān)鍵點(diǎn)密碼中的一種。
7.一種軟件保護(hù)系統(tǒng),可根據(jù)軟件保護(hù)方法的施行程序,防止儲(chǔ)存媒介內(nèi)存放的軟件所含的應(yīng)用程序被使用者復(fù)制,在非特定的信息設(shè)備上運(yùn)行,其特征在于,該系統(tǒng)包括電源供應(yīng)裝置,提供系統(tǒng)內(nèi)部所有器件工作所需的電源;軟件輸入接口,置入存放有軟件內(nèi)容的儲(chǔ)存媒介;儲(chǔ)存裝置,存放使用者所安裝的軟件;處理單元,與軟件輸入接口及儲(chǔ)存裝置電性連接,用于將軟件從儲(chǔ)存媒介安裝至儲(chǔ)存裝置中,并可從儲(chǔ)存裝置加載軟件并執(zhí)行其所含的應(yīng)用程序;以及監(jiān)視進(jìn)程模塊,與處理單元及儲(chǔ)存裝置電性連接,用于維護(hù)所有應(yīng)用程序的關(guān)鍵點(diǎn)密碼表,并同時(shí)監(jiān)控應(yīng)用程序的運(yùn)行及等待應(yīng)用程序發(fā)送密碼信息的查詢信息。
8.如權(quán)利要求7所述的軟件保護(hù)系統(tǒng),其特征在于,該軟件保護(hù)系統(tǒng)組設(shè)在特定的信息設(shè)備內(nèi)部。
9.如權(quán)利要求8所述的軟件保護(hù)系統(tǒng),其特征在于,該特定的信息設(shè)備是指已被軟件供應(yīng)商授權(quán)使用軟件/且其設(shè)備版本號可被軟件確認(rèn)通過的信息設(shè)備。
10.如權(quán)利要求7所述的軟件保護(hù)系統(tǒng),其特征在于,該密碼信息是應(yīng)用程序編號、關(guān)鍵點(diǎn)位置及密碼所組群組的一種。
全文摘要
一種軟件保護(hù)方法及系統(tǒng),適于信息設(shè)備所用的軟件,用于避免軟件被人任意復(fù)制使用;首先,在應(yīng)用程序的關(guān)鍵點(diǎn)位置設(shè)定確認(rèn)密碼,再在設(shè)備中增加一監(jiān)視進(jìn)程模塊;令該程序運(yùn)行時(shí),首先確認(rèn)設(shè)備版本號無誤后,才可繼續(xù)運(yùn)行,當(dāng)其運(yùn)行至關(guān)鍵點(diǎn)位置時(shí),須向該進(jìn)程模塊請求提供密碼信息,并在收到密碼信息后進(jìn)行確認(rèn),待通過后繼續(xù)運(yùn)行;然后,當(dāng)程序每運(yùn)行至關(guān)鍵點(diǎn)位置時(shí),都須向監(jiān)視進(jìn)程模塊請求提供密碼信息,并在確認(rèn)通過后才能繼續(xù)運(yùn)行,借以檢測每個(gè)關(guān)鍵點(diǎn)位置,并于在全部確認(rèn)密碼均檢測通過后,才可令應(yīng)用程序完整運(yùn)行于信息設(shè)備中,本發(fā)明簡單易行、成本低廉,可在使用者完全不知曉的情況下完成密碼確認(rèn)。
文檔編號G06F11/28GK1598781SQ03156928
公開日2005年3月23日 申請日期2003年9月15日 優(yōu)先權(quán)日2003年9月15日
發(fā)明者林光信, 趙鏑 申請人:英業(yè)達(dá)股份有限公司