一種目標(biāo)執(zhí)行文件的保護(hù)方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別涉及一種目標(biāo)執(zhí)行文件的保護(hù)方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]技術(shù)人員編寫(xiě)的軟件產(chǎn)品,在沒(méi)任何保護(hù)措施的情況下,很容易被第三方工具反編譯成源碼,甚至能生成源代碼工程,這無(wú)疑對(duì)開(kāi)發(fā)者的知識(shí)產(chǎn)權(quán)是一種嚴(yán)重的威脅。
[0003]由于目前主流的軟件保護(hù)技術(shù)和工具,都是將加密保護(hù)后的目標(biāo)執(zhí)行文件分發(fā)到終端客戶,這樣目標(biāo)執(zhí)行文件流出后很容易被靜態(tài)分析解密和破解。不能對(duì)目標(biāo)執(zhí)行文件進(jìn)行很好的保護(hù)。因此,如何對(duì)目標(biāo)執(zhí)行文件進(jìn)行安全可靠的保護(hù),是本領(lǐng)域技術(shù)人員需要解決的技術(shù)問(wèn)題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種目標(biāo)執(zhí)行文件的保護(hù)方法、裝置及系統(tǒng),能夠完成對(duì)目標(biāo)執(zhí)行文件的保護(hù),防止目標(biāo)執(zhí)行文件被解密和破解。
[0005]為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種目標(biāo)執(zhí)行文件的保護(hù)方法,包括:
[0006]根據(jù)終端的硬件生成特征碼;
[0007]將所述特征碼發(fā)送到服務(wù)器,使所述服務(wù)器根據(jù)所述特征碼查找與所述特征碼對(duì)應(yīng)的加密目標(biāo)執(zhí)行文件;
[0008]接收所述服務(wù)器發(fā)送的查找結(jié)果,若存在對(duì)應(yīng)的所述加密目標(biāo)執(zhí)行文件,則所述查找結(jié)果包括所述加密目標(biāo)執(zhí)行文件以及預(yù)定解密參數(shù);
[0009]利用所述特征碼及所述預(yù)定解密參數(shù),生成工作密鑰;
[0010]利用所述工作密鑰對(duì)所述加密目標(biāo)執(zhí)行文件進(jìn)行解密,且將解密后的目標(biāo)執(zhí)行文件存儲(chǔ)在內(nèi)存中。
[0011]其中,利用所述特征碼及所述預(yù)定解密參數(shù),生成工作密鑰之前包括:
[0012]計(jì)算所述加密目標(biāo)執(zhí)行文件的MD5,并將所述MD5與接收到的預(yù)定解密參數(shù)中的MD5進(jìn)行比較;
[0013]若相同,則進(jìn)行利用所述特征碼及所述預(yù)定解密參數(shù),生成工作密鑰的步驟。
[0014]其中,利用所述特征碼及所述預(yù)定解密參數(shù),生成工作密鑰,包括:
[0015]將所述特征碼作為加密源,以接收到的所述預(yù)定解密參數(shù)中的隨機(jī)數(shù)作為密鑰,通過(guò)DES算法得到工作密鑰。
[0016]本發(fā)明提供一種目標(biāo)執(zhí)行文件的保護(hù)裝置,包括:
[0017]生成模塊,用于根據(jù)終端的硬件生成特征碼;
[0018]第一發(fā)送模塊,用于將所述特征碼發(fā)送到服務(wù)器,使所述服務(wù)器根據(jù)所述特征碼查找與所述特征碼對(duì)應(yīng)的加密目標(biāo)執(zhí)行文件;
[0019]第一接收模塊,用于接收所述服務(wù)器發(fā)送的查找結(jié)果,若存在對(duì)應(yīng)的所述加密目標(biāo)執(zhí)行文件,則所述查找結(jié)果包括所述加密目標(biāo)執(zhí)行文件以及預(yù)定解密參數(shù);
[0020]工作密鑰模塊,用于利用所述特征碼及所述預(yù)定解密參數(shù),生成工作密鑰;
[0021]解密模塊,用于利用所述工作密鑰對(duì)所述加密目標(biāo)執(zhí)行文件進(jìn)行解密,且將解密后的目標(biāo)執(zhí)行文件存儲(chǔ)在內(nèi)存中。
[0022]本發(fā)明提供一種目標(biāo)執(zhí)行文件的保護(hù)方法,包括:
[0023]接收終端發(fā)送的根據(jù)硬件生成特征碼;
[0024]利用所述特征碼,查找與所述特征碼對(duì)應(yīng)的加密目標(biāo)執(zhí)行文件;
[0025]若存在對(duì)應(yīng)的所述加密目標(biāo)執(zhí)行文件,則將所述加密目標(biāo)執(zhí)行文件以及預(yù)定解密參數(shù)發(fā)送給所述終端,使所述終端利用所述特征碼及所述預(yù)定解密參數(shù),生成工作密鑰;并利用所述工作密鑰對(duì)所述加密目標(biāo)執(zhí)行文件進(jìn)行解密,且將解密后的目標(biāo)執(zhí)行文件存儲(chǔ)在內(nèi)存中。
[0026]其中,包括:
[0027]若不存在對(duì)應(yīng)的所述加密目標(biāo)執(zhí)行文件,則發(fā)出提示信息提示終端申請(qǐng)生成加密目標(biāo)執(zhí)行文件。
[0028]其中,所述申請(qǐng)生成加密目標(biāo)執(zhí)行文件包括:
[0029]接收終端發(fā)送的根據(jù)所述終端CPU的ID、主板的ID,通過(guò)hash算法生成特征碼;
[0030]驗(yàn)證所述特征碼;
[0031]當(dāng)驗(yàn)證通過(guò)后,生成一個(gè)隨機(jī)數(shù);
[0032]將所述特征碼作為加密源,以所述隨機(jī)數(shù)作為密鑰,通過(guò)DES算法得到工作密鑰;
[0033]將目標(biāo)執(zhí)行文件作為加密源,將所述工作密鑰作為密鑰,通過(guò)DES算法得到加密目標(biāo)執(zhí)行文件,并保存所述加密目標(biāo)執(zhí)行文件以及所述特征碼和所述隨機(jī)數(shù)。
[0034]其中,將所述加密目標(biāo)執(zhí)行文件以及預(yù)定解密參數(shù)發(fā)送給所述終端包括:
[0035]將所述加密目標(biāo)執(zhí)行文件、所述隨機(jī)數(shù)以及所述加密目標(biāo)執(zhí)行文件對(duì)應(yīng)的MD5發(fā)送給所述終端。
[0036]本發(fā)明提供一種目標(biāo)執(zhí)行文件的保護(hù)裝置,包括:
[0037]第二接收模塊,用于接收終端發(fā)送的根據(jù)硬件生成特征碼;
[0038]查找模塊,用于利用所述特征碼,查找與所述特征碼對(duì)應(yīng)的加密目標(biāo)執(zhí)行文件;
[0039]第二發(fā)送模塊,用于若存在對(duì)應(yīng)的所述加密目標(biāo)執(zhí)行文件,則將所述加密目標(biāo)執(zhí)行文件以及預(yù)定解密參數(shù)發(fā)送給所述終端,使所述終端利用所述特征碼及所述預(yù)定解密參數(shù),生成工作密鑰;并利用所述工作密鑰對(duì)所述加密目標(biāo)執(zhí)行文件進(jìn)行解密,且將解密后的目標(biāo)執(zhí)行文件存儲(chǔ)在內(nèi)存中。
[0040]本發(fā)明提供一種目標(biāo)執(zhí)行文件的保護(hù)系統(tǒng),包括:
[0041]終端,用于根據(jù)終端的硬件生成特征碼;將所述特征碼發(fā)送到服務(wù)器;接收所述服務(wù)器發(fā)送的查找結(jié)果,若存在對(duì)應(yīng)的所述加密目標(biāo)執(zhí)行文件,則所述查找結(jié)果包括所述加密目標(biāo)執(zhí)行文件以及預(yù)定解密參數(shù);利用所述特征碼及所述預(yù)定解密參數(shù),生成工作密鑰;利用所述工作密鑰對(duì)所述加密目標(biāo)執(zhí)行文件進(jìn)行解密,且將解密后的目標(biāo)執(zhí)行文件存儲(chǔ)在內(nèi)存中;
[0042]服務(wù)器,用于接收終端發(fā)送的根據(jù)硬件生成特征碼;利用所述特征碼,查找與所述特征碼對(duì)應(yīng)的加密目標(biāo)執(zhí)行文件;將查找結(jié)果發(fā)送給終端。
[0043]本發(fā)明所提供的目標(biāo)執(zhí)行文件的保護(hù)方法、裝置及系統(tǒng),包括:根據(jù)終端的硬件生成特征碼;將所述特征碼發(fā)送到服務(wù)器,使所述服務(wù)器根據(jù)所述特征碼查找與所述特征碼對(duì)應(yīng)的加密目標(biāo)執(zhí)行文件;接收所述服務(wù)器發(fā)送的查找結(jié)果,若存在對(duì)應(yīng)的所述加密目標(biāo)執(zhí)行文件,則所述查找結(jié)果包括所述加密目標(biāo)執(zhí)行文件以及預(yù)定解密參數(shù);利用所述特征碼及所述預(yù)定解密參數(shù),生成工作密鑰;利用所述工作密鑰對(duì)所述加密目標(biāo)執(zhí)行文件進(jìn)行解密,且將解密后的目標(biāo)執(zhí)行文件存儲(chǔ)在內(nèi)存中;
[0044]該方法目標(biāo)執(zhí)行文件加密存儲(chǔ)在服務(wù)器上不隨安裝包分發(fā)到終端用戶,當(dāng)終端要運(yùn)行該程序時(shí),首先要向服務(wù)器發(fā)送特征碼,服務(wù)器根據(jù)特征碼找到加密目標(biāo)執(zhí)行文件以及產(chǎn)生相應(yīng)的預(yù)定解密參數(shù)發(fā)送給終端,終端根據(jù)自身特征碼以及預(yù)定解密參數(shù),計(jì)算生成工作密鑰,利用工作密鑰對(duì)加密目標(biāo)執(zhí)行文件進(jìn)行解密,且將解密后的目標(biāo)執(zhí)行文件在內(nèi)存中加載運(yùn)行;因此,能夠完成對(duì)目標(biāo)執(zhí)行文件的保護(hù),防止目標(biāo)執(zhí)行文件被解密和破解。
【附圖說(shuō)明】
[0045]為了更清楚地說(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ù)提供的附圖獲得其他的附圖。
[0046]圖1為本發(fā)明實(shí)施例所提供的目標(biāo)執(zhí)行文件的保護(hù)方法的流程圖;
[0047]圖2為本發(fā)明實(shí)施例所提供的目標(biāo)執(zhí)行文件的保護(hù)裝置的結(jié)構(gòu)框圖;
[0048]圖3為本發(fā)明實(shí)施例所提供的另一目標(biāo)執(zhí)行文件的保護(hù)方法的流程圖;
[0049]圖4為本發(fā)明實(shí)施例所提供的另一目標(biāo)執(zhí)行文件的保護(hù)裝置的結(jié)構(gòu)框圖;
[0050]圖5為本發(fā)明實(shí)施例所提供的又一目標(biāo)執(zhí)行文件的保護(hù)裝置的結(jié)構(gòu)框圖;
[0051]圖6為本發(fā)明實(shí)施例所提供的目標(biāo)執(zhí)行文件的保護(hù)系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0052]本發(fā)明的核心是提供一種目標(biāo)執(zhí)行文件的保護(hù)方法、裝置及系統(tǒng),能夠完成對(duì)目標(biāo)執(zhí)行文件的保護(hù),防止目標(biāo)執(zhí)行文件被解密和破解。
[0053]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描