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

一種軟件敏感數(shù)據(jù)隱藏、提取方法及裝置與流程

文檔序號:12720589閱讀:328來源:國知局
一種軟件敏感數(shù)據(jù)隱藏、提取方法及裝置與流程

本發(fā)明涉及軟件安全技術(shù)領(lǐng)域,特別涉及一種軟件敏感數(shù)據(jù)隱藏、提取方法及裝置。



背景技術(shù):

現(xiàn)有的安卓軟件保護技術(shù)中,軟件加殼(即加入預啟動程序)較為常見。加入了殼程序的安卓軟件中,原程序被加密等手段保護。破解者的目標就是獲取原程序。因此,在安卓軟件保護中,敏感數(shù)據(jù)(如密鑰)的隱藏,就成為軟件保護的重要手段。

理論上不論加密手段如何巧妙,加密算法如何復雜,具備專業(yè)技術(shù)的高水平破解者總能獲得解密后的源程序。在使用復雜加密算法或繁瑣隱藏方法的情況下,獲取解密程序的開銷大于破解者的回報,此時破解者往往放棄破解行為,但這種情況下,起保護作用的殼程序在解密時所花費時間也將大幅增加,降低了應用程序的啟動速度,為用戶帶來不便。

因此,在安卓軟件保護中,一般選用巧妙執(zhí)行起來簡單快速的數(shù)據(jù)隱藏方案。傳統(tǒng)的方案是將密鑰打散,插入到應用軟件中某個或某幾個文件中。預啟動程序在解密時依次解讀這些數(shù)據(jù),拼湊出完整的密鑰,對原應用程序進行解密。

但是現(xiàn)有的技術(shù)方案缺點在于:盡管敏感數(shù)據(jù)被打散隱藏,但其內(nèi)容以明文形式插入到應用程序的文件中。而且,各個文件中可以插入冗余數(shù)據(jù)的位置相對固定,熟悉安卓文件結(jié)構(gòu)的破解者已經(jīng)了解這樣的隱藏方式,可以較為快速的獲得完整密鑰,保護手段也失效了。



技術(shù)實現(xiàn)要素:

本發(fā)明要解決的技術(shù)問題是提供一種軟件敏感數(shù)據(jù)隱藏、提取方法及裝置, 用以解決現(xiàn)有的軟件保護方式大多采用將軟件敏感數(shù)據(jù)打散以明文方式隱藏到應用程序的文件中,但是因應用程序的文件可以插入冗余數(shù)據(jù)的位置相對固定,熟悉安卓文件結(jié)構(gòu)的破解者已經(jīng)了解這樣的隱藏方式,可以較為快速的獲得完整密鑰,造成保護失效的問題。

為了解決上述技術(shù)問題,本發(fā)明實施例提供一種軟件敏感數(shù)據(jù)隱藏方法,包括:

獲取待保護的軟件敏感數(shù)據(jù),以及確定隱藏所述軟件敏感數(shù)據(jù)的目標音頻文件;

按照預定的插入規(guī)則,將所述軟件敏感數(shù)據(jù)以數(shù)據(jù)幀的形式插入到所述目標音頻文件中。

進一步地,所述軟件敏感數(shù)據(jù)包括:用于檢驗軟件完整性的哈希值、用于解密軟件中加密數(shù)據(jù)的密鑰和開發(fā)者的個人水印中的一個或多個。

進一步地,所述按照預定的插入規(guī)則,將所述軟件敏感數(shù)據(jù)以數(shù)據(jù)幀的形式插入到所述目標音頻文件中的步驟具體為:

將所述軟件敏感數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)字符串;

獲取所述目標音頻文件的音頻幀數(shù)據(jù);

根據(jù)所述音頻幀數(shù)據(jù)對所述數(shù)據(jù)字符串進行填充,得到偽幀數(shù)據(jù);

依據(jù)預定的插入規(guī)則,將所述偽幀數(shù)據(jù)插入到所述目標音頻文件中。

進一步地,所述將所述軟件敏感數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)字符串的步驟具體為:

根據(jù)第一預設(shè)規(guī)則將所述軟件敏感數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)字符串。

進一步地,所述獲取所述目標音頻文件的音頻幀數(shù)據(jù)的步驟具體為:

獲取所述目標音頻文件的特征數(shù)據(jù);

根據(jù)所述特征數(shù)據(jù),計算得到所述目標音頻文件的音頻幀數(shù)據(jù)。

進一步地,所述特征數(shù)據(jù)包括音頻文件的比特率、采樣頻率、文件大小、標志位、結(jié)構(gòu)索引值和文件校驗位中的一個或多個。

進一步地,所述音頻幀數(shù)據(jù)包括幀頭長度、幀實體數(shù)據(jù)長度和幀個數(shù)中的一個或多個。

進一步地,所述根據(jù)所述音頻幀數(shù)據(jù)對所述數(shù)據(jù)字符串進行填充,得到偽幀數(shù)據(jù)的步驟具體為:

在數(shù)據(jù)字符串的預設(shè)位置填充至少一個0或者1,得到偽幀數(shù)據(jù);其中,

所述偽幀數(shù)據(jù)的長度=音頻幀數(shù)據(jù)的幀實體數(shù)據(jù)長度×n,其中,n為整數(shù)。

進一步地,所述依據(jù)預定的插入規(guī)則,將所述偽幀數(shù)據(jù)插入到所述目標音頻文件中的步驟具體為:

將所述偽幀數(shù)據(jù)進行格式修復,得到填充幀數(shù)據(jù);

將填充幀數(shù)據(jù)依據(jù)預定的插入規(guī)則插入到所述目標音頻文件中。

進一步地,所述將填充幀數(shù)據(jù)依據(jù)預定的插入規(guī)則插入到所述目標音頻文件中的步驟具體為:

按照預定的插入規(guī)則,將填充幀數(shù)據(jù)插入到所述目標音頻文件的預設(shè)位置。

進一步地,所述軟件敏感數(shù)據(jù)隱藏方法,還包括:

將插入軟件敏感數(shù)據(jù)的目標音頻文件進行文件修復處理;

將通過文件修復處理后的所述目標音頻文件設(shè)置在資源文件目錄下。

本發(fā)明實施例提供一種軟件敏感數(shù)據(jù)隱藏裝置,包括:

第一獲取模塊,用于獲取待保護的軟件敏感數(shù)據(jù),以及確定隱藏所述軟件敏感數(shù)據(jù)的目標音頻文件;

插入模塊,用于按照預定的插入規(guī)則,將所述軟件敏感數(shù)據(jù)以數(shù)據(jù)幀的形式插入到所述目標音頻文件中。

進一步地,所述插入模塊包括:

轉(zhuǎn)換子模塊,用于將所述軟件敏感數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)字符串;

獲取子模塊,用于獲取所述目標音頻文件的音頻幀數(shù)據(jù);

填充子模塊,用于根據(jù)所述音頻幀數(shù)據(jù)對所述數(shù)據(jù)字符串進行填充,得到偽幀數(shù)據(jù);

插入子模塊,用于依據(jù)預定的插入規(guī)則,將所述偽幀數(shù)據(jù)插入到所述目標音頻文件中。

進一步地,所述獲取子模塊包括:

第一獲取單元,用于獲取所述目標音頻文件的特征數(shù)據(jù);

計算單元,用于根據(jù)所述特征數(shù)據(jù),計算得到所述目標音頻文件的音頻幀數(shù)據(jù)。

進一步地,所述插入子模塊包括:

修復單元,用于將所述偽幀數(shù)據(jù)進行格式修復,得到填充幀數(shù)據(jù);

插入單元,用于將填充幀數(shù)據(jù)依據(jù)預定的插入規(guī)則插入到所述目標音頻文件中。

進一步地,所述軟件敏感數(shù)據(jù)隱藏裝置還包括:

文件修復模塊,用于將插入軟件敏感數(shù)據(jù)的目標音頻文件進行文件修復處理;

設(shè)置模塊,用于將通過文件修復處理后的所述目標音頻文件設(shè)置在資源文件目錄下。

本發(fā)明實施例提供一種軟件敏感數(shù)據(jù)提取方法,包括:

獲取待保護的軟件敏感數(shù)據(jù)的插入規(guī)則,其中,所述軟件敏感數(shù)據(jù)按照所述插入規(guī)則,以數(shù)據(jù)幀的形式插入到目標音頻文件中;

確定插入所述軟件敏感數(shù)據(jù)的目標音頻文件;

根據(jù)所述插入規(guī)則,提取所述目標音頻文件中的軟件敏感數(shù)據(jù)。

進一步地,所述根據(jù)所述插入規(guī)則,提取所述目標音頻文件中的軟件敏感數(shù)據(jù)的步驟具體為:

根據(jù)所述插入規(guī)則,確定所述目標音頻文件中所述軟件敏感數(shù)據(jù)的數(shù)據(jù)幀的位置;

對所述目標音頻文件進行解碼;

根據(jù)所述軟件敏感數(shù)據(jù)的數(shù)據(jù)幀的位置,在解碼后的所述目標音頻文件提取填充幀數(shù)據(jù);

獲取所述填充幀數(shù)據(jù)中的軟件敏感數(shù)據(jù)。

進一步地,所述獲取所述填充數(shù)據(jù)幀中的軟件敏感數(shù)據(jù)的步驟具體為:

根據(jù)所述填充幀數(shù)據(jù),獲取偽幀數(shù)據(jù);

根據(jù)所述偽幀數(shù)據(jù),獲取所述軟件敏感數(shù)據(jù)的數(shù)據(jù)字符串;

根據(jù)所述數(shù)據(jù)字符串得到軟件敏感數(shù)據(jù)。

本發(fā)明實施例提供一種軟件敏感數(shù)據(jù)提取裝置,包括:

第二獲取模塊,用于獲取待保護的軟件敏感數(shù)據(jù)的插入規(guī)則,其中,所述軟件敏感數(shù)據(jù)按照所述插入規(guī)則,以數(shù)據(jù)幀的形式插入到目標音頻文件中;

確定模塊,用于確定插入所述軟件敏感數(shù)據(jù)的目標音頻文件;

提取模塊,用于根據(jù)所述插入規(guī)則,提取所述目標音頻文件中的軟件敏感數(shù)據(jù)。

進一步地,所述提取模塊包括:

確定子模塊,用于根據(jù)所述插入規(guī)則,確定所述目標音頻文件中所述軟件敏感數(shù)據(jù)的數(shù)據(jù)幀的位置;

解碼子模塊,用于對所述目標音頻文件進行解碼;

提取子模塊,用于根據(jù)所述軟件敏感數(shù)據(jù)的數(shù)據(jù)幀的位置,在解碼后的所述目標音頻文件提取填充幀數(shù)據(jù);

數(shù)據(jù)獲取子模塊,用于獲取所述填充幀數(shù)據(jù)中的軟件敏感數(shù)據(jù)。

進一步地,所述數(shù)據(jù)獲取子模塊包括:

第二獲取單元,用于根據(jù)所述填充幀數(shù)據(jù),獲取偽幀數(shù)據(jù);

第三獲取單元,用于根據(jù)所述偽幀數(shù)據(jù),獲取所述軟件敏感數(shù)據(jù)的數(shù)據(jù)字符串;

第四獲取單元,用于根據(jù)所述數(shù)據(jù)字符串得到軟件敏感數(shù)據(jù)。

本發(fā)明的有益效果是:

上述方案,通過將軟件中的軟件敏感數(shù)據(jù)進行轉(zhuǎn)換,以音頻形式隱藏在應用程序中,避免了軟件敏感數(shù)據(jù)以明文形式出現(xiàn)在應用程序中,使得破解者可以輕易獲取軟件敏感數(shù)據(jù),造成保護失效的問題,此種方式,盡可能的保證了數(shù)據(jù)的隱秘性,保證了軟件的數(shù)據(jù)安全。

附圖說明

圖1表示本發(fā)明實施例一的軟件敏感數(shù)據(jù)隱藏方法的流程示意圖;

圖2表示本發(fā)明實施例二的軟件敏感數(shù)據(jù)隱藏方法的流程示意圖;

圖3表示本發(fā)明實施例三的軟件敏感數(shù)據(jù)隱藏方法的流程示意圖;

圖4表示本發(fā)明實施例四的軟件敏感數(shù)據(jù)隱藏裝置的流程示意圖;

圖5表示本發(fā)明實施例五的軟件敏感數(shù)據(jù)提取方法的流程示意圖;

圖6表示本發(fā)明實施例六的軟件敏感數(shù)據(jù)提取裝置的流程示意圖。

具體實施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例對本發(fā)明進行詳細描述。

本發(fā)明針對現(xiàn)有的軟件保護方式大多采用將軟件敏感數(shù)據(jù)打散以明文方式隱藏到應用程序的文件中,但是因應用程序的文件可以插入冗余數(shù)據(jù)的位置相對固定,熟悉安卓文件結(jié)構(gòu)的破解者已經(jīng)了解這樣的隱藏方式,可以較為快速的獲得完整密鑰,造成保護失效的問題,提供一種軟件敏感數(shù)據(jù)隱藏、提取方法及裝置。

實施例一

如圖1所示,本發(fā)明實施例一的軟件敏感數(shù)據(jù)隱藏方法包括:

步驟11,獲取待保護的軟件敏感數(shù)據(jù),以及確定隱藏所述軟件敏感數(shù)據(jù)的目標音頻文件;

步驟12,按照預定的插入規(guī)則,將所述軟件敏感數(shù)據(jù)以數(shù)據(jù)幀的形式插入到所述目標音頻文件中。

需要說明的是,該軟件敏感數(shù)據(jù)包括但不限于是:用于檢驗軟件完整性的哈希值、用于解密軟件中加密數(shù)據(jù)的密鑰和開發(fā)者的個人水印中的一個或多個。

本實施例中,將軟件中需要保護的軟件敏感數(shù)據(jù)轉(zhuǎn)換成音頻文件幀的形式,將軟件敏感數(shù)據(jù)偽裝成安卓軟件的音頻資源文件,盡可能的實現(xiàn)迷惑破解者、保護軟件數(shù)據(jù)安全的作用。

實施例二

如圖2所示,本實施例二的所述軟件敏感數(shù)據(jù)隱藏方法包括:

步驟21,獲取待保護的軟件敏感數(shù)據(jù),以及確定隱藏所述軟件敏感數(shù)據(jù)的目標音頻文件;

步驟22,將所述軟件敏感數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)字符串;

步驟23,獲取所述目標音頻文件的音頻幀數(shù)據(jù);

步驟24,根據(jù)所述音頻幀數(shù)據(jù)對所述數(shù)據(jù)字符串進行填充,得到偽幀數(shù)據(jù);

步驟25,依據(jù)預定的插入規(guī)則,將所述偽幀數(shù)據(jù)插入到所述目標音頻文件中。

需要說明的是,上述步驟22的主要實現(xiàn)方式為:

根據(jù)第一預設(shè)規(guī)則將所述軟件敏感數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)字符串。

需要說明的是,所述第一預設(shè)規(guī)則可以為ASCII編碼規(guī)則,也可以為自定義的字符串轉(zhuǎn)換規(guī)則,在轉(zhuǎn)換完成后,該數(shù)據(jù)字符串主要是由0和1組成的二進制編碼字符串。

進一步需要說明的是,步驟23在實現(xiàn)時,主要包括:

步驟231,獲取所述目標音頻文件的特征數(shù)據(jù);

該步驟231主要實現(xiàn)的是,按照目標音頻文件的文件格式(如MP3格式或WAV等安卓系統(tǒng)支持的音頻格式)以二進制形式讀取目標音頻文件,按照其官方對二進制文件的結(jié)構(gòu)說明對二進制文件進行解析,獲取目標音頻文件的特征數(shù)據(jù);需要說明的是該特征數(shù)據(jù)包括但不限于是:音頻文件的比特率、采樣頻率、文件大小、標志位(如MP3的CRB(Constant Bit-Rate,定比特率)和VRB(Variable Bit-Rate,變比特率)標記)、結(jié)構(gòu)索引值和文件校驗位中的一個或多個,特別需要說明的是,不同格式的目標音頻文件所獲取的特征數(shù)據(jù)可能是不相同的。

步驟232,根據(jù)所述特征數(shù)據(jù),計算得到所述目標音頻文件的音頻幀數(shù)據(jù);

需要說明的是,步驟232中,根據(jù)目標音頻文件的特征數(shù)據(jù),按照音頻結(jié)構(gòu)說明,可獲得目標音頻文件的音頻幀數(shù)據(jù),需要說明的是,該特征數(shù)據(jù)包括但不限于是幀頭長度、幀實體數(shù)據(jù)長度和幀個數(shù)中的一個或多個。以MP3音頻格式為例,通過比特率、采樣頻率等特征數(shù)據(jù),可以計算出幀頭長度、幀實體長度和幀個數(shù)等幀數(shù)據(jù)。

在得到目標音頻文件的音頻幀數(shù)據(jù)后,需要對數(shù)據(jù)字符串進行填充,得到與音頻幀數(shù)據(jù)相匹配的偽幀數(shù)據(jù),因此,該步驟24的主要實現(xiàn)方式為:

在數(shù)據(jù)字符串的預設(shè)位置填充至少一個0或者1,得到偽幀數(shù)據(jù);其中,

所述偽幀數(shù)據(jù)的長度=音頻幀數(shù)據(jù)的幀實體數(shù)據(jù)長度×n,其中,n為整數(shù)。

需要說明的是,填充后的數(shù)據(jù)字符串的偽幀數(shù)據(jù)的字符串長度等于n個音頻幀數(shù)據(jù)的長度,例如,如果是MP3格式的幀,填充后的數(shù)據(jù)字符串的偽幀數(shù)據(jù)的長度等于n個幀實體數(shù)據(jù)長度。

在進行數(shù)據(jù)字符串的填充時,可以選擇在長度為l的數(shù)據(jù)字符串的尾部填充p-l個0或者1(其中,可以選擇填充全0或全1,也可以按照規(guī)則進行0和1的比例分配);或者也可以按照特定間隔,在長度為l的數(shù)據(jù)字符串中插入p-1 個0或者1,填充完成后,使得p=音頻幀數(shù)據(jù)的幀實體數(shù)據(jù)長度×n。

在步驟24填充完成后,便可得到n個偽幀數(shù)據(jù),之后便需將n個偽幀數(shù)據(jù)插入到目標音頻文件中,在插入偽幀數(shù)據(jù)時,步驟25在實現(xiàn)時,主要包括:

步驟251,將所述偽幀數(shù)據(jù)進行格式修復,得到填充幀數(shù)據(jù);

需要說明的是,該步驟251主要是對偽幀數(shù)據(jù)進行格式上的修復,使其能成為合法的幀數(shù)據(jù);以MP3為例,格式修復主要包括:補充幀頭文件,格式修復也包括將幀頭中的特征數(shù)據(jù)修復成與填充幀數(shù)據(jù)的幀實體數(shù)據(jù)相匹配。

步驟252,將填充幀數(shù)據(jù)依據(jù)預定的插入規(guī)則插入到所述目標音頻文件中。

該步驟252的主要實現(xiàn)方式為:按照預定的插入規(guī)則,將填充幀數(shù)據(jù)插入到所述目標音頻文件的預設(shè)位置。

在具體實現(xiàn)時,可以將格式修復后的n個隱藏了數(shù)據(jù)的填充幀數(shù)據(jù),連續(xù)插入到目標音頻文件的第m幀和第m+1幀之間;也可以按照自定義的插入間隔,將n個填充幀數(shù)據(jù)分散的插入到目標音頻文件中。

在進行完上述步驟后,就成功的將軟件敏感數(shù)據(jù)插入到了目標音頻文件中。

實施例三

為了使得插入軟件敏感數(shù)據(jù)的目標音頻文件正常在軟件運行時使用,如圖3所示,本實施例三的軟件敏感數(shù)據(jù)隱藏方法,包括:

步驟31,獲取待保護的軟件敏感數(shù)據(jù),以及確定隱藏所述軟件敏感數(shù)據(jù)的目標音頻文件;

步驟32,按照預定的插入規(guī)則,將所述軟件敏感數(shù)據(jù)以數(shù)據(jù)幀的形式插入到所述目標音頻文件中;

步驟33,將插入軟件敏感數(shù)據(jù)的目標音頻文件進行文件修復處理;

需要說明的是,該文件修復處理主要實現(xiàn)的是將文件大小修復為插入軟件敏感數(shù)據(jù)之后的文件的實際大?。灰訫P3音頻文件為例,該文件修復處理包括修復FRAME信息,F(xiàn)RAME信息由一系列幀組成;該文件修復處理包括將FRAME中的幀個數(shù)信息修復成與插入敏感數(shù)據(jù)后的實際幀個數(shù)相匹配等操作;該文件修復處理還包括將MP3文件的特征數(shù)據(jù)修復為與插入軟件敏感數(shù)據(jù)后的實際文件相匹配。

步驟34,將通過文件修復處理后的所述目標音頻文件設(shè)置在資源文件目錄 下。

需要說明的是,該資源文件目錄下的音頻文件均為安卓軟件的資源文件,步驟34中,將插入軟件敏感數(shù)據(jù)的目標音頻文件成功的偽裝成了安卓軟件的資源文件,從而較好的迷惑破解者、保護了軟件數(shù)據(jù)的安全。

實施例四

如圖4所示,本發(fā)明實施例提供一種軟件敏感數(shù)據(jù)隱藏裝置,包括:

第一獲取模塊41,用于獲取待保護的軟件敏感數(shù)據(jù),以及確定隱藏所述軟件敏感數(shù)據(jù)的目標音頻文件;

插入模塊42,用于按照預定的插入規(guī)則,將所述軟件敏感數(shù)據(jù)以數(shù)據(jù)幀的形式插入到所述目標音頻文件中。

需要說明的是,該軟件敏感數(shù)據(jù)包括:用于檢驗軟件完整性的哈希值、用于解密軟件中加密數(shù)據(jù)的密鑰和開發(fā)者的個人水印中的一個或多個。

可選地,所述插入模塊42包括:

轉(zhuǎn)換子模塊,用于將所述軟件敏感數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)字符串;

獲取子模塊,用于獲取所述目標音頻文件的音頻幀數(shù)據(jù);

填充子模塊,用于根據(jù)所述音頻幀數(shù)據(jù)對所述數(shù)據(jù)字符串進行填充,得到偽幀數(shù)據(jù);

插入子模塊,用于依據(jù)預定的插入規(guī)則,將所述偽幀數(shù)據(jù)插入到所述目標音頻文件中。

具體地,所述轉(zhuǎn)換子模塊具體用于:根據(jù)第一預設(shè)規(guī)則將所述軟件敏感數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)字符串。

具體地,所述獲取子模塊包括:

第一獲取單元,用于獲取所述目標音頻文件的特征數(shù)據(jù);

計算單元,用于根據(jù)所述特征數(shù)據(jù),計算得到所述目標音頻文件的音頻幀數(shù)據(jù)。

需要說明的是,所述特征數(shù)據(jù)包括音頻文件的比特率、采樣頻率、文件大小、標志位、結(jié)構(gòu)索引值和文件校驗位中的一個或多個;所述音頻幀數(shù)據(jù)包括幀頭長度、幀實體數(shù)據(jù)長度和幀個數(shù)中的一個或多個。

具體地,所述填充子模塊具體用于:

在數(shù)據(jù)字符串的預設(shè)位置填充至少一個0或者1,得到偽幀數(shù)據(jù);其中,

所述偽幀數(shù)據(jù)的長度=音頻幀數(shù)據(jù)的幀實體數(shù)據(jù)長度×n,其中,n為整數(shù)。

進一步地,所述插入子模塊包括:

修復單元,用于將所述偽幀數(shù)據(jù)進行格式修復,得到填充幀數(shù)據(jù);

插入單元,用于將填充幀數(shù)據(jù)依據(jù)預定的插入規(guī)則插入到所述目標音頻文件中。

可選地,所述插入單元具體用于:按照預定的插入規(guī)則,將填充幀數(shù)據(jù)插入到所述目標音頻文件的預設(shè)位置。

可選地,所述軟件敏感數(shù)據(jù)隱藏裝置還包括:

文件修復模塊,用于將插入軟件敏感數(shù)據(jù)的目標音頻文件進行文件修復處理;

設(shè)置模塊,用于將通過文件修復處理后的所述目標音頻文件設(shè)置在資源文件目錄下。

需要說明的是,該軟件敏感數(shù)據(jù)隱藏裝置實施例是與上述軟件敏感數(shù)據(jù)隱藏方法相對應的軟件敏感數(shù)據(jù)隱藏裝置,上述軟件敏感數(shù)據(jù)隱藏方法的所有實現(xiàn)方式均適用于該軟件敏感數(shù)據(jù)隱藏裝置實施例中,也能達到相同的技術(shù)效果。

實施例五

在加入殼程序的軟件運行前,需要先利用軟件敏感數(shù)據(jù)對軟件進行解密處理,因此,需要先提取隱藏的軟件敏感數(shù)據(jù),如圖5所示,本發(fā)明實施例五提供一種軟件敏感數(shù)據(jù)提取方法,包括:

步驟51,獲取待保護的軟件敏感數(shù)據(jù)的插入規(guī)則;

需要說明的是,所述軟件敏感數(shù)據(jù)按照所述插入規(guī)則,以數(shù)據(jù)幀的形式插入到目標音頻文件中。

步驟52,確定插入所述軟件敏感數(shù)據(jù)的目標音頻文件;

步驟53,根據(jù)所述插入規(guī)則,提取所述目標音頻文件中的軟件敏感數(shù)據(jù)。

步驟53在實現(xiàn)時,具體包括:

步驟531,根據(jù)所述插入規(guī)則,確定所述目標音頻文件中所述軟件敏感數(shù)據(jù)的數(shù)據(jù)幀的位置;

步驟532,對所述目標音頻文件進行解碼;

需要說明的是,該步驟532可以通過使用安卓提供給開發(fā)者的音頻處理接口或第三方提供的音頻處理工具,按照目標音頻文件的格式(如MP3),通過調(diào)用接口中相應音頻格式的加載方法,加載目標音頻文件,得到音頻文件的數(shù)據(jù)流,根據(jù)上一步獲得的數(shù)據(jù)幀的位置,通過所用接口中提供的幀抽取方法從數(shù)據(jù)流中獲得隱藏了數(shù)據(jù)的目標幀;

該步驟532還可以通過安卓提供給開發(fā)者的文件處理接口,或調(diào)用第三方提供的相關(guān)工具,將音頻文件作為二進制文件進行處理。處理方法為調(diào)用文件處理接口中的文件讀取方法,打開文件,通過文件處理接口提供的bit位讀取方法,根據(jù)上一步獲得的數(shù)據(jù)幀的位置,讀取對應位置的二進制數(shù)據(jù)串。

步驟533,根據(jù)所述軟件敏感數(shù)據(jù)的數(shù)據(jù)幀的位置,在解碼后的所述目標音頻文件提取填充幀數(shù)據(jù);

步驟534,獲取所述填充幀數(shù)據(jù)中的軟件敏感數(shù)據(jù)。

進一步地,所述步驟534在實現(xiàn)時,具體包括:

根據(jù)所述填充幀數(shù)據(jù),獲取偽幀數(shù)據(jù);

根據(jù)所述偽幀數(shù)據(jù),獲取所述軟件敏感數(shù)據(jù)的數(shù)據(jù)字符串;

根據(jù)所述數(shù)據(jù)字符串得到軟件敏感數(shù)據(jù)。

需要說明的是,該軟件敏感數(shù)據(jù)提取方法是上述軟件敏感數(shù)據(jù)隱藏方法的逆過程,通過對軟件敏感數(shù)據(jù)的提取,進行軟件的解密,保證了軟件的正常使用。

實施例六

如圖6所示,本發(fā)明實施例提供一種軟件敏感數(shù)據(jù)提取裝置,包括:

第二獲取模塊61,用于獲取待保護的軟件敏感數(shù)據(jù)的插入規(guī)則;

需要說明的是,所述軟件敏感數(shù)據(jù)按照所述插入規(guī)則,以數(shù)據(jù)幀的形式插入到目標音頻文件中。

確定模塊62,用于確定插入所述軟件敏感數(shù)據(jù)的目標音頻文件;

提取模塊63,用于根據(jù)所述插入規(guī)則,提取所述目標音頻文件中的軟件敏感數(shù)據(jù)。

可選地,所述提取模塊63包括:

確定子模塊,用于根據(jù)所述插入規(guī)則,確定所述目標音頻文件中所述軟件 敏感數(shù)據(jù)的數(shù)據(jù)幀的位置;

解碼子模塊,用于對所述目標音頻文件進行解碼;

提取子模塊,用于根據(jù)所述軟件敏感數(shù)據(jù)的數(shù)據(jù)幀的位置,在解碼后的所述目標音頻文件提取填充幀數(shù)據(jù);

數(shù)據(jù)獲取子模塊,用于獲取所述填充幀數(shù)據(jù)中的軟件敏感數(shù)據(jù)。

進一步地,所述數(shù)據(jù)獲取子模塊包括:

第二獲取單元,用于根據(jù)所述填充幀數(shù)據(jù),獲取偽幀數(shù)據(jù);

第三獲取單元,用于根據(jù)所述偽幀數(shù)據(jù),獲取所述軟件敏感數(shù)據(jù)的數(shù)據(jù)字符串;

第四獲取單元,用于根據(jù)所述數(shù)據(jù)字符串得到軟件敏感數(shù)據(jù)。

需要說明的是,該軟件敏感數(shù)據(jù)提取裝置實施例是與上述軟件敏感數(shù)據(jù)提取方法相對應的軟件敏感數(shù)據(jù)提取裝置,上述軟件敏感數(shù)據(jù)提取方法的所有實現(xiàn)方式均適用于該軟件敏感數(shù)據(jù)提取裝置實施例中,也能達到相同的技術(shù)效果。

本發(fā)明中,通過將軟件敏感數(shù)據(jù)以音頻形式進行隱藏,避免了軟件敏感數(shù)據(jù)以明文形式出現(xiàn)在安卓應用程序中,此種方式,對破解造成較大的障礙,同時本發(fā)明作為新的屏障也為高水平破解者增加更多的開銷,為軟件的安全傳播爭取更多的時間。

以上所述的是本發(fā)明的優(yōu)選實施方式,應當指出對于本技術(shù)領(lǐng)域的普通人員來說,在不脫離本發(fā)明所述的原理前提下還可以作出若干改進和潤飾,這些改進和潤飾也在本發(fā)明的保護范圍內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1