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

      防止應(yīng)用程序反編譯的系統(tǒng)及其方法

      文檔序號:8922848閱讀:316來源:國知局
      防止應(yīng)用程序反編譯的系統(tǒng)及其方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種防止應(yīng)用程序反編譯領(lǐng)域,特別是涉及一種基于網(wǎng)絡(luò)的防止應(yīng)用程序反編譯的系統(tǒng)及其方法。
      【背景技術(shù)】
      [0002]安卓(Android)應(yīng)用程序的上層是使用Java語言編寫的,而現(xiàn)有的Java語言是一種跨平臺的、解釋型的語言。Java編譯工具將Java源代碼編譯成為Java字節(jié)碼文件,由Java虛擬機(jī)負(fù)責(zé)對Java字節(jié)碼文件進(jìn)行解釋執(zhí)行。與本地目標(biāo)代碼不同,Java字節(jié)碼文件中仍然保留了方法名稱、變量名稱,并且通過這些名稱來訪問變量和方法,這些符號往往帶有許多語義信息。因此,對Java字節(jié)碼文件進(jìn)行反編譯就顯得比較容易。有許多Java的反編譯工具都能夠從Java字節(jié)碼文件生成高質(zhì)量的源代碼。
      [0003]為阻止對Java字節(jié)碼文件進(jìn)行反編譯,業(yè)界的做法有多種,不同的方案如下所示:
      [0004]方案1:主要是通過將定義的類、變量、方法和包的名字改為無意義的字符串、使用非法的字符代替變量符號和在軟件中添加一些無關(guān)的指令或永遠(yuǎn)執(zhí)行不到的指令等手段來增加反編譯和對反編譯后源代碼閱讀的難度。但這種方案并不能真正阻止反編譯,而且混淆都有一定規(guī)律可尋。
      [0005]方案2:是將Java程序像C/C++程序一樣編譯成本機(jī)可執(zhí)行的二進(jìn)制代碼。但是這樣做使得Java程序失去其跨平臺的特性,而且這種技術(shù)目前并不十分成熟,因此不適用于大型應(yīng)用程序。
      [0006]方案3:首先將Java字節(jié)碼文件進(jìn)行加密處理,然后自已編寫一個Java類裝載器在Java字節(jié)碼文件裝載時再進(jìn)行解密處理。這種方案的缺點(diǎn)在于雖然經(jīng)過加密的Java字節(jié)碼文件無法被反編譯,但自定義的類加載器本身卻不能防止被反編譯,因此,加密過的Java字節(jié)碼文件仍然是不安全的。
      [0007]因此,有必要提出一種克服現(xiàn)有技術(shù)種種缺失的防止應(yīng)用程序反編譯的系統(tǒng)及其方法,以切實(shí)有效地防止應(yīng)用程序被反編譯的問題。

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

      [0008]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種防止應(yīng)用程序反編譯的系統(tǒng)及其方法,以切實(shí)有效地防止應(yīng)用程序被反編譯的問題。
      [0009]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種防止應(yīng)用程序反編譯的系統(tǒng),其應(yīng)用于基于網(wǎng)絡(luò)的服務(wù)器與智能終端中,其特征在于,該防止應(yīng)用程序反編譯的系統(tǒng)包括:選擇模塊,提供一供選擇作為文件保護(hù)對象的多種不同類型的文件的源程序安裝包,其中,定義被選定為文件保護(hù)對象的至少一文件為受保護(hù)文件,在選定受保護(hù)文件后,產(chǎn)生一編譯指令;編譯模塊,用以對該源程序安裝包執(zhí)行編譯,以產(chǎn)生一應(yīng)用程序安裝包,其中,在編譯過程中,將該受保護(hù)文件編譯生成兩種不同類型的目標(biāo)文件,其中一種類型的目標(biāo)文件是真正與該受保護(hù)文件相關(guān)的目標(biāo)文件,定義為真目標(biāo)文件,另一種類型的目標(biāo)文件是與真目標(biāo)文件的文件大小相同、但與該受保護(hù)文件不相關(guān)的目標(biāo)文件,定義為假目標(biāo)文件,而編譯過程中,該應(yīng)用程序安裝包只包含假目標(biāo)文件,真目標(biāo)文件不包含于該應(yīng)用程序安裝包中,只存儲在服務(wù)器端;發(fā)布模塊,用以將編譯生成的應(yīng)用程序安裝包通過網(wǎng)絡(luò)予以發(fā)布,以供智能終端通過網(wǎng)絡(luò)下載使用;以及授權(quán)模塊,用以在智能終端通過網(wǎng)絡(luò)下載所發(fā)布的應(yīng)用程序安裝包并執(zhí)行安裝時,發(fā)送一授權(quán)需求信息至智能終端,要求智能終端提供一唯一標(biāo)識符信息,并在得到智能終端所提供的唯一標(biāo)識符信息后,將受保護(hù)文件的真目標(biāo)文件加載到智能終端的內(nèi)存中,并根據(jù)所提供的唯一標(biāo)識符信息,生成只適用于該智能終端的對應(yīng)該唯一標(biāo)識符信息的應(yīng)用程序,安裝完成后,清除釋放該智能終端的內(nèi)存中的真目標(biāo)文件,而當(dāng)智能終端需要再次使用所安裝的應(yīng)用程序時,則再次發(fā)送一授權(quán)需求信息至智能終端,要求智能終端提供該唯一標(biāo)識符信息,并在得到智能終端所提供的唯一標(biāo)識符信息后,授權(quán)該智能終端運(yùn)行所安裝的應(yīng)用程序。
      [0010]同時,本發(fā)明還提供一種防止應(yīng)用程序反編譯的方法,其應(yīng)用于基于網(wǎng)絡(luò)的服務(wù)器與智能終端中,其特征在于,該防止應(yīng)用程序反編譯的方法包括:1)在服務(wù)器端,提供一供選擇作為文件保護(hù)對象的多種不同類型的文件的源程序安裝包,其中,定義被選定為文件保護(hù)對象的至少一文件為受保護(hù)文件,在選定受保護(hù)文件后,產(chǎn)生一編譯指令;2)在服務(wù)器端,對該源程序安裝包執(zhí)行編譯,以產(chǎn)生一應(yīng)用程序安裝包,其中,在編譯過程中,將該受保護(hù)文件編譯生成兩種不同類型的目標(biāo)文件,其中一種類型的目標(biāo)文件是真正與該受保護(hù)文件相關(guān)的目標(biāo)文件,定義為真目標(biāo)文件,另一種類型的目標(biāo)文件是與真目標(biāo)文件的文件大小相同、但與該受保護(hù)文件不相關(guān)的目標(biāo)文件,定義為假目標(biāo)文件,而編譯過程中,該應(yīng)用程序安裝包只包含假目標(biāo)文件,真目標(biāo)文件不包含于該應(yīng)用程序安裝包中,只存儲在服務(wù)器端;3)在服務(wù)器端,將編譯生成的應(yīng)用程序安裝包通過網(wǎng)絡(luò)予以發(fā)布,以供智能終端通過網(wǎng)絡(luò)下載使用;4)在智能終端,通過網(wǎng)絡(luò)下載所發(fā)布的應(yīng)用程序安裝包后,在執(zhí)行安裝時,通過網(wǎng)絡(luò)向服務(wù)器發(fā)送一唯一標(biāo)識符信息,以請求安裝的云授權(quán);5)在服務(wù)器端,響應(yīng)該智能終端的安裝云授權(quán)的請求,將受保護(hù)文件的真目標(biāo)文件加載到智能終端的內(nèi)存中,并根據(jù)所發(fā)送的唯一標(biāo)識符信息,生成只適用于該智能終端的對應(yīng)該唯一標(biāo)識符信息的應(yīng)用程序,安裝完成后,清除釋放該智能終端的內(nèi)存中的真目標(biāo)文件;6)在智能終端,在需要運(yùn)行使用所安裝的應(yīng)用程序時,通過網(wǎng)絡(luò)向服務(wù)器發(fā)送一唯一標(biāo)識符信息,以請求運(yùn)行的云授權(quán);7)在服務(wù)器端,根據(jù)所發(fā)送的唯一標(biāo)識符信息,通過網(wǎng)絡(luò)響應(yīng)該智能終端的運(yùn)行云授權(quán)的請求;以及8)在智能終端,得到該服務(wù)器的響應(yīng),即正常運(yùn)行使用該應(yīng)用程序。具體而言,上述步驟8)進(jìn)一步包括:當(dāng)該智能終端關(guān)機(jī)或者退出該應(yīng)用程序后,該服務(wù)器響應(yīng)的運(yùn)行云授權(quán)立即失效,下次需要運(yùn)行使用該應(yīng)用程序時,需重新提供唯一標(biāo)識符信息以得到新的運(yùn)行云授權(quán)。
      [0011]優(yōu)選地,上述受保護(hù)文件為java類文件、xml布局文件、資源文件、素材、庫文件以及dex文件的其中一者。上述唯一標(biāo)識符信息可例如為IMEI號(Internat1nalMobile Equipment Identity ;國際移動臺設(shè)備識別碼)、IMSI 號(Internat1nal MobileSubscriber Identity ;國際移動客戶識別碼)、智能終端所使用的軟件版本號或者智能終端型號。該智能終端可例如為智能手機(jī)或者智能平板電腦等,但不以此為限。上述應(yīng)用程序可例如為Android程序。
      [0012]如上所述,本發(fā)明提出一種比較簡單的管理保護(hù)例如Android程序的應(yīng)用程序不會被反編譯的系統(tǒng)及其方法,對Android系統(tǒng)中應(yīng)用程序的運(yùn)行機(jī)制,進(jìn)行了進(jìn)一步安全化處理,引入云加載,云保護(hù)機(jī)制在Android系統(tǒng)中,將重要的程序數(shù)據(jù)選作受保護(hù)文件在打包發(fā)布時不包含在發(fā)布包中;從操作系統(tǒng)層面上,程序安裝運(yùn)行時要求需要向服務(wù)器請求云授權(quán),是否繼續(xù),等到服務(wù)器響應(yīng)后才能繼續(xù)運(yùn)行程序,使用者通過瀏覽器請求程序運(yùn)行云授權(quán),請求信息中包含MEI號、MSI號、軟件版本或智能終端型號等唯一標(biāo)識符信息,服務(wù)器根據(jù)唯一標(biāo)識符信息將受保護(hù)文件的真目標(biāo)文件直接加載到智能終端中運(yùn)行,運(yùn)行完成釋放清除受保護(hù)文件的真目標(biāo)文件,再次使用需要再次授權(quán),如此,則進(jìn)一步加固了系統(tǒng)的應(yīng)用程序的安全級別。
      【附圖說明】
      [0013]圖1顯示為本發(fā)明的防止應(yīng)用程序反編譯的系統(tǒng)的方塊示意圖。
      [0014]圖2顯示為本發(fā)明的防止應(yīng)用程序反編譯的方法的操作流程圖。
      [0015
      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1