欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種輔助分析惡意代碼的方法及系統(tǒng)的制作方法

文檔序號:10613176閱讀:219來源:國知局
一種輔助分析惡意代碼的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種輔助分析惡意代碼的方法及系統(tǒng),本方法是通過輸入?yún)?shù)進行解密并輸出解密結(jié)果的方式進行輔助分析惡意代碼。通過輸入配置信息,生成配置文件,運行加載待解密so的進程,對加載待解密so的進程進行注入并對待Hook函數(shù)進行Hook,獲取解密數(shù)據(jù)。通過本方法解決了惡意代碼放入動態(tài)鏈接庫中增加檢出難度并增加人工分析難度的問題。
【專利說明】
一種輔助分析惡意代碼的方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及移動網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其涉及一種輔助分析惡意代碼的方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著移動技術(shù)的發(fā)展,移動安全問題日益突出,針對移動終端的病毒、惡意行為越來越多,且呈現(xiàn)增長趨勢?,F(xiàn)如今,由于Java代碼較容易被反編譯,導(dǎo)致越來越多的惡意代碼將其關(guān)鍵惡意代碼放入動態(tài)鏈接庫中以逃避安全軟件的檢測,增加檢出難度,同時也增加了惡意代碼的人工分析難度。

【發(fā)明內(nèi)容】

[0003]針對上述技術(shù)問題,本發(fā)明提供了一種輔助分析惡意代碼的方法及系統(tǒng),該方法通過對加載待解密SO的進程進行注入并且對加載待解密SO的進程中待Hook函數(shù)進行Hook來實現(xiàn)對動態(tài)鏈接庫中關(guān)鍵代碼的注入和Hook,并通過輸出解密結(jié)果來輔助惡意代碼的人工分析。
[0004]—種輔助分析惡意代碼的方法,包括:
輸入配置信息,生成配置文件;
運行加載待解密so的進程;
對加載待解密so的進程進行注入;
判斷是否為待解密的動態(tài)鏈接庫,如果是則讀取配置文件中的配置信息;
對加載待解密SO的進程中待Hook函數(shù)進行Hook;
輸出解密、結(jié)果。
[0005]進一步的,所述配置信息包括待解密的動態(tài)鏈接庫名稱、待Hook函數(shù)的名稱、待Hook函數(shù)的參數(shù)個數(shù)、待Hook函數(shù)的參數(shù)類型、函數(shù)返回值類型和是否需要dump文件。
[0006]進一步的,所述對加載待解密so的進程進行注入,具體為:對Android系統(tǒng)中的Zygote進行注入,在Zygote運行過程中動態(tài)加載一個自定義的動態(tài)鏈接庫。
[0007]進一步的,所述對加載待解密so的進程中待Hook函數(shù)進行Hook,具體為:在動態(tài)鏈接庫中讀取dlopen函數(shù)進行Hook,并使其調(diào)用自定義dlopen_redef ine函數(shù)。
[0008]進一步的,所述調(diào)用自定義dlopen_redefine函數(shù)具體操作為:讀取保存在系統(tǒng)/data/local/tmp下的配置文件,進行指定動態(tài)鏈接庫的指定函數(shù)的Hook并調(diào)用自定義替換函數(shù)。
[0009]—種輔助分析惡意代碼的系統(tǒng),包括:
配置模塊:用于輸入配置信息,生成配置文件;
運行模塊:用于運行加載待解密so的進程;
注入模塊:用于對加載待解密so的進程進行注入;
判斷模塊:用于判斷是否為待解密的動態(tài)鏈接庫,如果是則讀取配置文件中的配置信息;
Hook模塊:用于對加載待解密so的進程中待Hook函數(shù)進行Hook ;
輸出模塊:用于輸出解密結(jié)果。
[0010]進一步的,所述配置信息包括待解密的動態(tài)鏈接庫名稱、待Hook函數(shù)的名稱、待Hook函數(shù)的參數(shù)個數(shù)、待Hook函數(shù)的參數(shù)類型、函數(shù)返回值類型和是否需要dump文件。
[0011 ]進一步的,所述注入模塊,具體用于:對Android系統(tǒng)中的Zygote進行注入,在Zygote運行過程中動態(tài)加載一個自定義的動態(tài)鏈接庫。
[0012]進一步的,所述Hook模塊,具體用于:在動態(tài)鏈接庫中讀取dlopen函數(shù)進行Hook,并使其調(diào)用自定義dlopen_redefine函數(shù)。
[0013]進一步的,所述調(diào)用自定義dlopen_redefine函數(shù)具體操作為:讀取保存在系統(tǒng)/data/local/tmp下的配置文件,進行指定動態(tài)鏈接庫的指定函數(shù)的Hook并調(diào)用自定義替換函數(shù)。
[0014]本發(fā)明涉及一種輔助分析惡意代碼的方法,本方法基于注入和Hook技術(shù),通過運行加載待解密S0的進程,并對加載待解密S0的進程進行注入,讀取配置文件中的配置信息,對加載待解密S0的進程中待Hook函數(shù)進行Hook,輸出解密結(jié)果,從而為人工分析提供需要的數(shù)據(jù)。本方法克服了惡意代碼逃避安全檢測,增加惡意代碼人工分析難度的問題,進而提高了人員檢測惡意代碼的效率。
[0015]
【附圖說明】
[0016]為了更清楚地說明本發(fā)明的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0017]圖1為本發(fā)明提供的一種輔助分析惡意代碼的方法實施例流程圖;
圖2為本發(fā)明提供的一種輔助分析惡意代碼的系統(tǒng)實施例結(jié)構(gòu)圖。
【具體實施方式】
[0018]本發(fā)明給出了一種輔助分析惡意代碼的方法及系統(tǒng),為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實施例中的技術(shù)方案,并使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明中技術(shù)方案作進一步詳細的說明:
本發(fā)明首先提供了一種輔助分析惡意代碼的方法,如圖1所示,包括:
SlOl輸入配置信息,生成配置文件;
所述配置信息包括待解密的動態(tài)鏈接庫名稱、待Hook函數(shù)的名稱、待Hook函數(shù)的參數(shù)個數(shù)、待Hook函數(shù)的參數(shù)類型、函數(shù)返回值類型和是否需要dump文件;
S102運行加載待解密so的進程;
S103對加載待解密so的進程進行注入;
所述對加載待解密SO的進程進行注入,具體為:對Andro id系統(tǒng)中的Zygote進行注入,在Zygote運行過程中動態(tài)加載一個自定義的動態(tài)鏈接庫;
注入的基本原理是利用ptrace O函數(shù)attach到一個進程上,然后在其調(diào)用序列中插入一個調(diào)用dlopenO函數(shù)的步驟,將一個事先預(yù)備好的.so文件加載到要hook的進程中,最終由這個加載的.so文件在初始化函數(shù)中hook指定的函數(shù);
S104判斷是否為待解密的動態(tài)鏈接庫,如果是則讀取配置文件中的配置信息;
S105對加載待解密so的進程中待Hook函數(shù)進行Hook;
所述對加載待解密so的進程中待Hook函數(shù)進行Hook,具體為:在動態(tài)鏈接庫中讀取dlopen函數(shù)進行Hook,并使其調(diào)用自定義dlopen_redef ine函數(shù);
所述調(diào)用自定義dlopen_redef ine函數(shù)具體操作為:讀取保存在系統(tǒng)/data/local/tmp下的配置文件,進行指定動態(tài)鏈接庫的指定函數(shù)的Hook并調(diào)用自定義替換函數(shù);
Hook的基本原理是獲取進程內(nèi)存信息,找到待解密動態(tài)鏈接庫首地址,并通過解析動態(tài)鏈接庫符號表,找到待Hook的函數(shù)地址,修改函數(shù)指令信息讓其執(zhí)行待Hook的函數(shù),并在待Hook的函數(shù)中調(diào)用原始函數(shù)并輸出其返回值;
S106輸出解密結(jié)果。
[0019]本發(fā)明還提供了一種輔助分析惡意代碼的系統(tǒng),如圖2所示,包括:
配置模塊201,用于輸入配置信息,生成配置文件;
其中,所述配置模塊用于存儲用戶輸入的配置信息;
運行模塊202,用于運行加載待解密so的進程;
注入模塊203,用于對加載待解密so的進程進行注入;
其中,所述注入模塊用于提供對加載待解密so的進程的注入功能;
判斷模塊204,用于判斷是否為待解密的動態(tài)鏈接庫,如果是則讀取配置文件中的配置信息;
Hook模塊205,用于對加載待解密so的進程中待Hook函數(shù)進行Hook;
其中,所述Hook模塊用于提供對加載待解密so的進程中待Hook函數(shù)的Hook功能;
輸出模塊206,用于輸出解密結(jié)果。
[0020]綜上所述,本發(fā)明涉及一種輔助分析惡意代碼的方法,本方法是通過輸入?yún)?shù)進行解密并輸出解密結(jié)果的方式進行輔助分析惡意代碼。通過輸入配置信息,生成配置文件,運行加載待解密SO的進程,對加載待解密SO的進程進行注入并對待Hook函數(shù)進行Hook,獲取解密數(shù)據(jù)。由于Java代碼容易被反編譯,導(dǎo)致越來越多的惡意代碼放入動態(tài)鏈接庫中以逃避安全軟件的檢測,增加檢出難度,同時也增加人工分析難度,本方法基于注入和Hook的技術(shù)實現(xiàn)動態(tài)鏈接庫關(guān)鍵代碼的注入和Hook,簡單方便的配置其需要分析的動態(tài)鏈接庫中的關(guān)鍵函數(shù),并從中獲取其想要的分析數(shù)據(jù)。
[0021]以上實施例用以說明而非限制本發(fā)明的技術(shù)方案。不脫離本發(fā)明精神和范圍的任何修改或局部替換,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
【主權(quán)項】
1.一種輔助分析惡意代碼的方法,其特征在于: 輸入配置信息,生成配置文件; 運行加載待解密SO的進程; 對加載待解密so的進程進行注入; 判斷是否為待解密的動態(tài)鏈接庫,如果是則讀取配置文件中的配置信息; 對加載待解密SO的進程中待Hook函數(shù)進行Hook; 輸出解密、結(jié)果。2.如權(quán)利要求1所述的方法,其特征在于,所述配置信息包括待解密的動態(tài)鏈接庫名稱、待Hook函數(shù)的名稱、待Hook函數(shù)的參數(shù)個數(shù)、待Hook函數(shù)的參數(shù)類型、函數(shù)返回值類型和是否需要dump文件。3.如權(quán)利要求1所述的方法,其特征在于,所述對加載待解密so的進程進行注入,具體為:對Android系統(tǒng)中的Zygote進行注入,在Zygote運行過程中動態(tài)加載一個自定義的動態(tài)鏈接庫。4.如權(quán)利要求1所述的方法,其特征在于,所述對加載待解密so的進程中待Hook函數(shù)進行Hook,具體為:在動態(tài)鏈接庫中讀取dlopen函數(shù)進行Hook,并使其調(diào)用自定義dlopen_redefine 函數(shù)。5.如權(quán)利要求4所述的方法,其特征在于,所述調(diào)用自定義dlopen_redefine函數(shù)具體操作為:讀取保存在系統(tǒng)/data/local/tmp下的配置文件,進行指定動態(tài)鏈接庫的指定函數(shù)的Hook并調(diào)用自定義替換函數(shù)。6.一種輔助分析惡意代碼的系統(tǒng),其特征在于,包括: 配置模塊:用于輸入配置信息,生成配置文件; 運行模塊:用于運行加載待解密so的進程; 注入模塊:用于對加載待解密S0的進程進行注入; 判斷模塊:用于判斷是否為待解密的動態(tài)鏈接庫,如果是則讀取配置文件中的配置信息; Hook模塊:用于對加載待解密so的進程中待Hook函數(shù)進行Hook ; 輸出模塊:用于輸出解密結(jié)果。7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述配置模塊中的配置信息包括待解密的動態(tài)鏈接庫名稱、待Hook函數(shù)的名稱、待Hook函數(shù)的參數(shù)個數(shù)、待Hook函數(shù)的參數(shù)類型、函數(shù)返回值類型和是否需要dump文件。8.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述注入模塊,具體用于:對Android系統(tǒng)中的Zygote進行注入,在Zygote運行過程中動態(tài)加載一個自定義的動態(tài)鏈接庫。9.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述Hook模塊,具體用于:在動態(tài)鏈接庫中讀取dlopen函數(shù)進行Hook,并使其調(diào)用自定義dlopen_redef ine函數(shù)。10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述調(diào)用自定義dlopen_redefine函數(shù)具體操作為:讀取保存在系統(tǒng)/data/local/tmp下的配置文件,進行指定動態(tài)鏈接庫的指定函數(shù)的Hook并調(diào)用自定義替換函數(shù)。
【文檔編號】G06F21/52GK105975859SQ201511004603
【公開日】2016年9月28日
【申請日】2015年12月29日
【發(fā)明人】馮澤, 喬偉
【申請人】武漢安天信息技術(shù)有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
惠水县| 凭祥市| 华蓥市| 乌鲁木齐县| 巫山县| 张家港市| 诸暨市| 辽宁省| 城固县| 阳西县| 凤翔县| 肇东市| 孙吴县| 铁岭市| 玛纳斯县| 文安县| 青铜峡市| 名山县| 泰和县| 怀来县| 盐池县| 邵武市| 雷波县| 佛教| 年辖:市辖区| 依兰县| 讷河市| 麦盖提县| 吉水县| 通道| 枣阳市| 怀宁县| 萍乡市| 红原县| 罗平县| 宁晋县| 闸北区| 安吉县| 东城区| 蕲春县| 寻乌县|