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

一種應用程序加密的方法及裝置制造方法

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

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

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


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

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

【專利附圖】

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

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