[發明專利]一種基于對抗逆向的程序加固方法及裝置在審
| 申請號: | 201810450815.8 | 申請日: | 2018-05-11 |
| 公開(公告)號: | CN108647500A | 公開(公告)日: | 2018-10-12 |
| 發明(設計)人: | 黃紹莽;潘劍 | 申請(專利權)人: | 北京奇虎科技有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14;G06F21/12 |
| 代理公司: | 北京華沛德權律師事務所 11302 | 代理人: | 房德權 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 程序加固 軟件產品 對抗 軟件開發技術 可執行程序 源程序文件 用戶編輯 工程師 指令 創建 應用 | ||
1.一種基于對抗逆向的程序加固方法,其特征在于,包括:
在用戶編輯的源程序文件中創建一個以上不可達分支;
在所述一個以上不可達分支的每個不可達分支中添加對抗逆向指令,得到新的程序;
生成與所述新的程序對應的可執行程序文件。
2.如權利要求1所述的基于對抗逆向的程序加固方法,其特征在于,所述在用戶編輯的源程序文件中創建一個以上不可達分支,包括:
從所述源程序文件確定一個以上的分支插入位置;
在每個所述分支插入位置添加所述不可達分支。
3.如權利要求2所述的基于對抗逆向的程序加固方法,其特征在于,所述從所述源程序文件確定一個以上的分支插入位置,包括:
從所述源程序文件隨機確定一個分支插入位置或者多個分散的分支插入位置。
4.如權利要求1所述的基于對抗逆向的程序加固方法,其特征在于,所述在用戶編輯的源程序文件中創建一個以上不可達分支,包括:
從所述源程序文件確定一個以上的目標代碼段;
變換每個所述目標代碼段,獲得包括可達分支和所述不可達分支的新指令段,其中,對應的目標代碼段攜帶在所述新指令段的可達分支中。
5.如權利要求4所述的基于對抗逆向的程序加固方法,其特征在于,所述從所述源程序文件確定一個以上的目標代碼段,包括:
從所述源程序文件隨機確定一個目標代碼段或者多個分散的目標代碼段。
6.如權利要求3或5所述的基于對抗逆向的程序加固方法,其特征在于,所述在所述一個以上不可達分支的每個不可達分支中添加對抗逆向指令,包括:
在每個所述不可達分支中添加非指令數據。
7.如權利要求3或5所述的基于對抗逆向的程序加固方法,其特征在于,所述在所述一個以上不可達分支的每個不可達分支中添加對抗逆向指令,包括:
識別每個所述不可達分支所在的位置;
在每個所述可不達分支中添加與該不可達分支所在的位置相匹配的對抗逆向指令。
8.一種基于對抗逆向的程序加固裝置,其特征在于,包括:
分支創建單元,用于在用戶編輯的源程序文件中創建一個以上不可達分支;
指令添加單元,用于在所述一個以上不可達分支的每個不可達分支中添加對抗逆向指令,得到新的程序;
程序文件生成單元,用于生成與所述新的程序對應的可執行程序文件。
9.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,該程序被處理器執行時實現權利要求1-7中任一項所述的步驟。
10.一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執行所述程序時實現權利要求1-7中任一項所述的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司,未經北京奇虎科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810450815.8/1.html,轉載請聲明來源鉆瓜專利網。





