国产精品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>

      Elf共享庫保護(hù)方法及其系統(tǒng)的制作方法

      文檔序號(hào):10471374閱讀:452來源:國(guó)知局
      Elf共享庫保護(hù)方法及其系統(tǒng)的制作方法
      【專利摘要】本發(fā)明公開了一種ELF共享庫保護(hù)方法及其系統(tǒng),方法包括:依據(jù)目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)列表構(gòu)建加殼ELF共享庫文件;讀取目標(biāo)ELF共享庫文件至內(nèi)存;對(duì)合法的目標(biāo)ELF共享庫文件進(jìn)行加密處理,得到密文ELF數(shù)據(jù);將所述密文ELF數(shù)據(jù)填充至所述加殼ELF共享庫文件的數(shù)據(jù)段內(nèi)。本發(fā)明可防止動(dòng)態(tài)共享庫被反編譯逆向分析后得到設(shè)計(jì)者的程序設(shè)計(jì)思路或代碼執(zhí)行細(xì)節(jié),提高對(duì)軟件的保護(hù),避免軟件開發(fā)企業(yè)的經(jīng)濟(jì)損失,保護(hù)消費(fèi)者的利益。
      【專利說明】
      ELF共享庫保護(hù)方法及其系統(tǒng)
      技術(shù)領(lǐng)域
      [0001]本發(fā)明涉及計(jì)算機(jī)安全領(lǐng)域,尤其涉及一種ELF共享庫保護(hù)方法及其系統(tǒng)。
      【背景技術(shù)】
      [0002]軟件的防盜版、防修改一直是計(jì)算機(jī)安全領(lǐng)域的一個(gè)重要課題。非法破譯者可以通過反編譯和逆向工程來分析軟件,進(jìn)而發(fā)現(xiàn)軟件的設(shè)計(jì)思路和技術(shù)細(xì)節(jié),這直接給軟件開發(fā)企業(yè)帶來了直接的經(jīng)濟(jì)損失,也間接損害了消費(fèi)者的利益。因此設(shè)計(jì)一套專有、獨(dú)特的軟件保護(hù)方法尤為重要。
      [0003]目前對(duì)Linux中ELF保護(hù)的方法通常是通過嵌入式的方法來進(jìn)行保護(hù)。先在可執(zhí)行文件或動(dòng)態(tài)共享庫里注入一段跳轉(zhuǎn)代碼,系統(tǒng)運(yùn)行該可執(zhí)行文件或動(dòng)態(tài)庫時(shí)先執(zhí)行此部分跳轉(zhuǎn)代碼,然后再根據(jù)跳轉(zhuǎn)代碼指定的地址跳轉(zhuǎn)到真正的有效代碼段部分執(zhí)行。此方法雖然可以隱藏有效代碼段,但并不能很好的防止動(dòng)態(tài)逆向分析。
      [0004]在公開號(hào)為102136053A的專利授權(quán)文件中,提出了一種對(duì)可執(zhí)行文件源代碼保護(hù)的方法,包括以下步驟:獲取需要加殼的目標(biāo)可執(zhí)行鏈接格式ELF文件;提取目標(biāo)ELF文件中的核心部分;所述核心部分包括數(shù)據(jù)段、代碼段、堆棧段及動(dòng)態(tài)鏈接表;創(chuàng)建新的ELF文件框架;將目標(biāo)文件的核心部分和加殼部分整合,將整合結(jié)果按ELF結(jié)構(gòu)填入到新的ELF文件框架中;完成重構(gòu)新的ELF文件并設(shè)置其屬性為可執(zhí)行。該方法主要通過對(duì)核心代碼進(jìn)行加殼來提高反動(dòng)態(tài)跟蹤能力,但該方法只有一重保護(hù),安全性較低。

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

      [0005]本發(fā)明所要解決的技術(shù)問題是:提供一種ELF共享庫保護(hù)方法及其系統(tǒng),有效防止動(dòng)態(tài)共享庫被反編譯逆向分析,提高對(duì)軟件的保護(hù)。
      [0006]為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:一種ELF共享庫保護(hù)方法,包括:
      [0007]依據(jù)目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)列表構(gòu)建加殼ELF共享庫文件;
      [0008]讀取目標(biāo)ELF共享庫文件至內(nèi)存;
      [0009]對(duì)合法的目標(biāo)ELF共享庫文件進(jìn)行加密處理,得到密文ELF數(shù)據(jù);
      [0010]將所述密文ELF數(shù)據(jù)填充至所述加殼ELF共享庫文件的數(shù)據(jù)段內(nèi)。
      [0011 ]本發(fā)明還涉及一種ELF共享庫保護(hù)系統(tǒng),包括:
      [0012]構(gòu)建模塊,用于依據(jù)目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)列表構(gòu)建加殼ELF共享庫文件;
      [0013]第一讀取模塊,用于讀取目標(biāo)ELF共享庫文件至內(nèi)存;
      [0014]加密模塊,用于對(duì)合法的目標(biāo)ELF共享庫文件進(jìn)行加密處理,得到密文ELF數(shù)據(jù);
      [0015]填充模塊,用于將所述密文ELF數(shù)據(jù)填充至所述加殼ELF共享庫文件的數(shù)據(jù)段內(nèi)。
      [0016]本發(fā)明的有益效果在于:對(duì)目標(biāo)ELF共享庫文件進(jìn)行了加密操作并將密文ELF數(shù)據(jù)填充至加殼ELF共享庫文件中,實(shí)現(xiàn)了雙重保護(hù);對(duì)外發(fā)布的加殼ELF共享庫文件中只包含目標(biāo)ELF共享庫文件的密文ELF數(shù)據(jù),用戶面向的對(duì)象都是加殼ELF共享庫,其目標(biāo)ELF共享庫是加密隱藏不可見的,反編譯逆向后也無法看到目標(biāo)ELF共享庫文件的實(shí)際代碼流程,可防止動(dòng)態(tài)共享庫被反編譯逆向分析后得到設(shè)計(jì)者的程序設(shè)計(jì)思路或代碼執(zhí)行細(xì)節(jié),提高對(duì)軟件的保護(hù),避免軟件開發(fā)企業(yè)的經(jīng)濟(jì)損失,保護(hù)消費(fèi)者的利益。
      【附圖說明】
      [0017]圖1為本發(fā)明一種ELF共享庫保護(hù)方法的流程圖;
      [0018]圖2為本發(fā)明實(shí)施例一的方法流程圖;
      [0019]圖3為本發(fā)明一種ELF共享庫保護(hù)系統(tǒng)的結(jié)構(gòu)示意圖;
      [0020]圖4為本發(fā)明實(shí)施例二的系統(tǒng)結(jié)構(gòu)示意圖。
      [0021]標(biāo)號(hào)說明:
      [0022]1、構(gòu)建模塊;2、第一讀取模塊;3、第一判斷模塊;4、加密模塊;5、填充模塊;6、第二讀取模塊;7、解密模塊;8、第二判斷模塊;9、獲取模塊;
      [0023]91、獲取單元;92、調(diào)用單元。
      【具體實(shí)施方式】
      [0024]為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖詳予說明。
      [0025]本發(fā)明最關(guān)鍵的構(gòu)思在于:對(duì)目標(biāo)ELF共享庫文件進(jìn)行加密處理,進(jìn)行一重保護(hù),再以加殼ELF共享庫文件的方式對(duì)外發(fā)布,實(shí)現(xiàn)對(duì)共享庫文件的二重保護(hù)。
      [0026]請(qǐng)參閱圖1,一種ELF共享庫保護(hù)方法,包括:
      [0027]依據(jù)目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)列表構(gòu)建加殼ELF共享庫文件;
      [0028]讀取目標(biāo)ELF共享庫文件至內(nèi)存;
      [0029]對(duì)合法的目標(biāo)ELF共享庫文件進(jìn)行加密處理,得到密文ELF數(shù)據(jù);
      [0030]將所述密文ELF數(shù)據(jù)填充至所述加殼ELF共享庫文件的數(shù)據(jù)段內(nèi)。
      [0031]從上述描述可知,本發(fā)明的有益效果在于:可有效隱藏代碼,目標(biāo)ELF共享庫是加密隱藏不可見的,可防止動(dòng)態(tài)共享庫被反編譯逆向分析后得到設(shè)計(jì)者的程序設(shè)計(jì)思路或代碼執(zhí)行細(xì)節(jié),提高對(duì)軟件的保護(hù),避免軟件開發(fā)企業(yè)的經(jīng)濟(jì)損失,保護(hù)消費(fèi)者的利益。
      [0032]進(jìn)一步地,所述“將所述密文ELF數(shù)據(jù)填充至所述加殼ELF共享庫文件的數(shù)據(jù)段內(nèi)”之后,進(jìn)一步包括:
      [0033]讀取所述加殼ELF共享庫文件內(nèi)的密文ELF數(shù)據(jù)至內(nèi)存;
      [0034]對(duì)所述密文ELF數(shù)據(jù)進(jìn)行解密處理,得到所述目標(biāo)ELF共享庫文件;
      [0035]根據(jù)所述目標(biāo)ELF共享庫文件的格式,獲取所述目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)。
      [0036]進(jìn)一步地,所述加殼ELF共享庫文件包括關(guān)聯(lián)目標(biāo)ELF共享庫文件中的目標(biāo)函數(shù)的代理函數(shù)。
      [0037]進(jìn)一步地,所述“根據(jù)所述目標(biāo)ELF共享庫文件的格式,獲取所述目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)”具體為:
      [0038]根據(jù)所述目標(biāo)ELF共享庫文件的段頭表和函數(shù)映射表,獲取所述目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)的運(yùn)行地址;
      [0039]所述加殼ELF共享庫文件的代理函數(shù)根據(jù)所述運(yùn)行地址,調(diào)用所述目標(biāo)函數(shù)。
      [0040]由上述描述可知,當(dāng)調(diào)用方需調(diào)用目標(biāo)函數(shù)時(shí),需要先將加殼ELF共享庫文件中的密文ELF數(shù)據(jù)解密為目標(biāo)ELF共享庫文件,獲取目標(biāo)函數(shù)的運(yùn)行地址,然后由加殼ELF共享庫文件中的代理函數(shù)根據(jù)運(yùn)行地址,才能調(diào)用目標(biāo)函數(shù),可有效地防止了目標(biāo)ELF共享庫被反編譯逆向分析出程序設(shè)計(jì)者的代碼邏輯,提高軟件的安全性;同時(shí),整個(gè)過程都在內(nèi)存中進(jìn)行,目標(biāo)函數(shù)調(diào)用完畢后即釋放內(nèi)存,使得目標(biāo)ELF共享庫文件不會(huì)在實(shí)際存儲(chǔ)器中留有任何痕跡,進(jìn)一步提高了軟件的安全性。
      [0041 ]進(jìn)一步地,所述“讀取目標(biāo)ELF共享庫文件至內(nèi)存”之后,進(jìn)一步包括:
      [0042]判斷所述目標(biāo)ELF共享庫文件是否合法。
      [0043]由上述描述可知,通過對(duì)合法性進(jìn)行判斷,保證目標(biāo)ELF共享庫文件是安全的,防止感染病毒,提高了系統(tǒng)的安全性。
      [0044]進(jìn)一步地,所述“對(duì)所述密文ELF數(shù)據(jù)進(jìn)行解密處理,得到所述目標(biāo)ELF共享庫文件”之后,進(jìn)一步包括:
      [0045]判斷所述目標(biāo)ELF共享庫文件是否合法。
      [0046]由上述描述可知,在解密完再進(jìn)行一次合法性的判斷,可防止在獲取加殼ELF共享庫文件前密文ELF共享庫數(shù)據(jù)被修改,進(jìn)一步提高了系統(tǒng)的安全性。
      [0047]請(qǐng)參照?qǐng)D3,本發(fā)明還提出一種ELF共享庫保護(hù)系統(tǒng),包括:
      [0048]構(gòu)建模塊,用于依據(jù)目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)列表構(gòu)建加殼ELF共享庫文件;
      [0049]第一讀取模塊,用于讀取目標(biāo)ELF共享庫文件至內(nèi)存;
      [0050]加密模塊,用于對(duì)合法的目標(biāo)ELF共享庫文件進(jìn)行加密處理,得到密文ELF數(shù)據(jù);[0051 ]填充模塊,用于將所述密文ELF數(shù)據(jù)填充至所述加殼ELF共享庫文件的數(shù)據(jù)段內(nèi)。
      [0052]進(jìn)一步地,還包括:
      [0053]第二讀取模塊,用于讀取所述加殼ELF共享庫文件內(nèi)的密文ELF數(shù)據(jù)至內(nèi)存;
      [0054]解密模塊,用于對(duì)所述密文ELF數(shù)據(jù)進(jìn)行解密處理,得到所述目標(biāo)ELF共享庫文件;
      [0055]獲取模塊,用于根據(jù)所述目標(biāo)ELF共享庫文件的格式,獲取所述目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)。
      [0056]進(jìn)一步地,所述加殼ELF共享庫文件包括關(guān)聯(lián)目標(biāo)ELF共享庫文件中的目標(biāo)函數(shù)的代理函數(shù)。
      [0057]進(jìn)一步地,所述獲取模塊包括:
      [0058]獲取單元,用于根據(jù)所述目標(biāo)ELF共享庫文件的段頭表和函數(shù)映射表,獲取所述目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)的運(yùn)行地址;
      [0059]調(diào)用單元,用于所述加殼ELF共享庫文件的代理函數(shù)根據(jù)所述運(yùn)行地址,調(diào)用所述目標(biāo)函數(shù)。
      [0060]實(shí)施例一
      [0061]請(qǐng)參照?qǐng)D2,本發(fā)明的實(shí)施例一為一種ELF共享庫保護(hù)方法,包括如下步驟:
      [0062]S1:依據(jù)目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)列表構(gòu)建加殼ELF共享庫文件,所述加殼ELF共享庫文件包括關(guān)聯(lián)目標(biāo)ELF共享庫文件中的目標(biāo)函數(shù)的代理函數(shù);具體是根據(jù)目標(biāo)ELF共享庫文件拋出的可供調(diào)用的函數(shù)列表,即目標(biāo)函數(shù)列表,在加殼ELF共享庫文件中實(shí)現(xiàn)代理函數(shù),調(diào)用方,即第三方調(diào)用者通過調(diào)用代理函數(shù)來完成目標(biāo)函數(shù)的調(diào)用。例如,在目標(biāo)ELF共享庫文件內(nèi)有目標(biāo)函數(shù)target_funcl(),則在加殼ELF共享庫文件內(nèi)實(shí)現(xiàn)代理函數(shù)proxy_funcl (),在代理函數(shù)proxy_funcl ()內(nèi)部完成對(duì)目標(biāo)函數(shù)target_funci ()的調(diào)用。優(yōu)選地,所述加殼ELF共享庫文件還包括初始化函數(shù),可在初始化函數(shù)中完成下述的加密運(yùn)算、解密運(yùn)算和定位目標(biāo)函數(shù)運(yùn)行地址的操作。
      [0063]S2:讀取目標(biāo)ELF共享庫文件至內(nèi)存;在加殼ELF共享庫文件的數(shù)據(jù)段內(nèi)開辟一定大小的臨時(shí)數(shù)據(jù)空間,將目標(biāo)ELF共享庫文件的全部數(shù)據(jù)讀取到所述臨時(shí)數(shù)據(jù)空間中。
      [0064]S3:判斷所述目標(biāo)ELF共享庫文件是否合法,若是,則執(zhí)行步驟S4,若否,則結(jié)束流程;優(yōu)選地,可根據(jù)目標(biāo)ELF共享庫文件的格式判斷合法性,因?yàn)槟繕?biāo)ELF共享庫文件的文件頭指明了該目標(biāo)ELF共享庫文件的類型、文件運(yùn)行的機(jī)器平臺(tái)、體系結(jié)構(gòu)、大小等,可通過解析其文件頭來判斷是否合法。
      [0065]S4:對(duì)合法的所述目標(biāo)ELF共享庫文件進(jìn)行加密處理,得到密文ELF數(shù)據(jù);加密算法可根據(jù)實(shí)際需求,選擇對(duì)稱加密算法或非對(duì)稱加密算法;對(duì)稱加密算法是使用單鑰密碼系統(tǒng)的加密方法,加密和解密使用同一個(gè)秘鑰,加解密速度快,常用的有DES、3DES等,和非對(duì)稱加密算法相比對(duì)稱加密算法更容易被破解;非對(duì)稱加解密算法需要2個(gè)秘鑰,使用公鑰加密,私鑰解密,公私鑰分開保存,與對(duì)稱加密算法相比非對(duì)稱加密算法的安全性更好,但加解密速度更慢,常用的有RSA、Elgamal等。優(yōu)選地,在初始化函數(shù)中進(jìn)行加密運(yùn)算。
      [0066]S5:將所述密文ELF數(shù)據(jù)填充至所述加殼ELF共享庫文件的數(shù)據(jù)段內(nèi);在加殼ELF共享庫文件的數(shù)據(jù)段內(nèi)開辟一定大小的數(shù)據(jù)空間,將密文ELF數(shù)據(jù)填充到該數(shù)據(jù)空間里??蛇x地,得到密文ELF數(shù)據(jù)后或密文ELF數(shù)據(jù)填充完后,即可釋放步驟S2中的臨時(shí)數(shù)據(jù)空間,即在加殼ELF共享庫文件的數(shù)據(jù)段中刪除目標(biāo)ELF共享庫文件,只留有密文ELF數(shù)據(jù)。
      [0067]S6:調(diào)用方獲取所述加殼ELF共享庫文件;調(diào)用方調(diào)用加殼ELF共享庫文件實(shí)現(xiàn)對(duì)目標(biāo)ELF共享庫文件的調(diào)用,所述加殼ELF共享庫文件包括初始化函數(shù)、代理函數(shù)和密文ELF數(shù)據(jù)。下述步驟闡述調(diào)用方通過調(diào)用加殼ELF共享庫文件實(shí)現(xiàn)對(duì)目標(biāo)ELF共享庫文件中的目標(biāo)函數(shù)的調(diào)用。
      [0068]S7:讀取所述加殼ELF共享庫文件內(nèi)的密文ELF數(shù)據(jù)至內(nèi)存。
      [0069]S8:對(duì)所述密文ELF數(shù)據(jù)進(jìn)行解密處理,在內(nèi)存中得到所述目標(biāo)ELF共享庫文件;進(jìn)行該步驟的解密運(yùn)算與步驟S4中的加密運(yùn)算相對(duì)應(yīng)。優(yōu)選地,在初始化函數(shù)中進(jìn)行解密運(yùn)笪并ο
      [0070]S9:判斷所述目標(biāo)ELF共享庫文件是否合法,若是,則執(zhí)行步驟SlO,若否,則結(jié)束流程。該步驟的判斷依據(jù)與步驟S3—致。
      [0071 ] SlO:根據(jù)所述目標(biāo)ELF共享庫文件的格式,獲取所述目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)的運(yùn)行地址;目標(biāo)函數(shù)的運(yùn)行地址可根據(jù)目標(biāo)ELF共享庫文件的段頭表和函數(shù)映射表獲取。優(yōu)選地,該步驟也在初始化函數(shù)中完成。
      [0072]Sll:所述加殼ELF共享庫文件的代理函數(shù)根據(jù)所述運(yùn)行地址,調(diào)用所述目標(biāo)函數(shù)。
      [0073]S12:調(diào)用完畢后,釋放上述步驟申請(qǐng)的所有內(nèi)存空間。
      [0074]在本實(shí)施例中,無論是共享庫的發(fā)布、存儲(chǔ)或加載運(yùn)行過程,用戶面向的對(duì)象都是加殼ELF共享庫,其目標(biāo)ELF共享庫是加密隱藏不可見的,且整個(gè)過程是在內(nèi)存中運(yùn)行,程序運(yùn)行完畢后內(nèi)存空間即釋放,使得目標(biāo)共享庫不會(huì)在實(shí)際存儲(chǔ)器中留有任何的痕跡,該方法有效地防止了目標(biāo)ELF共享庫被反編譯逆向分析出程序設(shè)計(jì)者的代碼邏輯。
      [0075]實(shí)施例二
      [0076]請(qǐng)參照?qǐng)D4,本實(shí)施例為對(duì)應(yīng)上述方法的一種ELF共享庫保護(hù)系統(tǒng),包括:
      [0077]構(gòu)建模塊I,用于依據(jù)目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)列表構(gòu)建加殼ELF共享庫文件;
      [0078]第一讀取模塊2,用于讀取目標(biāo)ELF共享庫文件至內(nèi)存;
      [0079]第一判斷模塊3,用于判斷所述目標(biāo)ELF共享庫文件是否合法,得到第一判斷結(jié)果;
      [0080]加密模塊4,用于若第一判斷結(jié)果為是,則對(duì)所述目標(biāo)ELF共享庫文件進(jìn)行加密處理,得到密文ELF數(shù)據(jù);
      [0081 ]填充模塊5,用于將所述密文ELF數(shù)據(jù)填充至所述加殼ELF共享庫文件的數(shù)據(jù)段內(nèi);
      [0082]第二讀取模塊6,用于讀取所述加殼ELF共享庫文件內(nèi)的密文ELF數(shù)據(jù)至內(nèi)存;
      [0083]解密模塊7,用于對(duì)所述密文ELF數(shù)據(jù)進(jìn)行解密處理,得到所述目標(biāo)ELF共享庫文件;
      [0084]第二判斷模塊8,用于判斷所述目標(biāo)ELF共享庫文件是否合法,得到第二判斷結(jié)果;
      [0085]獲取模塊9,用于若所述第二判斷結(jié)果為是,則根據(jù)所述目標(biāo)ELF共享庫文件的格式,獲取所述目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)。
      [0086]所述獲取模塊9包括:
      [0087]獲取單元91,用于根據(jù)所述目標(biāo)ELF共享庫文件的段頭表和函數(shù)映射表,獲取所述目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)的運(yùn)行地址;
      [0088]調(diào)用單元92,用于所述加殼ELF共享庫文件的代理函數(shù)根據(jù)所述運(yùn)行地址,調(diào)用所述目標(biāo)函數(shù)。
      [0089]綜上所述,本發(fā)明提供的一種ELF共享庫保護(hù)方法及其系統(tǒng),對(duì)目標(biāo)ELF共享庫文件進(jìn)行了加密操作并將密文ELF數(shù)據(jù)填充至加殼ELF共享庫文件中,實(shí)現(xiàn)了雙重保護(hù);對(duì)外發(fā)布的加殼ELF共享庫文件中只包含目標(biāo)ELF共享庫文件的密文ELF數(shù)據(jù),用戶面向的對(duì)象都是加殼ELF共享庫,其目標(biāo)ELF共享庫是加密隱藏不可見的,反編譯逆向后也無法看到目標(biāo)ELF共享庫文件的實(shí)際代碼流程,可防止動(dòng)態(tài)共享庫被反編譯逆向分析后得到設(shè)計(jì)者的程序設(shè)計(jì)思路或代碼執(zhí)行細(xì)節(jié),提高對(duì)軟件的保護(hù),避免軟件開發(fā)企業(yè)的經(jīng)濟(jì)損失,保護(hù)消費(fèi)者的利益;同時(shí),整個(gè)過程都在內(nèi)存中進(jìn)行,目標(biāo)函數(shù)調(diào)用完畢后即釋放內(nèi)存,使得目標(biāo)ELF共享庫文件不會(huì)在實(shí)際存儲(chǔ)器中留有任何痕跡,進(jìn)一步提高了軟件的安全性;在加密前和解密后均對(duì)目標(biāo)ELF共享庫文件進(jìn)行合法性的判斷,保證了系統(tǒng)的安全性。
      [0090]以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等同變換,或直接或間接運(yùn)用在相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
      【主權(quán)項(xiàng)】
      1.一種ELF共享庫保護(hù)方法,其特征在于,包括: 依據(jù)目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)列表構(gòu)建加殼ELF共享庫文件; 讀取目標(biāo)ELF共享庫文件至內(nèi)存; 對(duì)合法的目標(biāo)ELF共享庫文件進(jìn)行加密處理,得到密文ELF數(shù)據(jù); 將所述密文ELF數(shù)據(jù)填充至所述加殼ELF共享庫文件的數(shù)據(jù)段內(nèi)。2.根據(jù)權(quán)利要求1所述的ELF共享庫保護(hù)方法,其特征在于,所述“將所述密文ELF數(shù)據(jù)填充至所述加殼ELF共享庫文件的數(shù)據(jù)段內(nèi)”之后,進(jìn)一步包括: 讀取所述加殼ELF共享庫文件內(nèi)的密文ELF數(shù)據(jù)至內(nèi)存; 對(duì)所述密文ELF數(shù)據(jù)進(jìn)行解密處理,得到所述目標(biāo)ELF共享庫文件; 根據(jù)所述目標(biāo)ELF共享庫文件的格式,獲取所述目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)。3.根據(jù)權(quán)利要求2所述的ELF共享庫保護(hù)方法,其特征在于,所述加殼ELF共享庫文件包括關(guān)聯(lián)目標(biāo)ELF共享庫文件中的目標(biāo)函數(shù)的代理函數(shù)。4.根據(jù)權(quán)利要求3所述的ELF共享庫保護(hù)方法,其特征在于,所述“根據(jù)所述目標(biāo)ELF共享庫文件的格式,獲取所述目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)”具體為: 根據(jù)所述目標(biāo)ELF共享庫文件的段頭表和函數(shù)映射表,獲取所述目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)的運(yùn)行地址; 所述加殼ELF共享庫文件的代理函數(shù)根據(jù)所述運(yùn)行地址,調(diào)用所述目標(biāo)函數(shù)。5.根據(jù)權(quán)利要求1所述的ELF共享庫保護(hù)方法,其特征在于,所述“讀取目標(biāo)ELF共享庫文件至內(nèi)存”之后,進(jìn)一步包括: 判斷所述目標(biāo)ELF共享庫文件是否合法。6.根據(jù)權(quán)利要求2所述的ELF共享庫保護(hù)方法,其特征在于,所述“對(duì)所述密文ELF數(shù)據(jù)進(jìn)行解密處理,得到所述目標(biāo)ELF共享庫文件”之后,進(jìn)一步包括: 判斷所述目標(biāo)ELF共享庫文件是否合法。7.一種ELF共享庫保護(hù)系統(tǒng),其特征在于,包括: 構(gòu)建模塊,用于依據(jù)目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)列表構(gòu)建加殼ELF共享庫文件; 第一讀取模塊,用于讀取目標(biāo)ELF共享庫文件至內(nèi)存; 加密模塊,用于對(duì)合法的目標(biāo)ELF共享庫文件進(jìn)行加密處理,得到密文ELF數(shù)據(jù); 填充模塊,用于將所述密文ELF數(shù)據(jù)填充至所述加殼ELF共享庫文件的數(shù)據(jù)段內(nèi)。8.根據(jù)權(quán)利要求7所述的ELF共享庫保護(hù)系統(tǒng),其特征在于,還包括: 第二讀取模塊,用于讀取所述加殼ELF共享庫文件內(nèi)的密文ELF數(shù)據(jù)至內(nèi)存; 解密模塊,用于對(duì)所述密文ELF數(shù)據(jù)進(jìn)行解密處理,得到所述目標(biāo)ELF共享庫文件; 獲取模塊,用于根據(jù)所述目標(biāo)ELF共享庫文件的格式,獲取所述目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)。9.根據(jù)權(quán)利要求8所述的ELF共享庫保護(hù)系統(tǒng),其特征在于,所述加殼ELF共享庫文件包括關(guān)聯(lián)目標(biāo)ELF共享庫文件中的目標(biāo)函數(shù)的代理函數(shù)。10.根據(jù)權(quán)利要求9所述的ELF共享庫保護(hù)系統(tǒng),其特征在于,所述獲取模塊包括: 獲取單元,用于根據(jù)所述目標(biāo)ELF共享庫文件的段頭表和函數(shù)映射表,獲取所述目標(biāo)ELF共享庫文件的目標(biāo)函數(shù)的運(yùn)行地址; 調(diào)用單元,用于所述加殼ELF共享庫文件的代理函數(shù)根據(jù)所述運(yùn)行地址,調(diào)用所述目標(biāo) bO Y>< (rFj
      【文檔編號(hào)】G06F21/14GK105825087SQ201610150057
      【公開日】2016年8月3日
      【申請(qǐng)日】2016年3月16日
      【發(fā)明人】劉禮建, 吳衛(wèi)東, 柯婷
      【申請(qǐng)人】福建聯(lián)迪商用設(shè)備有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1