于調(diào)試的問題。當(dāng)開發(fā)人員編寫 完源代碼時,從源代碼文件中獲取第一預(yù)設(shè)字符串,獲取第一預(yù)設(shè)字符串對應(yīng)的核心源代 碼,對獲取的核心源代碼進(jìn)行加密,得到核心源代碼的密文。由于該源代碼文件中存在核心 源代碼的密文,增加了反編譯的難度和工作量,并且就算反編譯成功,反編譯得到的也是核 心源代碼的密文。由于無法知道對核心源代碼進(jìn)行解密的密鑰,所以也無法獲取到核心源 代碼,增加了核心源代碼的保密性。
[0109] 需要說明的是:上述實施例提供的對核心源代碼進(jìn)行加密的裝置在對核心源代碼 進(jìn)行加密時,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上 述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成 以上描述的全部或者部分功能。另外,上述實施例提供的對核心源代碼進(jìn)行加密的裝置與 對核心源代碼進(jìn)行加密的方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這 里不再贅述。
[0110] 上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0111] 本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件 來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀 存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0112] 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項】
1. 一種對核心源代碼進(jìn)行加密的方法,其特征在于,所述方法包括: 從源代碼文件中獲取第一預(yù)設(shè)字符串; 從所述源代碼文件中獲取所述第一預(yù)設(shè)字符串對應(yīng)的核心源代碼; 對所述核心源代碼進(jìn)行加密,得到所述核心源代碼的密文; 將所述核心源代碼替換為所述核心源代碼的密文,以及將所述第一預(yù)設(shè)字符串替換為 第二預(yù)設(shè)字符串。
2. 如權(quán)利要求1所述的方法,其特征在于,所述從所述源代碼文件中獲取所述第一預(yù) 設(shè)字符串對應(yīng)的核心源代碼,包括: 從所述源代碼文件中獲取在所述第一預(yù)設(shè)字符串之后且與所述第一預(yù)設(shè)字符串相鄰 的起始分隔符; 獲取所述起始分隔符對應(yīng)的結(jié)束分隔符; 獲取所述起始分隔符與所述結(jié)束分隔符之間的核心源代碼,將所述獲取的核心源代碼 確定為所述第一預(yù)設(shè)字符串對應(yīng)的核心源代碼。
3. 如權(quán)利要求2所述的方法,其特征在于,所述獲取所述起始分隔符對應(yīng)的結(jié)束分隔 符,包括: 獲取在所述起始分隔符之后且與結(jié)束分隔符相同的第一個字符串; 在所述起始分隔符與所述第一個字符串之間,獲取與所述起始分隔符相同的字符串的 個數(shù)N ; 獲取所述第一個字符串之后且與所述結(jié)束分隔符相同的第N個字符串; 將所述獲取的第N個字符串確定為所述起始分隔符對應(yīng)的結(jié)束分隔符。
4. 如權(quán)利要求1所述的方法,其特征在于,所述將所述核心源代碼替換為所述核心源 代碼的密文,以及將所述第一預(yù)設(shè)字符串替換為第二預(yù)設(shè)字符串之后,還包括: 從加密后的所述源代碼文件中獲取所述第二預(yù)設(shè)字符串; 從加密后的所述源代碼文件中獲取所述第二預(yù)設(shè)字符串對應(yīng)的核心源代碼的密文; 對所述核心源代碼的密文進(jìn)行解密,得到所述核心源代碼; 將所述核心源代碼的密文替換為所述核心源代碼,以及將所述第二預(yù)設(shè)字符串替換為 所述第一預(yù)設(shè)字符串。
5. 如權(quán)利要求4所述的方法,其特征在于,所述從加密后的所述源代碼文件中獲取所 述第二預(yù)設(shè)字符串對應(yīng)的核心源代碼的密文,包括: 從加密后的所述源代碼文件中獲取在所述第二預(yù)設(shè)字符串之后且與所述第二預(yù)設(shè)字 符串相鄰的起始分隔符; 獲取所述起始分隔符對應(yīng)的結(jié)束分隔符; 獲取所述起始分隔符與所述結(jié)束分隔符之間的核心源代碼的密文,將所述獲取的核心 源代碼的密文確定為所述第二預(yù)設(shè)字符串對應(yīng)的核心源代碼的密文。
6. -種對核心源代碼進(jìn)行加密的裝置,其特征在于,所述裝置包括: 第一獲取模塊,用于從源代碼文件中獲取第一預(yù)設(shè)字符串; 第二獲取模塊,用于從所述源代碼文件中獲取所述第一預(yù)設(shè)字符串對應(yīng)的核心源代 碼; 加密模塊,用于對所述核心源代碼進(jìn)行加密,得到所述核心源代碼的密文; 第一替換模塊,用于將所述核心源代碼替換為所述核心源代碼的密文,以及將所述第 一預(yù)設(shè)字符串替換為第二預(yù)設(shè)字符串。
7. 如權(quán)利要求6所述的裝置,其特征在于,所述第二獲取模塊包括: 第一獲取單元,用于從所述源代碼文件中獲取在所述第一預(yù)設(shè)字符串之后且與所述第 一預(yù)設(shè)字符串相鄰的起始分隔符; 第二獲取單元,用于獲取所述起始分隔符對應(yīng)的結(jié)束分隔符; 第一確定單元,用于獲取所述起始分隔符與所述結(jié)束分隔符之間的核心源代碼,將所 述獲取的核心源代碼確定為所述第一預(yù)設(shè)字符串對應(yīng)的核心源代碼。
8. 如權(quán)利要求7所述的裝置,其特征在于,所述第二獲取單元包括: 第一獲取子單元,用于獲取在所述起始分隔符之后且與結(jié)束分隔符相同的第一個字符 串; 第二獲取子單元,用于在所述起始分隔符與所述第一個字符串之間,獲取與所述起始 分隔符相同的字符串的個數(shù)N ; 第三獲取子單元,用于獲取所述第一個字符串之后且與所述結(jié)束分隔符相同的第N個 字符串; 確定子單元,用于將所述獲取的第N個字符串確定為所述起始分隔符對應(yīng)的結(jié)束分隔 符。
9. 如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 第三獲取模塊,用于從加密后的所述源代碼文件中獲取所述第二預(yù)設(shè)字符串; 第四獲取模塊,用于從加密后的所述源代碼文件中獲取所述第二預(yù)設(shè)字符串對應(yīng)的核 心源代碼的密文; 解密模塊,用于對所述核心源代碼的密文進(jìn)行解密,得到所述核心源代碼; 第二替換模塊,用于將所述核心源代碼的密文替換為所述核心源代碼,以及將所述第 二預(yù)設(shè)字符串替換為所述第一預(yù)設(shè)字符串。
10. 如權(quán)利要求9所述的裝置,其特征在于,所述第四獲取模塊包括: 第三獲取單元,用于從加密后的所述源代碼文件中獲取在所述第二預(yù)設(shè)字符串之后且 與所述第二預(yù)設(shè)字符串相鄰的起始分隔符; 第四獲取單元,用于獲取所述起始分隔符對應(yīng)的結(jié)束分隔符; 第二確定單元,用于獲取所述起始分隔符與所述結(jié)束分隔符之間的核心源代碼的密 文,將所述獲取的核心源代碼的密文確定為所述第二預(yù)設(shè)字符串對應(yīng)的核心源代碼的密 文。
【專利摘要】本發(fā)明公開了一種對核心源代碼進(jìn)行加密的方法及裝置,屬于計算機領(lǐng)域。所述方法包括:從源代碼文件中獲取第一預(yù)設(shè)字符串;從所述源代碼文件中獲取所述第一預(yù)設(shè)字符串對應(yīng)的核心源代碼;對所述獲取的核心源代碼進(jìn)行加密,得到核心源代碼的密文;將所述核心源代碼替換為所述核心源代碼的密文,以及將所述第一預(yù)設(shè)字符串替換為第二預(yù)設(shè)字符串。所述裝置包括:第一獲取模塊、第二獲取模塊、加密模塊和第一替換模塊。本發(fā)明避免了混淆后的源代碼難于理解的問題,也避免了混淆后的源代碼難于調(diào)試的問題,以及增加了核心源代碼的保密性。
【IPC分類】G06F21-12, G06F21-60
【公開號】CN104751024
【申請?zhí)枴緾N201310739718
【發(fā)明人】邱金濤, 龍磊
【申請人】騰訊科技(深圳)有限公司
【公開日】2015年7月1日
【申請日】2013年12月27日