[發明專利]符號混淆方法及裝置有效
| 申請號: | 201810192330.3 | 申請日: | 2018-03-08 |
| 公開(公告)號: | CN108416194B | 公開(公告)日: | 2020-10-23 |
| 發明(設計)人: | 馬明 | 申請(專利權)人: | 北京頂象技術有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14;G06F21/12 |
| 代理公司: | 北京超凡志成知識產權代理事務所(普通合伙) 11371 | 代理人: | 王文紅 |
| 地址: | 100000 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 符號 混淆 方法 裝置 | ||
本發明實施例提供一種符號混淆方法及裝置,用于計算機安全領域,所述方法包括:基于源代碼文件對源代碼進行編譯,獲取中間文件;獲取所述中間文件的類型構造信息;基于所述類型構造信息和第一預設替換原則,將所述中間文件中的第一符號自動替換為第二符號。本發明實施例通過對中間文件中的符號進行混淆處理,避免直接對源代碼文件中的符號進行混淆理,無需人工提取符號,也無需修改源代碼,對源代碼文件無侵入性,支持對編譯階段自動添加的符號的混淆。
技術領域
本發明涉及計算機安全領域,具體而言,涉及一種符號混淆方法及裝置。
背景技術
Objective-C是一種面向對象的高級動態語言,開發者在編寫OC程序時,會在代碼中定義一些類(Class),方法(Selector),屬性(property)等,這些符號往往具有極強的語義性,而經過編譯之后這些符號并不會被消除,而是轉化為一定格式的結構化數據,保存在二進制文件中,最終在運行該程序的時候,由OC運行時環境進行解析。由于這些符號具有語義性(如LoginView一般代表登錄界面)結合常見的反編譯工具(如class-dump,ida-pro,hopper disassembler),攻擊者可以輕易地根據符號的含義分析出代碼的邏輯,有針對性地對關鍵邏輯進行分析、破解,使應用面臨外掛、盜版、滲透等安全問題。因此,為了提升應用被逆向破解的難度,需要對這些符號進行隱藏或、混淆、或者加密處理。由于OC運行時環境必須依賴這些符號,如果隱藏將導致程序無法執行,如果進行加密,則需要在運行時加載之前對其進行解密,但并不存在這樣一種時機,因此唯一可行的方式就是對這些符號進行混淆處理,將其變為雜亂無意義的字符串,消除其語義性。
然而,現有技術基于源代碼進行預處理,需要先手動整理符號列表,并修改源代碼,對源代碼和開發編譯的過程有一定的侵入性。如果代碼中新增了符號,需要手動添加進符號列表中。同時,由于是顯式替換,對于代碼中沒有顯式編寫,而編譯器自動生成并添加的符號將無法處理。
發明內容
鑒于此,本發明實施例的目的在于提供一符號混淆方法及裝置,用于將解決上述弊端。
第一方面,本發明實施例提供一種符號混淆方法,用于Objective-C語言,所述方法包括:基于源代碼文件對源代碼進行編譯,獲取中間文件;獲取所述中間文件的類型構造信息;基于所述類型構造信息和第一預設替換原則,將所述中間文件中的第一符號自動替換為第二符號。
進一步地,所述基于源代碼文件對源代碼進行編譯,獲取中間文件,包括:基于至少一個源代碼文件對源代碼進行編譯,獲取至少一個第一中間文件;將所述至少一個第一中間文件進行合并,獲取第二中間文件;將所述第二中間文件中賦值相同的全局變量進行合并,獲取中間文件。
進一步地,所述基于所述類型構造信息和第一預設替換原則,將所述中間文件中的第一符號自動替換為第二符號,包括:將所述類型構造信息中類的第一名稱替換為第二名稱;判斷所述類型構造信息中類的方法列表中的第一方法名稱是否滿足第二預設替換原則,獲取第一判斷結果;在所述第一判斷結果為否時,將所述第一方法名稱替換為第二方法名稱。
進一步地,所述基于所述類型構造信息和第一預設替換原則,將所述中間文件中的第一符號自動替換為第二符號,還包括:將所述類型構造信息中類的屬性列表中的第一屬性名稱替換為第二屬性名稱;判斷所述類型構造信息中類的屬列表中的第一ivar的類型名稱是否與所述類型構造信息中類的第一名稱相同,在為是時,將所述第一ivar的類型名稱替換為所述第二名稱;判斷所述類型構造信息中類的屬性列表中的getter方法的第三方法名稱是否與所述第一方法名稱相同,在為是時,將所述第三方法名稱替換為所述第二方法名稱;判斷所述類型構造信息中類的屬性列表中的setter方法的第四方法名稱是否與所述第一方法名稱相同,在為是時,將所述第四方法名稱替換為所述第二方法名稱。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京頂象技術有限公司,未經北京頂象技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810192330.3/2.html,轉載請聲明來源鉆瓜專利網。





