[發(fā)明專利]基于不透明謂詞的源代碼混淆方法及裝置在審
| 申請?zhí)枺?/td> | 201810146564.4 | 申請日: | 2018-02-12 |
| 公開(公告)號: | CN108446537A | 公開(公告)日: | 2018-08-24 |
| 發(fā)明(設(shè)計)人: | 闞志剛;陳彪;王文洋;李世杰;尉爽生;盧佐華 | 申請(專利權(quán))人: | 北京梆梆安全科技有限公司 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12;G06F21/14 |
| 代理公司: | 北京國昊天誠知識產(chǎn)權(quán)代理有限公司 11315 | 代理人: | 許志勇 |
| 地址: | 100083 北京市海*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 源代碼 不透明 謂詞 第一條件 條件變量 混淆 跳轉(zhuǎn) 恒定 方式獲取 靜態(tài)分析 攻擊 節(jié)點處 編譯 替換 模糊 申請 分析 | ||
1.一種基于不透明謂詞的源代碼混淆方法,其特征在于,包括:
定位源代碼中位于分支跳轉(zhuǎn)節(jié)點處的第一條件變量;
在所述第一條件變量中添加至少一個不透明謂詞,得到第二條件變量,所述不透明謂詞的值恒定;
利用所述第二條件變量替換所述第一條件變量。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述不透明謂詞包括恒為真的函數(shù)表達式。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在所述第一條件變量中添加至少一個不透明謂詞,包括:
在所述第一條件變量之前或之后添加所述至少一個不透明謂詞,并利用預(yù)設(shè)符號分隔所述第一條件變量和所述不透明謂詞。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在所述第一條件變量中添加至少一個不透明謂詞,包括:
利用預(yù)設(shè)規(guī)則將所述第一條件變量分割為多個字符段;
在所述多個字符段之間添加所述至少一個不透明謂詞。
5.一種基于不透明謂詞的源代碼混淆裝置,其特征在于,包括:
定位模塊,用于源代碼中位于分支跳轉(zhuǎn)節(jié)點處的第一條件變量;
添加模塊,用于在所述第一條件變量中添加至少一個不透明謂詞,得到第二條件變量,所述不透明謂詞的值恒定;
替換模塊,用于利用所述第二條件變量替換所述第一條件變量。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述不透明謂詞包括恒為真的函數(shù)表達式。
7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述添加模塊包括:
添加及分隔單元,用于在所述第一條件變量之前或之后添加所述至少一個不透明謂詞,并利用預(yù)設(shè)符號分隔所述第一條件變量和所述不透明謂詞。
8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述添加模塊包括:
分割單元,用于利用預(yù)設(shè)規(guī)則將所述第一條件變量分割為多個字符段;
添加單元,用于在所述多個字符段之間添加所述至少一個不透明謂詞。
9.一種基于不透明謂詞的源代碼混淆設(shè)備,其特征在于,包括:
處理器;以及
被安排成存儲計算機可執(zhí)行指令的存儲器,所述可執(zhí)行指令在被執(zhí)行時使所述處理器:
定位源代碼中位于分支跳轉(zhuǎn)節(jié)點處的第一條件變量;
在所述第一條件變量中添加至少一個不透明謂詞,得到第二條件變量,所述不透明謂詞的值恒定;
利用所述第二條件變量替換所述第一條件變量。
10.一種存儲介質(zhì),用于存儲計算機可執(zhí)行指令,所述可執(zhí)行指令在被執(zhí)行時實現(xiàn)以下流程:
定位源代碼中位于分支跳轉(zhuǎn)節(jié)點處的第一條件變量;
在所述第一條件變量中添加至少一個不透明謂詞,得到第二條件變量,所述不透明謂詞的值恒定;
利用所述第二條件變量替換所述第一條件變量。
該專利技術(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/201810146564.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





