亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

軟件保護(hù)方法及裝置的制造方法

文檔序號(hào):9708635閱讀:429來(lái)源:國(guó)知局
軟件保護(hù)方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及軟件保護(hù)領(lǐng)域,尤其涉及一種軟件保護(hù)方法及裝置。
【背景技術(shù)】
[0002]軟件是一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合,為了某種特定的用途而被開(kāi)發(fā)。隨著計(jì)算機(jī)技術(shù)的發(fā)展,越來(lái)越多的軟件被開(kāi)發(fā)出來(lái),其中大量的辦公軟件由于能夠幫助人們完成各種復(fù)雜的工作,因此具有重要的商業(yè)價(jià)值。但是,由于多種原因目前軟件領(lǐng)域盜版橫行,軟件開(kāi)發(fā)商的正當(dāng)利益一直受到侵犯。
[0003]為了保護(hù)軟件開(kāi)發(fā)商的正當(dāng)利益,現(xiàn)有技術(shù)多采用高強(qiáng)度的軟件加密方案對(duì)軟件進(jìn)行保護(hù),這些軟件加密方案一般都使用加密鎖。加密鎖是一種插在計(jì)算機(jī)并行口或USB 口上的軟硬件結(jié)合的加密產(chǎn)品,一般都有幾十或幾百字節(jié)的非易失性存儲(chǔ)空間可供讀寫(xiě),軟件開(kāi)發(fā)商可以通過(guò)接口函數(shù)和加密鎖進(jìn)行數(shù)據(jù)交換,即對(duì)加密鎖進(jìn)行讀寫(xiě),來(lái)檢查加密鎖是否插在接口上;或者直接使用加密鎖附帶的工具加密自己的exe文件。這樣軟件開(kāi)發(fā)商可以在軟件中設(shè)置多處軟件鎖,利用加密鎖作為鑰匙來(lái)打開(kāi)這些鎖;如果沒(méi)插入加密鎖或加密鎖不對(duì)應(yīng),軟件將不能正常執(zhí)行。
[0004]雖然加密鎖能在一定程度上對(duì)軟件進(jìn)行保護(hù),但是通過(guò)這種方式在使用軟件時(shí)必須攜帶加密鎖,給用戶(hù)帶來(lái)不便并且加密鎖也容易丟失。此外,采用硬件加密鎖的成本高,加密鎖由于存儲(chǔ)空間有限導(dǎo)致其實(shí)際移植的代碼量有限,這在一定程度上降低了加密鎖的破解難度。

【發(fā)明內(nèi)容】

[0005]本發(fā)明實(shí)施例提供一種軟件保護(hù)方法及裝置,用以解決現(xiàn)有技術(shù)中通過(guò)加密鎖對(duì)軟件進(jìn)行保護(hù)帶來(lái)的使用不便及保護(hù)強(qiáng)度低的缺陷。
[0006]依據(jù)本發(fā)明的第一個(gè)方面,本發(fā)明實(shí)施例提供一種軟件保護(hù)方法,包括:
[0007]從待保護(hù)應(yīng)用程序的代碼中獲取移植碼并為所述移植碼加密得到加密移植碼;
[0008]創(chuàng)建與所述待保護(hù)應(yīng)用程序進(jìn)行交互的驅(qū)動(dòng)程序,所述驅(qū)動(dòng)程序用于解密所述加密移植碼并執(zhí)行所述移植碼;
[0009]所述驅(qū)動(dòng)程序接收所述待保護(hù)應(yīng)用程序發(fā)送的執(zhí)行移植碼請(qǐng)求,所述執(zhí)行移植碼請(qǐng)求中攜帶所述加密移植碼;
[0010]所述驅(qū)動(dòng)程序?qū)λ黾用芤浦泊a進(jìn)行解密,根據(jù)解密結(jié)果確定是否執(zhí)行所述移植碼。
[0011]依據(jù)本發(fā)明的第二個(gè)方面,本發(fā)明實(shí)施例提供一種軟件保護(hù)裝置,包括:
[0012]獲取單元,用于從待保護(hù)應(yīng)用程序的代碼中獲取移植碼并為所述移植碼加密得到加密移植碼;
[0013]創(chuàng)建單元,用于創(chuàng)建與所述待保護(hù)應(yīng)用程序進(jìn)行交互的驅(qū)動(dòng)程序,所述驅(qū)動(dòng)程序用于解密所述加密移植碼并執(zhí)行所述移植碼;
[0014]接收單元,用于使所述驅(qū)動(dòng)程序接收所述待保護(hù)應(yīng)用程序發(fā)送的執(zhí)行移植碼請(qǐng)求,所述執(zhí)行移植碼請(qǐng)求中攜帶所述加密移植碼;
[0015]解密單元,用于使所述驅(qū)動(dòng)程序?qū)λ黾用芤浦泊a進(jìn)行解密,根據(jù)解密結(jié)果確定是否執(zhí)行所述移植碼。
[0016]本發(fā)明實(shí)施例提供的軟件保護(hù)方法及裝置,能夠創(chuàng)建與待保護(hù)應(yīng)用程序進(jìn)行交互的驅(qū)動(dòng)程序,該驅(qū)動(dòng)程序接收待保護(hù)應(yīng)用程序發(fā)送的執(zhí)行移植碼請(qǐng)求后對(duì)待保護(hù)應(yīng)用程序中的加密移植碼進(jìn)行解密并執(zhí)行移植碼,由驅(qū)動(dòng)程序根據(jù)對(duì)加密移植碼的解密結(jié)果確定是否執(zhí)行所述移植碼,從而不需要通過(guò)現(xiàn)有技術(shù)中的存儲(chǔ)有移植碼的加密鎖對(duì)待保護(hù)應(yīng)用程序(軟件)進(jìn)行保護(hù)。同時(shí),由于驅(qū)動(dòng)程序?qū)?fù)雜算法的運(yùn)行效率遠(yuǎn)高于加密鎖本身的硬件執(zhí)行效率,并且不受加密鎖存儲(chǔ)空間的限制,因此本發(fā)明能夠?qū)⒋a邏輯復(fù)雜的代碼、以及比加密鎖攜帶的代碼量更多的代碼作為移植碼來(lái)對(duì)待保護(hù)應(yīng)用程序(軟件)進(jìn)行保護(hù),大大增加了待保護(hù)應(yīng)用程序(軟件)的破解難度。
【附圖說(shuō)明】
[0017]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1為本發(fā)明實(shí)施例提供的一種軟件保護(hù)方法的流程圖;
[0019]圖2為本發(fā)明實(shí)施例提供的一種軟件保護(hù)裝置的組成框圖;
[0020]圖3為本發(fā)明實(shí)施例提供的另一種軟件保護(hù)裝置的組成框圖;
[0021]圖4為本發(fā)明實(shí)施例提供的另一種軟件保護(hù)裝置的組成框圖。
【具體實(shí)施方式】
[0022]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0023]在現(xiàn)有對(duì)軟件進(jìn)行保護(hù)的方式中,主要使用加密鎖對(duì)軟件進(jìn)行保護(hù),加密鎖是一種插在計(jì)算機(jī)并行口或USB口上的軟硬件結(jié)合的加密產(chǎn)品,一般都有幾十或幾百字節(jié)的非易失性存儲(chǔ)空間可供讀寫(xiě),該存儲(chǔ)空間中保存有軟件中的部分代碼,軟件開(kāi)發(fā)商可以通過(guò)接口函數(shù)和加密鎖進(jìn)行數(shù)據(jù)交換,即對(duì)加密鎖中的代碼進(jìn)行讀寫(xiě)。但是通過(guò)這種方式在使用軟件時(shí)必須攜帶加密鎖,給用戶(hù)帶來(lái)不便并且加密鎖也容易丟失。此外,采用硬件加密鎖的成本高,加密鎖由于存儲(chǔ)空間有限導(dǎo)致其實(shí)際移植的代碼量有限,這在一定程度上降低了加密鎖的破解難度。
[0024]為了解決現(xiàn)有技術(shù)中通過(guò)加密鎖對(duì)軟件進(jìn)行保護(hù)帶來(lái)的使用不便及保護(hù)強(qiáng)度低的問(wèn)題,本發(fā)明實(shí)施例提供一種軟件保護(hù)方法,如圖1所示,該方法包括:
[0025]101、從待保護(hù)應(yīng)用程序的代碼中獲取移植碼并為移植碼加密得到加密移植碼。
[0026]在對(duì)軟件的應(yīng)用程序進(jìn)行保護(hù)時(shí),為了使軟件的應(yīng)用程序不被未經(jīng)授權(quán)的用戶(hù)使用,需要從應(yīng)用程序的代碼中移植一部分代碼至加密鎖中進(jìn)行保護(hù),只有經(jīng)過(guò)授權(quán)(具有加密鎖)的用戶(hù)才可以通過(guò)加密鎖中的移植碼正常使用軟件。但是當(dāng)加密鎖丟失后,會(huì)導(dǎo)致未授權(quán)的其他用戶(hù)使用被保護(hù)的軟件。為了克服上述缺陷,本發(fā)明實(shí)施例需要執(zhí)行步驟101從待保護(hù)應(yīng)用程序的代碼中獲取移植碼并為移植碼加密得到加密移植碼。
[0027]102、創(chuàng)建與待保護(hù)應(yīng)用程序進(jìn)行交互的驅(qū)動(dòng)程序,驅(qū)動(dòng)程序用于解密加密移植碼并執(zhí)行移植碼。
[0028]由于攜帶有待保護(hù)應(yīng)用程序中部分代碼的加密鎖成本較高且容易丟失,并且加密鎖的存儲(chǔ)空間及運(yùn)行效率有限,實(shí)際從待保護(hù)應(yīng)用程序中移植的代碼量非常有限,這在一定程度上也降低了代碼的破解難度。因此,本發(fā)明實(shí)施例不使用加密鎖,而是需要執(zhí)行步驟102創(chuàng)建與待保護(hù)應(yīng)用程序進(jìn)行交互的驅(qū)動(dòng)程序,驅(qū)動(dòng)程序用于解密加密移植碼并執(zhí)行移植碼。其中,在所述驅(qū)動(dòng)程序與所述待保護(hù)應(yīng)用程序之間創(chuàng)建有交互接口的程序;所述驅(qū)動(dòng)程序在內(nèi)核模式也就是系統(tǒng)模式下能夠解釋加密移植碼并執(zhí)行移植碼。由于本發(fā)明實(shí)施例將待保護(hù)應(yīng)用程序中的部分代碼移植到驅(qū)動(dòng)程序中執(zhí)行,并且目前幾乎沒(méi)有用于破解驅(qū)動(dòng)程序的調(diào)試器存在,再加上代碼的虛擬機(jī)保護(hù)(如使用VMProtect對(duì)代碼進(jìn)行加殼),使得對(duì)移植代碼進(jìn)行分析極為困難。
[0029]103、驅(qū)動(dòng)程序接收待保護(hù)應(yīng)用程序發(fā)送的執(zhí)行移植碼請(qǐng)求,執(zhí)行移植碼請(qǐng)求中攜帶加密移植碼。
[0030]由于本發(fā)明實(shí)施例在步驟101中已經(jīng)從待保護(hù)應(yīng)用程序的代碼中獲取到移植碼并為移植碼加密得到加密移植碼,并且在步驟102中創(chuàng)建了與待保護(hù)應(yīng)用程序進(jìn)行交互的驅(qū)動(dòng)程序,所述驅(qū)動(dòng)程序用于解密所述加密移植碼并執(zhí)行所述移植碼;因此當(dāng)需要使用待保護(hù)應(yīng)用程序時(shí),需要通過(guò)待保護(hù)應(yīng)用程序與驅(qū)動(dòng)程序之間的交互接口向驅(qū)動(dòng)程序發(fā)送執(zhí)行移植碼請(qǐng)求,請(qǐng)求驅(qū)動(dòng)程序執(zhí)行移植碼。因此本發(fā)明實(shí)施例在步驟102之后,需要執(zhí)行步驟103驅(qū)動(dòng)程序接收待保護(hù)應(yīng)用程序發(fā)送的執(zhí)行移植碼請(qǐng)求,執(zhí)行移植碼請(qǐng)求中攜帶加密移植碼。
[0031]104、驅(qū)動(dòng)程序?qū)用芤浦泊a進(jìn)行解密,根據(jù)解密結(jié)果確定是否執(zhí)行移植碼。
[0032]當(dāng)驅(qū)動(dòng)程序接收到待保護(hù)應(yīng)用程序發(fā)送的執(zhí)行移植碼請(qǐng)求之后,驅(qū)動(dòng)程序從執(zhí)行移植碼請(qǐng)求中獲取該請(qǐng)求中攜帶的加密移植碼,并對(duì)加密移植碼進(jìn)行解密,根據(jù)解密結(jié)果確定是否執(zhí)行移植碼。若解密結(jié)果正確,則由驅(qū)動(dòng)程序執(zhí)行所述移植碼,若解密結(jié)果不正確,則無(wú)法執(zhí)行所述移植碼從而無(wú)法使用所述待保護(hù)應(yīng)用程序。驅(qū)動(dòng)程序在對(duì)加密移植碼進(jìn)行解密時(shí),可以根據(jù)加密移植碼的加密規(guī)則對(duì)其進(jìn)行解密,所述加密規(guī)則可以由軟件開(kāi)發(fā)商提前進(jìn)行設(shè)定并且在創(chuàng)建驅(qū)動(dòng)程序時(shí)會(huì)在驅(qū)動(dòng)程序中設(shè)定該加密規(guī)則。
[0033]本發(fā)明實(shí)施例提供的軟件保護(hù)方法,能夠創(chuàng)建與待保護(hù)應(yīng)用程序進(jìn)行交互的驅(qū)動(dòng)程序,該驅(qū)動(dòng)程序接收待保護(hù)應(yīng)用程序發(fā)送的執(zhí)行移植碼請(qǐng)求后對(duì)待保護(hù)應(yīng)用程序中的加密移植
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1