[發明專利]用于相對跳轉指令的混淆方法有效
| 申請號: | 201310727164.X | 申請日: | 2013-12-25 |
| 公開(公告)號: | CN103699820B | 公開(公告)日: | 2017-02-15 |
| 發明(設計)人: | 孫吉平;韓勇 | 申請(專利權)人: | 北京深思數盾科技股份有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 北京金信知識產權代理有限公司11225 | 代理人: | 黃威,喻嶸 |
| 地址: | 100193 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 相對 跳轉 指令 混淆 方法 | ||
1.一種用于相對跳轉指令的混淆方法,其特征在于,包括以下步驟:
S1:將模擬跳轉的專用代碼附加到目標代碼的末尾處,并記錄下所述模擬跳轉的專用代碼的地址;
S2:分析所述目標代碼,搜索其中的相對跳轉指令;
S3:每找到一條相對跳轉指令,就記錄下該相對跳轉指令的跳轉距離和跳轉條件;
S4:構造出一段中轉代碼,所述中轉代碼包括:
用于壓棧保存若干個寄存器的第一代碼;
用于將經加密的所述模擬跳轉的專用代碼的地址隨機放入一個所述寄存器的第二代碼,及相應的一段固定的用于在運行時解密的第三代碼;
用于將所述跳轉距離和跳轉條件加密和/或變換壓棧的第四代碼和跳轉到寄存器的第五代碼;
S5:將所述中轉代碼附加到所述目標代碼的末尾處,并記錄所述中轉代碼的地址;
S6:將原相對跳轉指令替換為跳轉到所述中轉代碼的地址的指令,并返回步驟S2繼續搜索相對跳轉指令,直至搜索完畢。
2.根據權利要求1所述的用于相對跳轉指令的混淆方法,其特征在于,所述模擬跳轉的專用代碼為預設的一段固定的代碼。
3.根據權利要求1所述的用于相對跳轉指令的混淆方法,其特征在于,所述步驟S1中,所述記錄的方法為采用文件方式記錄。
4.根據權利要求1所述的用于相對跳轉指令的混淆方法,其特征在于,所述步驟S1中,所述記錄的方法為采用變量方式記錄。
5.根據權利要求1所述的用于相對跳轉指令的混淆方法,其特征在于,所述步驟S2具體為:將目標代碼反匯編,按指令名稱搜索其中的相對跳轉指令,所述相對跳轉指令包括無條件跳轉指令和條件跳轉指令。
6.根據權利要求5所述的用于相對跳轉指令的混淆方法,其特征在于,所述步驟S2通過使用反匯編工具和指令名稱列表自動實現。
7.根據權利要求1所述的用于相對跳轉指令的混淆方法,其特征在于,步驟S3中所述記錄下該相對跳轉指令的跳轉距離和跳轉條件的方法為:采用兩個變量分別記錄所述跳轉距離和跳轉條件。
8.根據權利要求1所述的用于相對跳轉指令的混淆方法,其特征在于,所述步驟S4中的構造所述中轉代碼的方式具體為使用所述步驟S1中記錄的模擬跳轉的專用代碼的地址和所述步驟S3中記錄的跳轉距離和跳轉條件自動構造得出所述中轉代碼。
9.根據權利要求8所述的用于相對跳轉指令的混淆方法,其特征在于,對所述跳轉距離和跳轉條件進行加密的方法包括對稱或非對稱加密算法、自定義變換加密方法,或者異或加密方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京深思數盾科技股份有限公司,未經北京深思數盾科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310727164.X/1.html,轉載請聲明來源鉆瓜專利網。





