[發明專利]字符串混淆方法、裝置、電子設備和存儲介質在審
| 申請號: | 201910429808.4 | 申請日: | 2019-05-22 |
| 公開(公告)號: | CN111984939A | 公開(公告)日: | 2020-11-24 |
| 發明(設計)人: | 李鶴仙;曹陽 | 申請(專利權)人: | 北京奇虎科技有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14;G06F8/41;G06F7/58 |
| 代理公司: | 北京市隆安律師事務所 11323 | 代理人: | 權鮮枝 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 字符串 混淆 方法 裝置 電子設備 存儲 介質 | ||
1.一種字符串混淆方法,包括:
對代碼文件進行掃描,確定符合掃描規則的待混淆字符串;
為待混淆字符串添加混淆宏處理;
所述混淆宏在代碼編譯過程中,對相應的待混淆字符串根據編譯時間進行混淆。
2.如權利要求1所述的方法,其中,所述方法還包括:在完成字符串混淆的代碼文件中添加所述混淆宏的頭文件;
所述對代碼文件進行掃描,確定符合掃描規則的待混淆字符串包括:若掃描到一個代碼文件中包含所述混淆宏的頭文件,則不執行對該代碼文件的字符串混淆。
3.如權利要求1所述的方法,其中,所述對代碼文件進行掃描,確定符合掃描規則的待混淆字符串包括:
若一個字符串與#include、#warning、#error以及#pragma中的任一個處于同一行,則不將該字符串作為待混淆字符串;
和/或,
若一個字符串用于初始化數組,則不將該字符串作為待混淆字符串;
和/或,
若一個字符串位于注釋區,則不將該字符串作為待混淆字符串。
4.如權利要求1所述的方法,其中,所述對相應的待混淆字符串根據編譯時間進行混淆包括:
根據編譯時間確定混淆密鑰;
從預設的混淆方法中隨機選擇出一種混淆方法,根據確定的混淆密鑰以及選擇的混淆方法對待混淆字符串進行混淆。
5.一種字符串混淆裝置,包括:
掃描單元,適于對代碼文件進行掃描,確定符合掃描規則的待混淆字符串;
混淆單元,適于為待混淆字符串添加混淆宏處理;所述混淆宏在代碼編譯過程中,對相應的待混淆字符串根據編譯時間進行混淆。
6.如權利要求8所述的裝置,其中,
所述混淆單元,還適于在完成字符串混淆的代碼文件中添加所述混淆宏的頭文件;
所述掃描單元,適于若掃描到一個代碼文件中包含所述混淆宏的頭文件,則不執行對該代碼文件的字符串混淆。
7.如權利要求8所述的裝置,其中,
所述掃描單元,適于若一個字符串與#include、#warning、#error以及#pragma中的任一個處于同一行,則不將該字符串作為待混淆字符串;和/或,若一個字符串用于初始化數組,則不將該字符串作為待混淆字符串;和/或,若一個字符串位于注釋區,則不將該字符串作為待混淆字符串。
8.如權利要求8所述的裝置,其中,所述對相應的待混淆字符串根據編譯時間進行混淆包括:
根據編譯時間確定混淆密鑰;
從預設的混淆方法中隨機選擇出一種混淆方法,根據確定的混淆密鑰以及選擇的混淆方法對待混淆字符串進行混淆。
9.一種電子設備,其中,該電子設備包括:處理器;以及被安排成存儲計算機可執行指令的存儲器,所述可執行指令在被執行時使所述處理器執行如權利要求1-4中任一項所述的方法。
10.一種計算機可讀存儲介質,其中,所述計算機可讀存儲介質存儲一個或多個程序,所述一個或多個程序當被處理器執行時,實現如權利要求1-4中任一項所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司,未經北京奇虎科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910429808.4/1.html,轉載請聲明來源鉆瓜專利網。





