[發(fā)明專利]文件解密方法和裝置有效
| 申請?zhí)枺?/td> | 201610342305.X | 申請日: | 2016-05-20 |
| 公開(公告)號: | CN107403103B | 公開(公告)日: | 2021-01-29 |
| 發(fā)明(設(shè)計)人: | 龐申杰 | 申請(專利權(quán))人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F21/62 | 分類號: | G06F21/62;G06F9/455 |
| 代理公司: | 北京博浩百睿知識產(chǎn)權(quán)代理有限責(zé)任公司 11134 | 代理人: | 宋子良 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 文件 解密 方法 裝置 | ||
1.一種文件解密方法,其特征在于,包括:
截獲對加密文件進行解密而得到的解密結(jié)果;
驗證所述解密結(jié)果是否為將所述加密文件還原至未加密狀態(tài)時的文件;
在確定所述解密結(jié)果為將所述加密文件還原至未加密狀態(tài)時的文件的情況下,將所述解密結(jié)果傳輸至第一類型函數(shù),其中,所述第一類型函數(shù)用于對所述解密結(jié)果進行編譯,得到允許虛擬機執(zhí)行的中間代碼;
其中,在解密函數(shù)對所述加密文件進行解密之后,通過原本指向所述第一類型函數(shù)的函數(shù)指針指向所述解密函數(shù),來截獲原本要傳入所述第一類型函數(shù)的所述解密結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,截獲對加密文件進行解密而得到的解密結(jié)果,包括:在執(zhí)行PHP腳本的過程中,截獲解密函數(shù)對所述加密文件進行解密而得到的所述解密結(jié)果,其中,所述解密函數(shù)按照預(yù)定次數(shù)重復(fù)解密所述加密文件。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:在確定所述解密結(jié)果不是將所述加密文件還原至未加密狀態(tài)時的文件的情況下,對所述加密文件繼續(xù)進行解密。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,驗證所述解密結(jié)果是否為將所述加密文件還原至未加密狀態(tài)時的文件,包括:
判斷所述解密結(jié)果包含的代碼是否滿足預(yù)定條件,所述代碼至少包括:函數(shù)和變量;
在所述解密結(jié)果包含的代碼滿足所述預(yù)定條件的情況下,確定所述解密結(jié)果為將所述加密文件還原至未加密狀態(tài)時的文件;
在所述解密結(jié)果包含的代碼不滿足所述預(yù)定條件的情況下,確定所述解密結(jié)果為中間解密結(jié)果。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述預(yù)定條件包括如下任意一個或多個條件:
所述代碼中包含的函數(shù)和/或變量的數(shù)量是否超過預(yù)定數(shù)量;
所述代碼中包含的函數(shù)和/或變量的長度是否超過預(yù)定長度;
所述代碼中包含的代碼邏輯復(fù)雜度是否超過預(yù)定復(fù)雜度。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,在驗證所述解密結(jié)果是否為將所述加密文件還原至未加密狀態(tài)時的文件之前,所述方法還包括:
判斷所述解密結(jié)果是否為字符串;
在所述解密結(jié)果是所述字符串的情況下,則執(zhí)行驗證所述解密結(jié)果是否為將所述加密文件還原至未加密狀態(tài)時的文件的步驟;
在所述解密結(jié)果不是所述字符串的情況下,則確定所述解密結(jié)果為未加密的數(shù)據(jù)。
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,對所述加密文件繼續(xù)進行解密,包括:
調(diào)用解密函數(shù);
所述解密函數(shù)基于所述解密結(jié)果對所述加密文件進行解密。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,在截獲對加密文件進行解密而得到的解密結(jié)果之前,所述方法還包括:
在PHP內(nèi)核中預(yù)設(shè)初始化函數(shù);
通過所述初始化函數(shù)修改內(nèi)核函數(shù)的函數(shù)指針至解密函數(shù),其中,所述解密函數(shù)用于在執(zhí)行PHP腳本的過程中,對所述加密文件進行解密。
9.根據(jù)權(quán)利要求1至7中任意一項所述的方法,其特征在于,所述第一類型函數(shù)為內(nèi)核函數(shù),其中,在所述內(nèi)核函數(shù)為zend_compile_string函數(shù)的情況下,所述內(nèi)核函數(shù)用于將進行詞法分析和/或語法分析后得到的字符串代碼編譯為所述中間代碼。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴集團控股有限公司,未經(jīng)阿里巴巴集團控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610342305.X/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





