国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種隱藏SO文件的方法及裝置與流程

      文檔序號:11156223閱讀:895來源:國知局
      本發(fā)明涉及文件加密及保護(hù)
      技術(shù)領(lǐng)域
      :,具體而言,涉及一種隱藏SO文件的方法及裝置。
      背景技術(shù)
      ::在安卓系統(tǒng)中,SO文件是應(yīng)用程序包括的動態(tài)鏈接庫文件,應(yīng)用程序通過調(diào)用這些SO文件實(shí)現(xiàn)自身的功能。應(yīng)用程序包括多個(gè)SO文件,其中包括一些通用的普通SO文件和實(shí)現(xiàn)應(yīng)用程序核心功能的核心SO文件。在發(fā)布應(yīng)用程序時(shí),通常將應(yīng)用程序包括的多個(gè)SO文件打包壓縮在應(yīng)用程序的安裝包中。當(dāng)前,黑客或競爭對手獲取到應(yīng)用程序的安裝包,對安裝包解壓縮即可得到應(yīng)用程序包括的所有SO文件,但是實(shí)現(xiàn)核心功能的核心SO文件通常都屬于商業(yè)秘密,黑客或競爭對手獲得核心SO文件會損害應(yīng)用程序開發(fā)方的利益。因此需要對實(shí)現(xiàn)核心功能的核心SO文件進(jìn)行保護(hù),但是目前還沒有一種有效保護(hù)核心SO文件的方案。技術(shù)實(shí)現(xiàn)要素:有鑒于此,本發(fā)明實(shí)施例的目的在于提供一種隱藏SO文件的方法及裝置,將待隱藏SO文件寫入宿主SO文件中,實(shí)現(xiàn)對待隱藏SO文件的隱藏,能夠有效保護(hù)作為商業(yè)秘密的SO文件。第一方面,本發(fā)明實(shí)施例提供了一種隱藏SO文件的方法,所述方法包括:獲取應(yīng)用程序?qū)?yīng)的宿主SO文件和待隱藏SO文件;在所述宿主SO文件中創(chuàng)建一個(gè)新的節(jié);將所述待隱藏SO文件寫入所述新的節(jié)中;將寫入操作后的所述宿主SO文件打包至所述應(yīng)用程序的安裝包中。結(jié)合第一方面,本發(fā)明實(shí)施例提供了上述第一方面的第一種可能的實(shí)現(xiàn)方式,其中,所述在所述宿主SO文件中創(chuàng)建一個(gè)新的節(jié),包括:獲取所述宿主SO文件包括的節(jié)表;在所述節(jié)表中增加一個(gè)節(jié)頭信息;根據(jù)所述節(jié)頭信息,在所述宿主SO文件中創(chuàng)建一個(gè)新的節(jié)。結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例提供了上述第一方面的第二種可能的實(shí)現(xiàn)方式,其中,所述在所述節(jié)表中增加一個(gè)節(jié)頭信息,包括:根據(jù)所述待隱藏SO文件,確定節(jié)大小屬性;根據(jù)預(yù)設(shè)增加位置和所述節(jié)表包括的每個(gè)節(jié)頭信息,確定節(jié)偏移屬性;將所述節(jié)大小屬性和所述節(jié)偏移屬性作為節(jié)頭信息添加在所述節(jié)表中。結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例提供了上述第一方面的第三種可能的實(shí)現(xiàn)方式,其中,所述根據(jù)所述節(jié)頭信息,在所述宿主SO文件中創(chuàng)建一個(gè)新的節(jié),包括:在所述宿主SO文件中定位出所述節(jié)偏移屬性所指示的字節(jié)偏移位置;在所述字節(jié)偏移位置處創(chuàng)建大小為所述節(jié)大小屬性的文件空間,得到一個(gè)新的節(jié)。結(jié)合第一方面,本發(fā)明實(shí)施例提供了上述第一方面的第四種可能的實(shí)現(xiàn)方式,其中,所述方法還包括:在根據(jù)所述安裝包運(yùn)行所述應(yīng)用程序時(shí),從所述安裝包中讀取所述宿主SO文件;獲取所述宿主SO文件的節(jié)表;根據(jù)所述節(jié)表包括的節(jié)頭信息,從所述宿主SO文件中讀取出所述待隱藏SO文件,將所述待隱藏SO文件恢復(fù)寫入內(nèi)存中。結(jié)合第一方面,本發(fā)明實(shí)施例提供了上述第一方面的第五種可能的實(shí)現(xiàn)方式,其中,所述獲取應(yīng)用程序?qū)?yīng)的宿主SO文件和待隱藏SO文件,包括:接收用戶提交的應(yīng)用程序?qū)?yīng)的宿主SO文件和待隱藏SO文件;或者,獲取應(yīng)用程序包括的每個(gè)SO文件,根據(jù)所述每個(gè)SO文件包括的重要性標(biāo)識,從所述每個(gè)SO文件中確定出宿主SO文件和待隱藏SO文件。第二方面,本發(fā)明實(shí)施例提供了一種隱藏SO文件的裝置,所述裝置包括:獲取模塊,用于獲取應(yīng)用程序?qū)?yīng)的宿主SO文件和待隱藏SO文件;創(chuàng)建模塊,用于在所述宿主SO文件中創(chuàng)建一個(gè)新的節(jié);寫入模塊,用于將所述待隱藏SO文件寫入所述新的節(jié)中;打包模塊,用于將寫入操作后的所述宿主SO文件打包至所述應(yīng)用程序的安裝包中。結(jié)合第二方面,本發(fā)明實(shí)施例提供了上述第二方面的第一種可能的實(shí)現(xiàn)方式,其中,所述創(chuàng)建模塊包括:獲取單元,用于獲取所述宿主SO文件包括的節(jié)表;增加單元,用于在所述節(jié)表中增加一個(gè)節(jié)頭信息;創(chuàng)建單元,用于根據(jù)所述節(jié)頭信息,在所述宿主SO文件中創(chuàng)建一個(gè)新的節(jié)。結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例提供了上述第二方面的第二種可能的實(shí)現(xiàn)方式,其中,所述增加單元包括確定子單元和添加子單元;所述創(chuàng)建單元包括定位子單元和創(chuàng)建子單元;所述確定子單元,用于根據(jù)所述待隱藏SO文件,確定節(jié)大小屬性;根據(jù)預(yù)設(shè)增加位置和所述節(jié)表包括的每個(gè)節(jié)頭信息,確定節(jié)偏移屬性;所述添加子單元,用于將所述節(jié)大小屬性和所述節(jié)偏移屬性作為節(jié)頭信息添加在所述節(jié)表中;所述定位子單元,用于在所述宿主SO文件中定位出所述節(jié)偏移屬性所指示的字節(jié)偏移位置;所述創(chuàng)建子單元,用于在所述字節(jié)偏移位置處創(chuàng)建大小為所述節(jié)大小屬性的文件空間,得到一個(gè)新的節(jié)。結(jié)合第二方面,本發(fā)明實(shí)施例提供了上述第二方面的第三種可能的實(shí)現(xiàn)方式,其中,所述裝置還包括:恢復(fù)寫入模塊,用于在根據(jù)所述安裝包運(yùn)行所述應(yīng)用程序時(shí),從所述安裝包中讀取所述宿主SO文件;獲取所述宿主SO文件的節(jié)表;根據(jù)所述節(jié)表包括的節(jié)頭信息,從所述宿主SO文件中讀取出所述待隱藏SO文件,將所述待隱藏SO文件恢復(fù)寫入內(nèi)存中;所述獲取模塊,用于接收用戶提交的應(yīng)用程序?qū)?yīng)的宿主SO文件和待隱藏SO文件;或者,用于獲取應(yīng)用程序包括的每個(gè)SO文件,根據(jù)所述每個(gè)SO文件包括的重要性標(biāo)識,從所述每個(gè)SO文件中確定出宿主SO文件和待隱藏SO文件。在本發(fā)明實(shí)施例提供的方法及裝置中,獲取應(yīng)用程序?qū)?yīng)的宿主SO文件和待隱藏SO文件;在宿主SO文件中創(chuàng)建一個(gè)新的節(jié);將待隱藏SO文件寫入新的節(jié)中;將寫入操作后的宿主SO文件打包至應(yīng)用程序的安裝包中。本發(fā)明將待隱藏SO文件寫入宿主SO文件中,實(shí)現(xiàn)對待隱藏SO文件的隱藏,如此從應(yīng)用程序的安裝包中無法直接得到待隱藏SO文件,提高了待隱藏SO文件的安全性,能夠有效保護(hù)作為商業(yè)秘密的SO文件。為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。附圖說明為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。圖1示出了本發(fā)明實(shí)施例1所提供的一種隱藏SO文件的方法流程圖;圖2示出了本發(fā)明實(shí)施例1所提供的一種宿主SO文件的結(jié)構(gòu)示意圖;圖3示出了本發(fā)明實(shí)施例2所提供的一種隱藏SO文件的結(jié)構(gòu)示意圖;圖4示出了本發(fā)明實(shí)施例2所提供的另一種隱藏SO文件的結(jié)構(gòu)示意圖。具體實(shí)施方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來布置和設(shè)計(jì)。因此,以下對在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍??紤]到相關(guān)技術(shù)中直接將實(shí)現(xiàn)應(yīng)用程序核心功能的SO文件打包在應(yīng)用程序的安裝包中,使得黑客或競爭對手能夠很容易得到實(shí)現(xiàn)核心功能的SO文件?;诖?,本發(fā)明實(shí)施例提供了一種隱藏SO文件的方法及裝置,下面通過實(shí)施例進(jìn)行描述。實(shí)施例1本發(fā)明實(shí)施例提供了一種隱藏SO文件的方法,本發(fā)明實(shí)施例的執(zhí)行主體為終端,在發(fā)布應(yīng)用程序之前,通過本發(fā)明實(shí)施例提供的方法對實(shí)現(xiàn)核心功能的SO文件進(jìn)行隱藏,以提高實(shí)現(xiàn)核心功能的SO文件的安全性。參見圖1,該方法具體包括:步驟101:獲取應(yīng)用程序?qū)?yīng)的宿主SO文件和待隱藏SO文件。SO文件又稱ELF(ExecutableandLinkableFormat,可執(zhí)行與可鏈接格式)文件,可執(zhí)行與可鏈接格式是一種用于二進(jìn)制文件、可執(zhí)行文件、目標(biāo)代碼、共享庫和核心轉(zhuǎn)儲的標(biāo)準(zhǔn)文件格式。應(yīng)用程序中包括多個(gè)可執(zhí)行與可鏈接格式的SO文件,每個(gè)SO文件的重要程度不同,有的SO文件為大部分應(yīng)用程序中都包含的通用的SO文件,這些通用的SO文件的重要性很低。而有些SO文件是與應(yīng)用程序的核心功能相關(guān)的,是應(yīng)用程序區(qū)別于其他應(yīng)用程序的關(guān)鍵所在,這些SO文件的重要性很高,通常被視為商業(yè)秘密。上述宿主SO文件通常為應(yīng)用程序中重要性很低的通用SO文件,待隱藏SO文件為應(yīng)用程序中重要性很高的SO文件,待隱藏SO文件可以為涉及商業(yè)秘密的SO文件。SO文件的重要性可以由開發(fā)應(yīng)用程序的用戶自行決定,用戶從應(yīng)用程序包括的所有SO文件中挑選出重要性最差的SO文件作為宿主SO文件,以及挑選出重要性最高的SO文件作為待隱藏SO文件。用戶將挑選出的宿主SO文件和待隱藏SO文件上傳給終端。終端接收用戶提交的應(yīng)用程序?qū)?yīng)的宿主SO文件和待隱藏SO文件。在本發(fā)明實(shí)施例中,用戶在開發(fā)應(yīng)用程序時(shí),也可以在應(yīng)用程序包括的每個(gè)SO文件中寫入重要性標(biāo)識,可以通過數(shù)值或字母來表示SO文件的重要性標(biāo)識。例如,通過數(shù)值序列1、2、……、n來依次表示應(yīng)用程序包括的每個(gè)SO文件的重要性標(biāo)識,重要性標(biāo)識的數(shù)值越大,則SO文件的重要性越高。也可以通過字母序列A、B、……、Z來依次表示應(yīng)用程序包括的每個(gè)SO文件的重要性標(biāo)識,重要性標(biāo)識的字母在字母表中的位置越靠后,則SO文件的重要性越高。用戶將應(yīng)用程序包括的所有SO文件上傳給終端。終端獲取應(yīng)用程序包括的每個(gè)SO文件,根據(jù)每個(gè)SO文件包括的重要性標(biāo)識,從每個(gè)SO文件中確定出宿主SO文件和待隱藏SO文件。本發(fā)明實(shí)施例中,終端獲取應(yīng)用程序包括的每個(gè)SO文件的重要性標(biāo)識,將重要性標(biāo)識所表示的重要性最差的SO文件確定為宿主SO文件,將重要性標(biāo)識所表示的重要性最高的SO文件確定為待隱藏SO文件。終端獲取到宿主SO文件和待隱藏SO文件后,通過如下步驟102-104的操作將待隱藏SO文件隱藏在宿主SO文件中。步驟102:在宿主SO文件中創(chuàng)建一個(gè)新的節(jié)。SO文件是由文件頭信息、程序頭表(ProgramHeaderTable)、節(jié)表和多個(gè)節(jié)組成。SO文件包括的節(jié)為一段文件空間,每個(gè)節(jié)都是一個(gè)獨(dú)立的數(shù)據(jù)空間,用于存放文件數(shù)據(jù)。SO文件包括的節(jié)有多種類型,如代碼節(jié)、數(shù)據(jù)節(jié)及符號節(jié)等。上述節(jié)表中包括多個(gè)節(jié)頭信息,節(jié)頭信息與SO文件包括的節(jié)一一對應(yīng),節(jié)頭信息中存儲其對應(yīng)的節(jié)的屬性信息。屬性信息包括節(jié)的名稱、節(jié)大小屬性、節(jié)的數(shù)據(jù)屬性及節(jié)偏移屬性等。節(jié)大小屬性表示節(jié)的空間大小。節(jié)的數(shù)據(jù)屬性表示節(jié)中存儲的數(shù)據(jù)的讀取屬性,即存儲的數(shù)據(jù)為只讀數(shù)據(jù)還是可編輯數(shù)據(jù)。節(jié)偏移屬性表示節(jié)在SO文件中的字節(jié)偏移位置,根據(jù)節(jié)偏移屬性可以在SO文件中定位出節(jié)的開始位置。本發(fā)明實(shí)施例中,獲取到宿主SO文件后,獲取宿主SO文件包括的節(jié)表;在節(jié)表中增加一個(gè)節(jié)頭信息;根據(jù)該節(jié)頭信息,在宿主SO文件中創(chuàng)建一個(gè)新的節(jié)。在本發(fā)明實(shí)施例中,通過如下操作在節(jié)表中增加節(jié)頭信息,包括:根據(jù)待隱藏SO文件,確定節(jié)大小屬性;根據(jù)預(yù)設(shè)增加位置和節(jié)表包括的每個(gè)節(jié)頭信息,確定節(jié)偏移屬性;將該節(jié)大小屬性和節(jié)偏移屬性作為節(jié)頭信息添加在節(jié)表中。由于在宿主SO文件中新增加的節(jié)用于盛放待隱藏SO文件,所以本發(fā)明實(shí)施例中,獲取待隱藏SO文件的數(shù)據(jù)大小,將待隱藏SO文件的數(shù)據(jù)大小確定為新增加的節(jié)的節(jié)大小屬性。上述預(yù)設(shè)增加位置為預(yù)先設(shè)置的新增加的節(jié)在宿主SO文件中的位置,如可以預(yù)先設(shè)置新增加的節(jié)在宿主SO文件中第一個(gè)節(jié)之前,或者預(yù)先設(shè)置新增加的節(jié)在宿主SO文件中最后一個(gè)節(jié)之后,或者預(yù)先設(shè)置新增加的節(jié)在宿主SO文件中哪兩個(gè)節(jié)之間。在本發(fā)明實(shí)施例中,節(jié)頭信息中存有節(jié)偏移屬性和節(jié)大小屬性。根據(jù)節(jié)偏移屬性可以得知節(jié)在SO文件中的開始位置,根據(jù)該開始位置和節(jié)大小屬性,可以獲得節(jié)在SO文件中的結(jié)束位置。根據(jù)每個(gè)節(jié)頭信息中的節(jié)偏移屬性和節(jié)大小屬性,可以得知SO文件中每個(gè)節(jié)的開始位置及結(jié)束位置。獲得SO文件中每個(gè)節(jié)的開始位置及結(jié)束位置后,再根據(jù)預(yù)設(shè)增加位置即可確定出新增加的節(jié)在SO文件中的字節(jié)偏移位置,即確定出了新增加的節(jié)的節(jié)偏移屬性。本發(fā)明實(shí)施例中,通過上述方式將確定出的節(jié)大小屬性和節(jié)偏移屬性作為新的節(jié)頭信息添加到節(jié)表中后,還在該新的節(jié)頭信息中增加節(jié)的名稱及數(shù)據(jù)屬性等屬性信息。節(jié)的名稱可以為待隱藏SO文件的名稱,也可以為終端隨機(jī)生成的用于唯一標(biāo)識待隱藏SO文件的字符序列等。由于新增加的節(jié)是用來盛放待隱藏SO文件的,所以只允許從新增加的節(jié)中讀取數(shù)據(jù),不允許修改新增加的節(jié)中的數(shù)據(jù),因此本發(fā)明實(shí)施例中設(shè)置新增加的節(jié)的數(shù)據(jù)屬性為只讀數(shù)據(jù)屬性。通過上述方式在宿主SO文件的節(jié)表中增加一個(gè)新的節(jié)頭信息之后,在該新增加的節(jié)頭信息中的節(jié)偏移屬性所指示的字節(jié)偏移位置處,創(chuàng)建一個(gè)文件空間,該文件空間的大小為該新增加的節(jié)頭信息中的節(jié)大小屬性所指示的大小,該文件空間即為在宿主SO文件中創(chuàng)建的新的節(jié)。步驟103:將待隱藏SO文件寫入新的節(jié)中。通過讀取文件的形式讀取整個(gè)待隱藏SO文件,并將整個(gè)待隱藏SO文件的內(nèi)容寫入到宿主SO文件新增加的節(jié)中。將待隱藏SO文件寫入新增加的節(jié)后,即實(shí)現(xiàn)了將待隱藏SO文件隱藏在宿主SO文件中,相當(dāng)于在宿主SO文件中捆綁了待隱藏SO文件。然后將寫入待隱藏SO文件的宿主SO文件保存到磁盤中。如圖2所示的宿主SO文件的結(jié)構(gòu)示意圖,在寫入待隱藏SO文件后,宿主SO文件中包括文件頭信息、節(jié)表、節(jié)1、節(jié)2和節(jié)3。其中,節(jié)3為新增加的節(jié),節(jié)3中寫入了待隱藏SO文件。步驟104:將寫入操作后的宿主SO文件打包至應(yīng)用程序的安裝包中。從磁盤中獲取寫入待隱藏SO文件的宿主SO文件,將該宿主SO文件與應(yīng)用程序包括的其他SO文件一起打包在應(yīng)用程序的安裝包中。在應(yīng)用程序發(fā)布后,用戶的終端獲得該應(yīng)用程序的安裝包,在根據(jù)安裝包運(yùn)行應(yīng)用程序時(shí),從安裝包中讀取宿主SO文件;獲取宿主SO文件的節(jié)表;根據(jù)節(jié)表包括的節(jié)頭信息,從宿主SO文件中讀取出待隱藏SO文件,將待隱藏SO文件寫入內(nèi)存中。終端從節(jié)表包括的每個(gè)節(jié)頭信息中的名稱屬性,確定出待隱藏SO文件所在的節(jié)對應(yīng)的節(jié)頭信息,根據(jù)確定出的節(jié)頭信息括的節(jié)偏移屬性,從宿主SO文件中定位出待隱藏SO文件所在的節(jié),將定位出的節(jié)的數(shù)據(jù)部分全部讀取出來并寫入內(nèi)存中,如此即恢復(fù)出了待隱藏SO文件。本發(fā)明實(shí)施例是以一個(gè)宿主SO文件和一個(gè)待隱藏SO文件為例進(jìn)行說明的。本發(fā)明實(shí)施例還可以將多個(gè)待隱藏SO文件隱藏在一個(gè)宿主SO文件中,此時(shí)需在宿主SO文件中創(chuàng)建多個(gè)新的節(jié),創(chuàng)建的節(jié)的數(shù)目與待隱藏SO文件的數(shù)目相同,按照本發(fā)明實(shí)施例提供的方法在創(chuàng)建的每個(gè)新的節(jié)中保存一個(gè)待隱藏SO文件。本發(fā)明實(shí)施例還可以將多個(gè)待隱藏SO文件隱藏在多個(gè)宿主SO文件中,每個(gè)宿主SO文件中隱藏一個(gè)或多個(gè)待隱藏SO文件。本發(fā)明實(shí)施例,在普通的SO文件中增加一個(gè)節(jié),然后將需要隱藏的SO文件寫入到普通的SO文件新增加的節(jié)中。然后在應(yīng)用程序發(fā)布后,讀取普通SO文件中新增加的節(jié)的數(shù)據(jù),將讀取的數(shù)據(jù)寫入到終端中,并保存成一個(gè)新的SO文件,應(yīng)用程序使用時(shí)可以去加載這個(gè)新的SO文件。這樣在發(fā)布應(yīng)用程序的安裝包時(shí),從安裝包中打包的SO文件無法直接看到待隱藏SO文件,只有應(yīng)用程序運(yùn)行時(shí),才會重新生成一個(gè)新的待隱藏SO文件來使用。如此提高了待隱藏SO文件的安全性,能夠有效保護(hù)作為商業(yè)秘密的SO文件。在本發(fā)明實(shí)施例中,獲取應(yīng)用程序?qū)?yīng)的宿主SO文件和待隱藏SO文件;在宿主SO文件中創(chuàng)建一個(gè)新的節(jié);將待隱藏SO文件寫入新的節(jié)中;將寫入操作后的宿主SO文件打包至應(yīng)用程序的安裝包中。本發(fā)明將待隱藏SO文件寫入宿主SO文件中,實(shí)現(xiàn)對待隱藏SO文件的隱藏,如此從應(yīng)用程序的安裝包中無法直接得到待隱藏SO文件,提高了待隱藏SO文件的安全性,能夠有效保護(hù)作為商業(yè)秘密的SO文件。實(shí)施例2參見圖3,本發(fā)明實(shí)施例提供了一種隱藏SO文件的裝置,該裝置用于執(zhí)行上述實(shí)施例1提供的隱藏SO文件的方法,該裝置具體包括:獲取模塊201,用于獲取應(yīng)用程序?qū)?yīng)的宿主SO文件和待隱藏SO文件;創(chuàng)建模塊202,用于在宿主SO文件中創(chuàng)建一個(gè)新的節(jié);寫入模塊203,用于將待隱藏SO文件寫入新的節(jié)中;打包模塊204,用于將寫入操作后的宿主SO文件打包至應(yīng)用程序的安裝包中。如圖4所示,上述創(chuàng)建模塊202通過如下獲取單元2021、增加單元2022和創(chuàng)建單元2023在宿主SO文件中創(chuàng)建一個(gè)新的節(jié)。獲取單元2021,用于獲取宿主SO文件包括的節(jié)表;增加單元2022,用于在節(jié)表中增加一個(gè)節(jié)頭信息;創(chuàng)建單元2023,用于根據(jù)節(jié)頭信息,在宿主SO文件中創(chuàng)建一個(gè)新的節(jié)。其中,增加單元2022通過確定子單元和添加子單元在節(jié)表中增加一個(gè)節(jié)頭信息。確定子單元,用于根據(jù)待隱藏SO文件,確定節(jié)大小屬性;根據(jù)預(yù)設(shè)增加位置和節(jié)表包括的每個(gè)節(jié)頭信息,確定節(jié)偏移屬性;添加子單元,用于將節(jié)大小屬性和節(jié)偏移屬性作為節(jié)頭信息添加在節(jié)表中。創(chuàng)建單元2023通過定位子單元和創(chuàng)建子單元在宿主SO文件中創(chuàng)建一個(gè)新的節(jié)。定位子單元,用于在宿主SO文件中定位出節(jié)偏移屬性所指示的字節(jié)偏移位置;創(chuàng)建子單元,用于在字節(jié)偏移位置處創(chuàng)建大小為節(jié)大小屬性的文件空間,得到一個(gè)新的節(jié)。如圖4所示,該裝置還包括:恢復(fù)寫入模塊205,用于在根據(jù)安裝包運(yùn)行應(yīng)用程序時(shí),從安裝包中讀取宿主SO文件;獲取宿主SO文件的節(jié)表;根據(jù)節(jié)表包括的節(jié)頭信息,從宿主SO文件中讀取出待隱藏SO文件,將待隱藏SO文件恢復(fù)寫入內(nèi)存中。在本發(fā)明實(shí)施例中,獲取模塊201,用于接收用戶提交的應(yīng)用程序?qū)?yīng)的宿主SO文件和待隱藏SO文件;或者,用于獲取應(yīng)用程序包括的每個(gè)SO文件,根據(jù)每個(gè)SO文件包括的重要性標(biāo)識,從每個(gè)SO文件中確定出宿主SO文件和待隱藏SO文件。在本發(fā)明實(shí)施例中,獲取應(yīng)用程序?qū)?yīng)的宿主SO文件和待隱藏SO文件;在宿主SO文件中創(chuàng)建一個(gè)新的節(jié);將待隱藏SO文件寫入新的節(jié)中;將寫入操作后的宿主SO文件打包至應(yīng)用程序的安裝包中。本發(fā)明將待隱藏SO文件寫入宿主SO文件中,實(shí)現(xiàn)對待隱藏SO文件的隱藏,如此從應(yīng)用程序的安裝包中無法直接得到待隱藏SO文件,提高了待隱藏SO文件的安全性,能夠有效保護(hù)作為商業(yè)秘密的SO文件。本發(fā)明實(shí)施例所提供的隱藏SO文件的裝置可以為設(shè)備上的特定硬件或者安裝于設(shè)備上的軟件或固件等。本發(fā)明實(shí)施例所提供的裝置,其實(shí)現(xiàn)原理及產(chǎn)生的技術(shù)效果和前述方法實(shí)施例相同,為簡要描述,裝置實(shí)施例部分未提及之處,可參考前述方法實(shí)施例中相應(yīng)內(nèi)容。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,前述描述的系統(tǒng)、裝置和單元的具體工作過程,均可以參考上述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。在本發(fā)明所提供的實(shí)施例中,應(yīng)該理解到,所揭露裝置和方法,可以通過其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,又例如,多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。另外,在本發(fā)明提供的實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲在一個(gè)計(jì)算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲器(RAM,RandomAccessMemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對其進(jìn)行進(jìn)一步定義和解釋,此外,術(shù)語“第一”、“第二”、“第三”等僅用于區(qū)分描述,而不能理解為指示或暗示相對重要性。最后應(yīng)說明的是:以上所述實(shí)施例,僅為本發(fā)明的具體實(shí)施方式,用以說明本發(fā)明的技術(shù)方案,而非對其限制,本發(fā)明的保護(hù)范圍并不局限于此,盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:任何熟悉本
      技術(shù)領(lǐng)域
      :的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),其依然可以對前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改或可輕易想到變化,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改、變化或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明實(shí)施例技術(shù)方案的精神和范圍。都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3 
      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1