[發明專利]計算機程序保護方法、裝置、電子設備和計算機可讀存儲介質在審
| 申請號: | 201811515675.4 | 申請日: | 2018-12-12 |
| 公開(公告)號: | CN109740313A | 公開(公告)日: | 2019-05-10 |
| 發明(設計)人: | 丁保增;王賽 | 申請(專利權)人: | 北京字節跳動網絡技術有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 北京竹辰知識產權代理事務所(普通合伙) 11706 | 代理人: | 陳龍 |
| 地址: | 100041 北京市石景山區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 計算機程序 計算機可讀存儲介質 電子設備 條件分支 目標函數 編譯 軟件產品 不透明 謂詞 指令 | ||
本公開公開了一種計算機程序保護方法、裝置、電子設備和計算機可讀存儲介質。其中所述計算機程序保護方法包括:從計算機程序中確定目標函數;根據第一不透明謂詞為所述目標函數增加條件分支,所述條件分支對應的條件值為假;在所述條件分支中插入防止反編譯指令。本公開實施例提供的計算機程序保護方法、裝置、電子設備和計算機可讀存儲介質,能夠提高對計算機程序反編譯的難度,從而有效保護計算機程序,提高軟件產品的安全性。
技術領域
本公開涉及計算機安全領域,尤其涉及一種計算機程序保護方法、裝置、電子設備和計算機可讀存儲介質。
背景技術
隨著計算機技術的發展,具有各種功能的計算機程序為用戶帶來良好的體驗,這些計算機程序凝聚了計算機軟件開發人員的智慧和汗水,但是攻擊者可以通過反編譯的方式進行逆向分析,以推導出他人的計算機程序所使用的思路、原理、結構、算法、處理過程、和運行方法等設計要素,作為自己開發軟件時的參考,甚至直接應用于自己的計算機程序中。
高級編程語言源程序通過編譯器編譯從而形成可執行文件的過程就是編譯的過程,可執行文件一般由計算機可以識別和執行的機器碼即二進制代碼構成,因此可執行文件也可以被稱為二進制文件;而反編譯就是編譯的逆過程,一般攻擊者會借助逆向工具對二進制代碼進行反匯編得到匯編語言,再對匯編語言進行反編譯獲得源程序的偽碼,這種偽碼接近于源程序,具有很強的可讀性,從而使得計算機程序和/或可執行文件被破譯的難度大大降低。
發明內容
本公開實施例提供計算機程序保護方法,裝置,電子設備,和計算機可讀存儲介質,以期有效提高計算機程序被破解的難度,進而增強計算機程序的安全性。
第一方面,本公開實施例提供一種計算機程序保護方法,包括:從計算機程序中確定目標函數;根據第一不透明謂詞為所述目標函數增加條件分支,所述條件分支對應的條件值為假;在所述條件分支中插入防止反編譯指令。
進一步的,在所述根據第一不透明謂詞為所述目標函數增加條件分支之前,還包括:通過編譯器將所述計算機程序轉化為中間表示形式。
進一步的,在所述條件分支中插入防止反編譯指令之前,還包括:確定所述計算機程序的運行平臺信息;在所述條件分支中插入防止反編譯指令,包括:在所述條件分支中插入與所述運行平臺信息對應的防止反編譯指令。
進一步的,所述防止反編譯指令包括用于變更所述目標函數的棧指針的指令。
進一步的,所述用于變更所述目標函數的棧指針的指令用于使所述目標函數的棧指針增加立即數或減少所述立即數。
進一步的,所述立即數是在預設范圍內通過隨機方式確定的。
進一步的,所述第一不透明謂詞是從多個不透明謂詞中通過隨機方式確定的。
進一步的,所述條件分支包括if語句,所述if語句的判定條件包括所述第一不透明謂詞,所述第一不透明謂詞的值為假。
進一步的,所述條件分支包括else語句,所述else語句對應的 if語句的判定條件包括所述第一不透明謂詞,所述第一不透明謂詞的值為真。
第二方面,本公開實施例提供一種計算機程序保護裝置,包括:確定模塊,用于從計算機程序中確定目標函數;增加模塊,用于根據第一不透明謂詞為所述目標函數增加條件分支,所述條件分支對應的條件值為假;插入模塊,用于在所述條件分支中插入防止反編譯指令。
進一步的,所述計算機程序保護裝置還包括轉化模塊,用于通過編譯器將所述計算機程序轉化為中間表示形式。
進一步的,所述計算機程序保護裝置還包括運行平臺信息確定模塊,用于確定所述計算機程序的運行平臺信息;所述插入模塊用于在所述條件分支中插入與所述運行平臺信息對應的防止反編譯指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京字節跳動網絡技術有限公司,未經北京字節跳動網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201811515675.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種應用控制方法及終端設備
- 下一篇:一種SWF混淆加密的方法





