[發(fā)明專利]一種可執(zhí)行文件處理方法和裝置有效
| 申請?zhí)枺?/td> | 201210262975.2 | 申請日: | 2012-07-26 |
| 公開(公告)號: | CN102855119A | 公開(公告)日: | 2013-01-02 |
| 發(fā)明(設(shè)計)人: | 周輝;徐傳宇;李智鵬 | 申請(專利權(quán))人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30;G06F17/30;G06F21/00 |
| 代理公司: | 工業(yè)和信息化部電子專利中心 11010 | 代理人: | 梁軍 |
| 地址: | 100088 北京市西城區(qū)新*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 可執(zhí)行文件 處理 方法 裝置 | ||
1.一種可執(zhí)行文件處理方法,其特征在于,包括:
基于可執(zhí)行文件入口點(diǎn)文件偏移,查找可執(zhí)行文件入口點(diǎn);
以預(yù)先設(shè)定的分析步數(shù)X為基準(zhǔn),依次對所述入口點(diǎn)后的各指令進(jìn)行分析,獲取可執(zhí)行文件入口點(diǎn)后X條指令的操作碼opcode,得到opcode組;
以所述opcode組為分類條件,對各所述可執(zhí)行文件進(jìn)行分類處理。
2.如權(quán)利要求1所述的方法,其特征在于,所述預(yù)先設(shè)定的分析步數(shù)X=2n,其中,n為正整數(shù)。
3.如權(quán)利要求1所述的方法,其特征在于,所述opcode組由X條指令對應(yīng)的各opcode的第一個字節(jié)組成。
4.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
將各所述可執(zhí)行文件的opcode組與殺毒引擎的病毒記錄相關(guān)聯(lián);
所述殺毒引擎進(jìn)行查毒時,獲取待檢查可執(zhí)行文件的opcode組,判斷該opocde組是否與某一條或幾條病毒記錄相關(guān)聯(lián),若是,利用當(dāng)前關(guān)聯(lián)的病毒記錄文件對所述待檢查可執(zhí)行文件進(jìn)行檢查。
5.如權(quán)利要求1所述的方法,其特征在于,所述方法中,當(dāng)無法獲取滿足所述分析步數(shù)X的opcode時,在組成opcode組時,將剩余位設(shè)置為空;或者,直接將當(dāng)前獲取的opcode組成opcode組。
6.如權(quán)利要求1所述的方法,其特征在于,所述方法中,利用反匯編引擎順序解析所述入口點(diǎn)指令,并從反匯編引擎中獲得入口點(diǎn)指令的指令長度、指令opcode和指令類型。
7.如權(quán)利要求1至6任一項所述的方法,其特征在于,所述依次對入口點(diǎn)后的各指令進(jìn)行分析,獲取可執(zhí)行文件入口點(diǎn)后X條指令的操作碼opcode,具體包括:
步驟71,創(chuàng)建指令流棧;
步驟72,判斷當(dāng)前分析的指令是否為Transfer指令,若是,執(zhí)行步驟73;否則,執(zhí)行步驟74;
步驟73,獲取指令的跳轉(zhuǎn)目標(biāo)地址后壓入所述指令流棧,并分析所述指令以及所述指令流棧內(nèi)目標(biāo)地址對應(yīng)的指令流,獲取各指令的opcode;
步驟74,獲取指令的opcode后,按著指令長度定位下一指令的方式,分析下一指令。
8.如權(quán)利要求7所述的方法,其特征在于,所述分析所述指令以及指令的目標(biāo)地址對應(yīng)的指令流,獲取各指令的opcode,具體包括:
當(dāng)所述Transfer指令類型為函數(shù)調(diào)用CALL指令或者無條件跳轉(zhuǎn)JMP指令時,獲取該指令的opcode,并將指令流轉(zhuǎn)到指令流棧內(nèi)的所述CALL或者JMP指令的跳轉(zhuǎn)目標(biāo)地址對應(yīng)的指令流繼續(xù)進(jìn)行分析,獲取指令opcode;
當(dāng)所述Transfer指令類型為條件跳轉(zhuǎn)JCC指令或循環(huán)LOOP指令時,獲取該指令的opcode,并按著指令長度定位下一指令的方式,分析下一指令,并在當(dāng)前指令流指令數(shù)無法滿足分析步數(shù)時,將指令流轉(zhuǎn)到指令流棧內(nèi)所述JCC或LOOP指令的跳轉(zhuǎn)目標(biāo)地址對應(yīng)的指令流繼續(xù)進(jìn)行分析,獲取指令opcode。
9.如權(quán)利要求8所述的方法,其特征在于,當(dāng)所述Transfer指令為函數(shù)調(diào)用CALL指令,且所述CALL指令為間接調(diào)用時,或者,當(dāng)所述Transfer指令為條件跳轉(zhuǎn)JCC指令,且所述JCC指令為間接跳轉(zhuǎn)時,若無法獲得指令的跳轉(zhuǎn)目標(biāo)地址,則記錄該指令的opcode后,按著指令長度定位下一指令的方式,繼續(xù)下一指令的分析。
10.如權(quán)利要求8所述的方法,其特征在于,當(dāng)所述Transfer指令為無條件跳轉(zhuǎn)JMP指令,且所述JMP指令為間接跳轉(zhuǎn)時,若無法獲取間接跳轉(zhuǎn)目標(biāo)地址,則記錄該指令的opcode后,停止本指令流分析,并查找指令流棧是否為空,如果不為空則彈棧得到新指令流地址,轉(zhuǎn)到該地址對應(yīng)的指令流繼續(xù)分析,獲取指令opcode;如果指令流棧為空,則停止分析。
該專利技術(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/201210262975.2/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 可執(zhí)行文件版本更新系統(tǒng)及方法
- 一種棧安全檢測方法與系統(tǒng)
- 一種可執(zhí)行文件的保護(hù)方法及裝置
- 一種可執(zhí)行文件的控制方法和裝置
- 一種可執(zhí)行文件數(shù)據(jù)防泄漏掃描方法、系統(tǒng)及網(wǎng)關(guān)
- 可執(zhí)行文件匹配方法、裝置及計算機(jī)設(shè)備
- 可執(zhí)行文件的分析方法、裝置、存儲介質(zhì)和處理器
- 一種安全運(yùn)行可執(zhí)行文件的方法及系統(tǒng)
- 可執(zhí)行文件遠(yuǎn)程安全加載的方法
- 一種可執(zhí)行文件安全調(diào)用的方法及裝置





