[發(fā)明專(zhuān)利]一種基于虛擬機(jī)的信息記錄方法有效
| 申請(qǐng)?zhí)枺?/td> | 201210530485.6 | 申請(qǐng)日: | 2012-12-10 |
| 公開(kāi)(公告)號(hào): | CN102999374A | 公開(kāi)(公告)日: | 2013-03-27 |
| 發(fā)明(設(shè)計(jì))人: | 陳錦;劉業(yè)欣 | 申請(qǐng)(專(zhuān)利權(quán))人: | 北京神州綠盟信息安全科技股份有限公司;北京神州綠盟科技有限公司 |
| 主分類(lèi)號(hào): | G06F9/455 | 分類(lèi)號(hào): | G06F9/455 |
| 代理公司: | 北京同達(dá)信恒知識(shí)產(chǎn)權(quán)代理有限公司 11291 | 代理人: | 郭紅麗 |
| 地址: | 100089 北京*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 虛擬機(jī) 信息 記錄 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,尤指一種基于虛擬機(jī)的信息記錄方法。
背景技術(shù)
目前,記錄程序數(shù)據(jù)改寫(xiě)和代碼塊等信息的方式主要有兩種:第一種是使用調(diào)試器記錄程序運(yùn)行的信息,常用的調(diào)試器有Safforn、PolyUnpack等等,這種方式記錄效率比較高,但是程序可以通過(guò)反調(diào)試技術(shù)進(jìn)行對(duì)抗,這樣就會(huì)導(dǎo)致調(diào)試器崩潰或記錄錯(cuò)誤的信息;第二種是使用虛擬機(jī)記錄程序運(yùn)行的信息,虛擬機(jī)是指通過(guò)軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng),常用的虛擬機(jī)有Renovo、Malware?Normalization、PandorasBochs等,這種方式可以避開(kāi)大部分程序的反調(diào)試,但是這種方式需要在記錄文件中記錄執(zhí)行每條指令的信息,無(wú)論該條指令信息對(duì)后續(xù)信息分析是否有用,都會(huì)在記錄文件中記錄,最終得到的記錄文件非常大,這樣就會(huì)導(dǎo)致記錄效率低、占用存儲(chǔ)空間多;并且這種方式記錄的信息類(lèi)型非常有限,這就會(huì)不利于后續(xù)進(jìn)行信息分析。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種基于虛擬機(jī)的信息記錄方法,用以解決現(xiàn)有技術(shù)中存在的使用虛擬機(jī)記錄程序運(yùn)行的信息時(shí)記錄效率低、占用存儲(chǔ)空間多且不利于后續(xù)進(jìn)行信息分析的問(wèn)題。
一種基于虛擬機(jī)的信息記錄方法,包括:
虛擬機(jī)運(yùn)行選定程序時(shí),根據(jù)所述選定程序中的跳轉(zhuǎn)指令分割所述選定程序,得到若干代碼塊;以及
在執(zhí)行代碼塊的過(guò)程中,所述虛擬機(jī)監(jiān)控事件發(fā)生,并按照事件發(fā)生的先后順序記錄事件標(biāo)識(shí)和事件信息,所述事件信息包括:創(chuàng)建的線程或進(jìn)程信息、加載的模塊信息、進(jìn)程分配的堆信息、進(jìn)程創(chuàng)建的棧信息、數(shù)據(jù)改寫(xiě)信息、代碼塊信息、循環(huán)次數(shù)信息、新棧頂?shù)奈恢眯畔ⅰ⒑瘮?shù)調(diào)用信息、函數(shù)返回信息、以及中央處理器CPU異常信息中之一或組合。
本發(fā)明有益效果如下:
本發(fā)明實(shí)施例提供了一種基于虛擬機(jī)的信息記錄方法,該方案虛擬機(jī)運(yùn)行選定程序時(shí),根據(jù)所述選定程序中的跳轉(zhuǎn)指令分割所述選定程序,得到若干代碼塊;以及在執(zhí)行代碼塊的過(guò)程中,所述虛擬機(jī)監(jiān)控事件發(fā)生,并按照事件發(fā)生的先后順序記錄事件標(biāo)識(shí)和事件信息,所述事件信息包括:創(chuàng)建的線程或進(jìn)程信息、加載的模塊信息、進(jìn)程分配的堆信息、進(jìn)程創(chuàng)建的棧信息、數(shù)據(jù)改寫(xiě)信息、代碼塊信息、循環(huán)次數(shù)信息、新棧頂?shù)奈恢眯畔ⅰ⒑瘮?shù)調(diào)用信息、函數(shù)返回信息、以及中央處理器CPU異常信息中之一或組合。該方案將選定程序分割為若干個(gè)代碼塊,程序運(yùn)行過(guò)程中,以代碼塊為單位,記錄代碼塊的執(zhí)行信息,這種以代碼塊為單位進(jìn)行信息記錄的方式相對(duì)于現(xiàn)有技術(shù)中需要記錄每條執(zhí)行指令的信息的方式,大大提高了記錄效率,并且記錄文件非常小,節(jié)省了存儲(chǔ)空間;并且,還記錄了新棧頂?shù)奈恢眯畔ⅰ?shù)據(jù)改寫(xiě)信息、代碼塊的信息、函數(shù)調(diào)用標(biāo)識(shí)、函數(shù)調(diào)用信息、函數(shù)返回標(biāo)識(shí)、函數(shù)返回信息、循環(huán)次數(shù)信息、異常信息,這些信息能夠?yàn)楹罄m(xù)信息分析提供更好的幫助。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例中的基于虛擬機(jī)的信息記錄方法的流程圖;
圖2為本發(fā)明實(shí)施例中的虛擬機(jī)監(jiān)控事件發(fā)生和記錄事件信息的流程圖。
具體實(shí)施方式
針對(duì)現(xiàn)有技術(shù)中存在的使用虛擬機(jī)記錄程序運(yùn)行的信息時(shí)記錄效率低、占用存儲(chǔ)空間多且不利于后續(xù)進(jìn)行信息分析的問(wèn)題,本發(fā)明實(shí)施例提供了一種基于虛擬機(jī)的信息記錄方法,該方法的流程如圖1所示,具體執(zhí)行步驟如下:
S10:虛擬機(jī)運(yùn)行選定程序時(shí),根據(jù)選定程序中的跳轉(zhuǎn)指令分割選定程序,得到若干代碼塊。
S11:虛擬機(jī)執(zhí)行得到的代碼塊。
可以利用動(dòng)態(tài)翻譯技術(shù)來(lái)分割選定程序,S11中執(zhí)行代碼塊的過(guò)程和S10中的分割代碼塊的過(guò)程是同時(shí)進(jìn)行的,不用等到將程序全部解析完代碼塊后再運(yùn)行,節(jié)省了時(shí)間。
S12:在執(zhí)行代碼塊的過(guò)程中,虛擬機(jī)監(jiān)控事件發(fā)生,并按照事件發(fā)生的先后順序記錄事件標(biāo)識(shí)和事件信息。
事件信息包括:創(chuàng)建的線程或進(jìn)程信息、加載的模塊信息、進(jìn)程分配的堆信息、進(jìn)程創(chuàng)建的棧信息、數(shù)據(jù)改寫(xiě)信息、代碼塊信息、循環(huán)次數(shù)信息、新棧頂?shù)奈恢眯畔ⅰ⒑瘮?shù)調(diào)用信息、函數(shù)返回信息、以及中央處理器CPU異常信息中之一或組合。
要記錄的信息有很多種,為了便于區(qū)分各類(lèi)信息,以及后續(xù)能快速解析序列化后的日記文件,可以在每個(gè)信息前添加用設(shè)定字節(jié)的事件標(biāo)識(shí),在標(biāo)識(shí)后緊接事件信息。這些信息的順序是按照事件發(fā)生的先后順序排列的,真實(shí)反應(yīng)了選定程序的流程。當(dāng)選定程序?yàn)?2位時(shí),設(shè)定字節(jié)為4個(gè)字節(jié),事件標(biāo)識(shí)為4個(gè)字節(jié);當(dāng)選定程序?yàn)?4位時(shí),設(shè)定字節(jié)為8個(gè)字節(jié),事件標(biāo)識(shí)為8個(gè)字節(jié)。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于北京神州綠盟信息安全科技股份有限公司;北京神州綠盟科技有限公司,未經(jīng)北京神州綠盟信息安全科技股份有限公司;北京神州綠盟科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210530485.6/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:鋼結(jié)構(gòu)幕墻一體化型材
- 下一篇:旋蓋頭離合器裝置
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 一種可信虛擬機(jī)平臺(tái)
- 虛擬機(jī)參數(shù)遷移的方法、設(shè)備和虛擬機(jī)服務(wù)器
- 一種虛擬機(jī)系統(tǒng)及其安全控制方法
- 一種云計(jì)算系統(tǒng)動(dòng)態(tài)分配虛擬機(jī)的方法
- 一種恢復(fù)、升級(jí)虛擬機(jī)的方法及裝置
- 虛擬機(jī)切換系統(tǒng)及切換方法
- 處理虛擬機(jī)集群的方法和計(jì)算機(jī)系統(tǒng)
- 虛擬機(jī)故障檢測(cè)、恢復(fù)系統(tǒng)及虛擬機(jī)檢測(cè)、恢復(fù)、啟動(dòng)方法
- 一種虛擬機(jī)遷移方法和系統(tǒng)
- 一種虛擬機(jī)容錯(cuò)系統(tǒng)及其容錯(cuò)方法
- 信息記錄介質(zhì)、信息記錄方法、信息記錄設(shè)備、信息再現(xiàn)方法和信息再現(xiàn)設(shè)備
- 信息記錄裝置、信息記錄方法、信息記錄介質(zhì)、信息復(fù)制裝置和信息復(fù)制方法
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄設(shè)備、信息重放設(shè)備、信息記錄方法、信息重放方法、以及信息記錄介質(zhì)
- 信息存儲(chǔ)介質(zhì)、信息記錄方法、信息重放方法、信息記錄設(shè)備、以及信息重放設(shè)備
- 信息存儲(chǔ)介質(zhì)、信息記錄方法、信息回放方法、信息記錄設(shè)備和信息回放設(shè)備
- 信息記錄介質(zhì)、信息記錄方法、信息記錄裝置、信息再現(xiàn)方法和信息再現(xiàn)裝置
- 信息終端,信息終端的信息呈現(xiàn)方法和信息呈現(xiàn)程序
- 信息創(chuàng)建、信息發(fā)送方法及信息創(chuàng)建、信息發(fā)送裝置





