欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種應(yīng)用程序加密的方法及裝置制造方法

文檔序號:6501037閱讀:192來源:國知局
一種應(yīng)用程序加密的方法及裝置制造方法
【專利摘要】本發(fā)明公開一種應(yīng)用程序加密的方法及裝置,涉及電子產(chǎn)品應(yīng)用程序【技術(shù)領(lǐng)域】,可以降低應(yīng)用程序的可破解性,提高安全保護(hù)性。本發(fā)明通過確定應(yīng)用程序中待加密的第一語言格式的字符序列;將所述第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,所述第一語言格式與第二語言格式不同;對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序。本發(fā)明提供的實施例適于對應(yīng)用程序加密時采用。
【專利說明】一種應(yīng)用程序加密的方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子產(chǎn)品應(yīng)用程序【技術(shù)領(lǐng)域】,尤其涉及一種應(yīng)用程序加密的方法及裝置。

【背景技術(shù)】
[0002]目前,由Google公司主導(dǎo)開發(fā)的安卓Android操作系統(tǒng)已經(jīng)得到越來越快地應(yīng)用,同時Android應(yīng)用程序的數(shù)量也在不斷增長?,F(xiàn)有技術(shù)中Android終端中應(yīng)用的Android應(yīng)用程序一般采用Java語言進(jìn)行軟件開發(fā),源代碼被編譯為Java類文件,再通過Android軟件開發(fā)工具包(Software Development kit, SDK)中的攻擊轉(zhuǎn)換為dex格式的二進(jìn)制可執(zhí)行文件,與軟件配置、資源文件等打包為apk格式文件,apk格式文件即Android應(yīng)用程序安裝包。用戶下載apk格式文件,并安裝到Android終端中即可正常使用。
[0003]Android是一個源代碼完全開放的操作系統(tǒng),無論是DEX格式文件的指令編碼方式,還是Dalvik虛擬機的工作原理,都已被人們所知。目前,Android應(yīng)用程序由于采用Java語言進(jìn)行開發(fā),通過Dalvik虛擬機解釋執(zhí)行,解釋執(zhí)行之后的Java代碼進(jìn)行反編譯后的代碼具有很強的可讀性,導(dǎo)致Android應(yīng)用程序容易被破解。


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

[0004]本發(fā)明的實施例提供一種應(yīng)用程序加密的方法及裝置,可以降低應(yīng)用程序的可破解性,提高安全保護(hù)性。
[0005]第一方面,本發(fā)明提供一種應(yīng)用程序加密的方法,包括:
[0006]確定應(yīng)用程序中待加密的第一語言格式的字符序列;
[0007]將所述第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,所述第一語言格式與第二語言格式不同;
[0008]對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序。
[0009]在第一種可能的實施例中,結(jié)合第一方面,所述確定應(yīng)用程序中待加密的第一語言格式的字符序列包括:
[0010]根據(jù)所述應(yīng)用程序中第一函數(shù)前添加的預(yù)設(shè)標(biāo)記,確定所述應(yīng)用程序中第一函數(shù)為所述待加密的第一語言格式的字符序列,所述第一函數(shù)為所述應(yīng)用程序中任一個函數(shù);或者,
[0011]根據(jù)所述應(yīng)用程序中的一段第一語言格式的字符序列前后添加的預(yù)設(shè)標(biāo)記,確定所述應(yīng)用程序中此段所述第一語言格式的字符序列為所述待加密的第一語言格式的字符序列。
[0012]在第二種可能的實施例中,結(jié)合第一方面,所述對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序包括:
[0013]在所述第二語言格式的字符序列中添加對所述應(yīng)用程序的簽名驗證,所述簽名驗證包括至少兩個字符組成的第一字符串,獲得加密應(yīng)用程序。
[0014]在第三種可能的實施例中,結(jié)合第一方面中第二種可能的實施例,所述對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序包括:
[0015]確定在所述第二語言格式的字符序列中需要添加的對所述應(yīng)用程序的簽名驗證,所述簽名驗證包括至少兩個字符組成的第一字符串;
[0016]對所述簽名驗證中包括的所述第一字符串進(jìn)行處理,獲得第二字符串,所述第二字符串與所述第一字符串不同;
[0017]在所述第二語言格式的字符序列中添加所述第二字符串,獲得加密應(yīng)用程序。
[0018]在第四種可能的實施例中,結(jié)合第一方面所述對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序包括:
[0019]在所述第二語言格式的字符序列中添加預(yù)設(shè)密碼,獲得加密應(yīng)用程序。
[0020]在第五種可能的實施例中,結(jié)合第一方面中以上任一種可能的實施例,在所述對所述第二語言格式的字符序列進(jìn)行加密之后,還包括:
[0021]將加密的第二語言格式的字符序列保存在第一文件中,所述第一文件為動態(tài)鏈接庫文件。
[0022]第二方面,本發(fā)明提供一種應(yīng)用程序加密的裝置,包括:
[0023]字符序列確定單元,用于確定應(yīng)用程序中待加密的第一語言格式的字符序列;
[0024]轉(zhuǎn)換單元,用于將所述第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,所述第一語言格式與第二語言格式不同;
[0025]加密單元,用于對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序。
[0026]在第一種可能的實施例中,結(jié)合第二方面,所述字符序列確定單元,用于根據(jù)所述應(yīng)用程序中第一函數(shù)前添加的預(yù)設(shè)標(biāo)記,確定所述應(yīng)用程序中第一函數(shù)為所述待加密的第一語言格式的字符序列,所述第一函數(shù)為所述應(yīng)用程序中任一個函數(shù);或者,
[0027]根據(jù)所述應(yīng)用程序中的一段第一語言格式的字符序列前后添加的預(yù)設(shè)標(biāo)記,確定所述應(yīng)用程序中此段所述第一語言格式的字符序列為所述待加密的第一語言格式的字符序列。
[0028]在第二種可能的實施例中,結(jié)合第二方面,所述加密單元包括:
[0029]第一加密模塊,用于在所述第二語言格式的字符序列中添加對所述應(yīng)用程序的簽名驗證,所述簽名驗證包括至少兩個字符組成的第一字符串,獲得加密應(yīng)用程序。
[0030]在第三種可能的實施例中,結(jié)合第二方面中第二種可能的實施例,所述加密單元包括:
[0031]確定模塊,用于確定在所述第二語言格式的字符序列中需要添加的對所述應(yīng)用程序的簽名驗證,所述簽名驗證包括至少兩個字符組成的第一字符串;
[0032]處理模塊,用于對所述簽名驗證中包括的所述第一字符串進(jìn)行處理,獲得第二字符串,所述第二字符串與所述第一字符串不同;
[0033]第二加密模塊,用于在所述第二語言格式的字符序列中添加所述第二字符串,獲得加密應(yīng)用程序。
[0034]在第四種可能的實施例中,結(jié)合第二方面,所述加密單元包括:
[0035]第三加密模塊,用于在所述第二語言格式的字符序列中添加預(yù)設(shè)密碼,獲得加密應(yīng)用程序。
[0036]在第五種可能的實施例中,結(jié)合第二方面中以上任一種可能的實施例,所述裝置還包括:
[0037]保存單元,用于將加密的第二語言格式的字符序列保存在第一文件中,所述第一文件為動態(tài)鏈接庫文件。
[0038]本發(fā)明實施例提供一種應(yīng)用程序加密的方法及裝置,通過確定應(yīng)用程序中待加密的第一語言格式的字符序列;將所述第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,所述第一語言格式與第二語言格式不同;對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序。與現(xiàn)有技術(shù)中采用Java語言進(jìn)行開發(fā),通過Dalvik虛擬機解釋執(zhí)行,解釋執(zhí)行之后的Java代碼進(jìn)行反編譯后的代碼具有很強的可讀性,導(dǎo)致Android應(yīng)用程序容易被破解相比,本發(fā)明通過將第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,并對第二語言格式的字符序列進(jìn)行加密,可以降低應(yīng)用程序的可破解性,提高安全保護(hù)性。

【專利附圖】

【附圖說明】
[0039]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0040]圖1為本發(fā)明實施例1提供的一種應(yīng)用程序加密的方法的流程圖;
[0041]圖2為本發(fā)明實施例1提供的另一種應(yīng)用程序加密的方法的流程圖;
[0042]圖3為本發(fā)明實施例2提供的一種應(yīng)用程序加密的裝置的框圖;
[0043]圖4為本發(fā)明實施例2提供的另一種應(yīng)用程序加密的裝置的框圖。

【具體實施方式】
[0044]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0045]實施例1
[0046]本發(fā)明實施例提供一種應(yīng)用程序加密的方法,如圖1所示,該方法包括:
[0047]步驟101,確定應(yīng)用程序中待加密的第一語言格式的字符序列;
[0048]在本實施例中,第一語言格式的字符序列可以為高級語言的字符序列。由于Android應(yīng)用程序大部分采用Java語言進(jìn)行開發(fā),因此第一語言格式的字符序列可以為Java字符序列,Java字符序列也可以稱為Java代碼。當(dāng)然本發(fā)明不限制第一語言格式的字符序列的語言類型。
[0049]可選的,確定應(yīng)用程序中待加密的第一語言格式的字符序列可以采用以下方式:方式一,預(yù)先在應(yīng)用程序中第一函數(shù)前添加標(biāo)記;根據(jù)應(yīng)用程序中第一函數(shù)前添加的預(yù)設(shè)標(biāo)記,確定應(yīng)用程序中第一函數(shù)為待加密的第一語言格式的字符序列,其中,第一函數(shù)為應(yīng)用程序中任一個函數(shù);方式二:預(yù)先在應(yīng)用程序中一段第一語言格式的字符序列前后添加標(biāo)記,即將需要加密的一段第一語言格式的字符序列的開始和結(jié)束處添加標(biāo)記,根據(jù)所述應(yīng)用程序中的一段第一語言格式的字符序列前后添加的預(yù)設(shè)標(biāo)記,確定所述應(yīng)用程序中此段所述第一語言格式的字符序列為所述待加密的第一語言格式的字符序列。
[0050]優(yōu)選的,第一函數(shù)為應(yīng)用程序中較重要的函數(shù),加密的一段第一語言格式的字符序列為應(yīng)用程序中較重要的一段字符序列,這樣對重要的函數(shù)或者第一語言格式的字符序列進(jìn)行加密后,可以防止容易獲取應(yīng)用程序中重要的內(nèi)容,并且防止應(yīng)用程序被破解。
[0051]步驟102,將所述第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,所述第一語言格式與第二語言格式不同;
[0052]在本實施例中,第二語言格式的字符序列可以為次高級語言的字符序列,例如,第二語言格式的字符序列可以為C語言的字符序列,C語言字符序列也可以稱為C語言代碼。當(dāng)然本發(fā)明不限制第二語言格式的字符序列的語言類型。
[0053]需要說明的是,在編程語言中,第一語言格式的字符序列比第二語言格式的字符序列高級。編程語言的源程序經(jīng)過編譯可以轉(zhuǎn)換為可執(zhí)行文件,反編譯即為相反的過程,即將機器碼進(jìn)行反編譯獲得編程語言。采用Java字符序列獲得的應(yīng)用程序,可以通過Dalvik虛擬機解釋執(zhí)行。Java字符序列經(jīng)過反編譯后具有很強的可讀性,因此Java字符序列經(jīng)過反編譯后很容易被破解,因此安全性較低。C語言字符序列編譯后的二進(jìn)制代碼是可以直接在CPU上執(zhí)行的機器碼,C語言字符序列反編譯后可讀性非常差,因此C語言字符序列經(jīng)過反編譯后不容易被破解,因此安全性較高。
[0054]步驟103,對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序。
[0055]在本實施例中,對第二語言格式的字符序列進(jìn)行加密,可以使得第二語言格式的字符序列經(jīng)過反編譯后更不容易進(jìn)行破解,更加程序語言的安全性。
[0056]本發(fā)明實施例提供一種應(yīng)用程序加密的方法,通過將應(yīng)用程序中部分第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,并對第二語言格式的字符序列進(jìn)行加密,使得可以降低應(yīng)用程序的可破解性,提高安全保護(hù)性。
[0057]本發(fā)明實施例提供另一種應(yīng)用程序加密的方法,如圖2所示,該方法包括:
[0058]步驟201,在應(yīng)用程序中對需要加密的第一語言格式的字符序列添加標(biāo)記。
[0059]在本步驟中,應(yīng)用程序可以為任一 Andro i d應(yīng)用程序,在Andro i d應(yīng)用程序中大部分采用Java字符序列進(jìn)行開發(fā),因此第一語言格式的字符序列可以為Java字符序列,Java字符序列也可以稱為Java代碼。當(dāng)然本發(fā)明不限制第一語言格式的字符序列的語言類型。
[0060]可選的,在應(yīng)用程序中對需要加密的Java字符序列添加標(biāo)記時可以采用以下方式:
[0061]方式一,在應(yīng)用程序中第一函數(shù)前添加標(biāo)記。需要說明的是,第一函數(shù)可以為應(yīng)用程序中任一函數(shù)??蛇x的,第一函數(shù)可以為應(yīng)用程序中比較重要的函數(shù),可以防止容易獲取應(yīng)用程序中重要的內(nèi)容,并且防止應(yīng)用程序被破解。
[0062]方式二:在應(yīng)用程序中第一 Java字符序列前后添加標(biāo)記,即將需要加密的一段Java字符序列的開始和結(jié)束處添加標(biāo)記。需要說明的是,第一 Java字符序列可以為應(yīng)用程序中任一段Java字符序列。可選的,第一 Java字符序列可以為應(yīng)用程序中比較重要的Java字符序列,可以防止容易獲取應(yīng)用程序中重要的內(nèi)容,并且防止應(yīng)用程序被破解。當(dāng)然,本發(fā)明并不限制對需要加密的Java字符序列添加標(biāo)記的方式。
[0063]可選的,在應(yīng)用程序中對需要加密的Java字符序列添加的標(biāo)記可以為Dalvik虛擬機可以識別的標(biāo)記。
[0064]步驟202,確定應(yīng)用程序中待加密的Java字符序列。
[0065]在本步驟中,確定應(yīng)用程序中待加密的Java字符序列時可以采用以下方式:
[0066]方式一:根據(jù)應(yīng)用程序中第一函數(shù)前添加的預(yù)設(shè)標(biāo)記,確定應(yīng)用程序中第一函數(shù)為待加密的Java字符序列,其中,第一函數(shù)為應(yīng)用程序中任一個函數(shù);
[0067]方式二:根據(jù)應(yīng)用程序中第一 Java字符序列前后添加的預(yù)設(shè)標(biāo)記,確定應(yīng)用程序中第一 Java字符序列為待加密的Java字符序列,第一 Java字符序列為所述應(yīng)用程序中任一段Java字符序列。當(dāng)然,本發(fā)明并不限制確定應(yīng)用程序中待加密的Java字符序列的方式。
[0068]步驟203,將所述第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,所述第一語言格式與第二語言格式不同。
[0069]在本實施例中,第一語言格式的字符序列可以為高級語言的字符序列,第二語言格式的字符序列可以為次高級語言的字符序列,例如,第二語言格式的字符序列可以為C語言的字符序列,C語言字符序列也可以稱為C語言代碼。當(dāng)然本發(fā)明不限制第二語言格式的字符序列的語言類型。
[0070]需要說明的是,在編程語言中,第一語言格式的字符序列比第二語言格式的字符序列高級。編程語言的源程序經(jīng)過編譯可以轉(zhuǎn)換為可執(zhí)行文件,反編譯即為相反的過程,即將機器碼進(jìn)行反編譯獲得編程語言。采用Java字符序列獲得的應(yīng)用程序,可以通過Dalvik虛擬機解釋執(zhí)行。Java字符序列經(jīng)過反編譯后具有很強的可讀性,因此Java字符序列經(jīng)過反編譯后很容易被破解,因此安全性較低。C語言字符序列編譯后的二進(jìn)制代碼是可以直接在CPU上執(zhí)行的機器碼,C語言字符序列反編譯后可讀性非常差,因此C語言字符序列經(jīng)過反編譯后不容易被破解,因此安全性較高。
[0071]在本步驟中,將所述第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,包括:接收用戶發(fā)送的將所述第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列。即用戶獲取確定待加密的Java字符序列之后,手動將Java字符序列翻譯為C語言的字符序列,并將C語言的字符序列上傳給本系統(tǒng)?;蛘撸捎玫谝环绞阶詣訉⑺龅谝徽Z言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,第一方式為包括自動翻譯功能的插件。例如,采用預(yù)編譯的方式將Java字符序列自動翻譯為C語言的字符序列??蛇x的,在需要預(yù)編譯的Java字符序列前增加一個預(yù)處理聲明標(biāo)記,然后通過采用Eclipse插件通過預(yù)編譯的方式將Java字符序列自動翻譯為C語言的字符序列,Eclipse插件可以識別此預(yù)處理聲明標(biāo)記,并具備自動翻譯功能。當(dāng)然,本發(fā)明實施例不限制將第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列的方式。
[0072]步驟204,對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序。
[0073]在本步驟中,對第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序可以采用以下方式:
[0074]方式一:在C語言字符序列中添加預(yù)設(shè)密碼,獲得加密應(yīng)用程序。預(yù)設(shè)密碼可以為預(yù)設(shè)字符串,例如英文字符、數(shù)字或者英文和數(shù)字混合組成的字符串。
[0075]方式二:在C語言字符序列中添加對應(yīng)用程序的簽名驗證,所述簽名驗證包括至少兩個字符組成的第一字符串,獲得加密應(yīng)用程序。具體的,簽名驗證可以為數(shù)字簽名驗證,其中,簽名驗證為兩種的互補運算,包括簽名以及驗證。在本實施例中,具體指在C語言字符序列中添加對應(yīng)用程序的簽名,當(dāng)安裝或者運行此應(yīng)用程序時,則需要對此應(yīng)用程序進(jìn)行驗證。當(dāng)驗證正確時,可以對應(yīng)用程序進(jìn)行安裝或者運行,當(dāng)驗證錯誤時,則結(jié)束對應(yīng)用程序的安裝或者運行。
[0076]方式三:確定在C語言字符序列中需要添加的對應(yīng)用程序的簽名驗證,簽名驗證包括至少兩個字符組成的第一字符串;對簽名驗證中包括的第一字符串進(jìn)行處理,獲得第二字符串,所述第二字符串與所述第一字符串不同;在C語言字符序列中添加第二字符串,獲得加密應(yīng)用程序。
[0077]方式三采用的加密方式為對方式二的進(jìn)一步處理,使得安全性更好。其中對簽名驗證中包括的第一字符串進(jìn)行處理可以為對簽名驗證中包括的第一字符串進(jìn)行散列處理,散列處理為對所述第一字符串中的各個字符串重新排序,并組成新的字符串,所述新的字符串為第二字符串。
[0078]需要說明的是,當(dāng)對應(yīng)用程序進(jìn)行反編譯時,有時可以獲得此應(yīng)用程序的簽名驗證方式,容易獲得簽名的第一字符串,當(dāng)對第一字符串進(jìn)行進(jìn)一步處理之后,獲得重新排序的第二字符串,并采用第二字符串進(jìn)行加密,使得即使反編譯后獲得應(yīng)用程序的簽名驗證方式,也很困難獲得真正加密采用的字符串,因此應(yīng)用程序安全性較高。
[0079]進(jìn)一步的,將獲得的加密后的C語言字符序列保存在第一文件中,所述第一文件為動態(tài)鏈接庫文件??蛇x的,將獲得的加密后的C語言字符序列保存在SO庫中,SO庫為一種Iinux下的動態(tài)鏈接庫文件,SO庫為采用C語言開發(fā)的。
[0080]需要說明的是,應(yīng)用程序中除待加密的Java字符序列之外的Java字符序列,以及加密后的C語言的字符序列構(gòu)成加密應(yīng)用程序。當(dāng)需要應(yīng)用此應(yīng)用程序時,Dalvik虛擬機解釋執(zhí)行到待加密的Java字符序列時,可以動態(tài)鏈接到SO庫中執(zhí)行加密后的C語言字符序列。
[0081]本發(fā)明實施例提供一種應(yīng)用程序加密的方法,通過將應(yīng)用程序中部分第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,并對第二語言格式的字符序列進(jìn)行加密,使得可以降低應(yīng)用程序的可破解性,提高安全保護(hù)性。
[0082]實施例2
[0083]本發(fā)明實施例提供一種應(yīng)用程序加密的裝置,如圖3所示,該裝置包括:字符序列確定單元301,轉(zhuǎn)換單元302,加密單元303。
[0084]字符序列確定單元301,用于確定應(yīng)用程序中待加密的第一語言格式的字符序列;
[0085]第一語言格式的字符序列可以為Java字符序列,Java字符序列也可以稱為Java代碼。當(dāng)然本發(fā)明不限制第一語言格式的字符序列的語言類型。
[0086]轉(zhuǎn)換單元302,用于將所述第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,所述第一語言格式與第二語言格式不同;
[0087]第二語言格式的字符序列可以為C語言字符序列,C語言字符序列也可以稱為C代碼。當(dāng)然本發(fā)明不限制第二語言格式的字符序列的語言類型。
[0088]加密單元303,用于對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序。
[0089]進(jìn)一步可選的,所述字符序列確定單元301用于:根據(jù)所述應(yīng)用程序中第一函數(shù)前添加的預(yù)設(shè)標(biāo)記,確定所述應(yīng)用程序中第一函數(shù)為所述待加密的第一語言格式的字符序列,所述第一函數(shù)為所述應(yīng)用程序中任一個函數(shù);或者,
[0090]根據(jù)所述應(yīng)用程序中的一段第一語言格式的字符序列前后添加的預(yù)設(shè)標(biāo)記,確定所述應(yīng)用程序中此段所述第一語言格式的字符序列為所述待加密的第一語言格式的字符序列。
[0091]進(jìn)一步可選的,如圖4所示,所述加密單元303包括:第一加密模塊3031,確定模塊3032,處理模塊3033,第二加密模塊3034,第三加密模塊3035。
[0092]對所述第二語言格式的字符序列進(jìn)行加密可以采用以下方式:
[0093]方式一:第一加密模塊3031,用于在所述第二語言格式的字符序列中添加對所述應(yīng)用程序的簽名驗證,所述簽名驗證包括至少兩個字符組成的第一字符串,獲得加密應(yīng)用程序。
[0094]方式二:確定模塊3032,用于確定在所述第二語言格式的字符序列中需要添加的對所述應(yīng)用程序的簽名驗證,所述簽名驗證包括至少兩個字符組成的第一字符串;
[0095]處理模塊3033,用于對所述簽名驗證中包括的所述第一字符串進(jìn)行處理,獲得第二字符串,所述第二字符串與所述第一字符串不同;例如,可以為對所述簽名驗證中包括的所述第一字符串進(jìn)行散列處理,所述散列處理為對所述第一字符串中的各個字符串重新排序,并組成新的字符串,所述新的字符串為第二字符串;
[0096]第二加密模塊3034,用于在所述第二語言格式的字符序列中添加所述第二字符串,獲得加密應(yīng)用程序。
[0097]方式三:第三加密模塊3035,用于在所述第二語言格式的字符序列中添加預(yù)設(shè)密碼,獲得加密應(yīng)用程序。
[0098]可選的,如圖4所示,該裝置還包括:保存單元304。
[0099]其中,保存單元304,用于將加密的第二語言格式的字符序列保存在第一文件中,所述第一文件為動態(tài)鏈接庫文件。
[0100]進(jìn)一步可選的,所述轉(zhuǎn)換單元302用于:采用第一方式自動將所述第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列;或者,接收用戶發(fā)送的將所述第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列。
[0101]其中,所述第一方式為包括自動翻譯功能的插件。
[0102]需要說明的是,附圖3或者附圖4所示裝置中,其各個模塊的具體實施過程以及各個模塊之間的信息交互等內(nèi)容,由于與本發(fā)明方法實施例基于同一發(fā)明構(gòu)思,可以參見方法實施例,在此不一一贅述。
[0103]本發(fā)明實施例提供一種應(yīng)用程序加密的裝置,通過轉(zhuǎn)換單元將應(yīng)用程序中部分第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,并采用加密單元對第二語言格式的字符序列進(jìn)行加密,使得可以降低應(yīng)用程序的可破解性,提高安全保護(hù)性。
[0104]需說明的是,以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
[0105]通過以上的實施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實現(xiàn),當(dāng)然也可以通過專用硬件包括專用集成電路、專用CPU、專用存儲器、專用元器件等來實現(xiàn),但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計算機的軟盤,U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0106]本說明書中的各個實施例均采用遞進(jìn)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置和系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0107]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種應(yīng)用程序加密的方法,其特征在于,包括: 確定應(yīng)用程序中待加密的第一語言格式的字符序列; 將所述第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,所述第一語言格式與第二語言格式不同; 對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定應(yīng)用程序中待加密的第一語言格式的字符序列包括:根據(jù)所述應(yīng)用程序中第一函數(shù)前添加的預(yù)設(shè)標(biāo)記,確定所述應(yīng)用程序中第一函數(shù)為所述待加密的第一語言格式的字符序列,所述第一函數(shù)為所述應(yīng)用程序中任一個函數(shù);或者,根據(jù)所述應(yīng)用程序中的一段第一語言格式的字符序列前后添加的預(yù)設(shè)標(biāo)記,確定所述應(yīng)用程序中此段所述第一語言格式的字符序列為所述待加密的第一語言格式的字符序列。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序包括: 在所述第二語言格式的字符序列中添加對所述應(yīng)用程序的簽名驗證,所述簽名驗證包括至少兩個字符組成的第一字符串,獲得加密應(yīng)用程序。
4.根據(jù)權(quán)利要 求3所述的方法,其特征在于,所述對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序包括: 確定在所述第二語言格式的字符序列中需要添加的對所述應(yīng)用程序的簽名驗證,所述簽名驗證包括至少兩個字符組成的第一字符串; 對所述簽名驗證中包括的所述第一字符串進(jìn)行處理,獲得第二字符串,所述第二字符串與所述第一字符串不同; 在所述第二語言格式的字符序列中添加所述第二字符串,獲得加密應(yīng)用程序。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序包括: 在所述第二語言格式的字符序列中添加預(yù)設(shè)密碼,獲得加密應(yīng)用程序。
6.根據(jù)權(quán)利要求1-5中任一項所述的方法,其特征在于,在所述對所述第二語言格式的字符序列進(jìn)行加密之后,還包括: 將加密的第二語言格式的字符序列保存在第一文件中,所述第一文件為動態(tài)鏈接庫文件。
7.一種應(yīng)用程序加密的裝置,其特征在于,包括: 字符序列確定單元,用于確定應(yīng)用程序中待加密的第一語言格式的字符序列; 轉(zhuǎn)換單元,用于將所述第一語言格式的字符序列轉(zhuǎn)換為第二語言格式的字符序列,所述第一語言格式與第二語言格式不同; 加密單元,用于對所述第二語言格式的字符序列進(jìn)行加密,獲得加密應(yīng)用程序。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述字符序列確定單元用于,根據(jù)所述應(yīng)用程序中第一函數(shù)前添加的預(yù)設(shè)標(biāo)記,確定所述應(yīng)用程序中第一函數(shù)為所述待加密的第一語言格式的字符序列,所述第一函數(shù)為所述應(yīng)用程序中任一個函數(shù);或者,根據(jù)所述應(yīng)用程序中的一段第一語言格式的字符序列前后添加的預(yù)設(shè)標(biāo)記,確定所述應(yīng)用程序中此段所述第一語言格式的字符序列為所述待加密的第一語言格式的字符序列。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述加密單元包括: 第一加密模塊,用于在所述第二語言格式的字符序列中添加對所述應(yīng)用程序的簽名驗證,所述簽名驗證包括至少兩個字符組成的第一字符串,獲得加密應(yīng)用程序。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述加密單元包括: 確定模塊,用于確定在所述第二語言格式的字符序列中需要添加的對所述應(yīng)用程序的簽名驗證,所述簽名驗證包括至少兩個字符組成的第一字符串; 處理模塊,用于對所述簽名驗證中包括的所述第一字符串進(jìn)行處理,獲得第二字符串,所述第二字符串與所述第一字符串不同; 第二加密模塊,用于在所述第二語言格式的字符序列中添加所述第二字符串,獲得加密應(yīng)用程序。
11.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述加密單元包括: 第三加密模塊,用于在所述第二語言格式的字符序列中添加預(yù)設(shè)密碼,獲得加密應(yīng)用程序。
12.根據(jù)權(quán)利要求7-11中任一項所述的裝置,其特征在于,所述裝置還包括: 保存單元,用于將加密的第二語言格式的字符序列保存在第一文件中,所述第一文件為動態(tài)鏈接庫文 件。
【文檔編號】G06F21/14GK104077504SQ201310096196
【公開日】2014年10月1日 申請日期:2013年3月25日 優(yōu)先權(quán)日:2013年3月25日
【發(fā)明者】張博, 趙春雷 申請人:聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
大荔县| 阿拉尔市| 德清县| 五台县| 沈阳市| 明光市| 罗山县| 尖扎县| 潮州市| 定安县| 玉屏| 祁阳县| 西吉县| 宽甸| 泰和县| 江川县| 绥阳县| 崇仁县| 宜昌市| 安溪县| 抚顺县| 儋州市| 赤城县| 郴州市| 呼和浩特市| 孟津县| 长治县| 德惠市| 淮滨县| 伽师县| 讷河市| 平阴县| 建宁县| 望奎县| 阳春市| 沭阳县| 鄯善县| 右玉县| 蒙城县| 师宗县| 霍州市|