天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁(yè) > 科技論文 > 軟件論文 >

基于QEMU的動(dòng)態(tài)函數(shù)調(diào)用跟蹤

發(fā)布時(shí)間:2019-07-11 12:13
【摘要】:函數(shù)調(diào)用一直是Linux內(nèi)核分析研究領(lǐng)域的重點(diǎn).獲得函數(shù)調(diào)用信息主要有2種方法:靜態(tài)分析和動(dòng)態(tài)分析.動(dòng)態(tài)跟蹤方法可實(shí)時(shí)和準(zhǔn)確地獲取函數(shù)調(diào)用關(guān)系信息,在分析和調(diào)試軟件程序時(shí)有極大的幫助作用.針對(duì)現(xiàn)有工具存在跟蹤信息不全面、需要編譯選項(xiàng)支持等不足,基于開源的QEMU模擬器,設(shè)計(jì)并實(shí)現(xiàn)了支持多種CPU平臺(tái)的通用動(dòng)態(tài)函數(shù)調(diào)用跟蹤工具,可在x86_32,x86_64,ARM共3種體系架構(gòu)上動(dòng)態(tài)跟蹤包括Linux內(nèi)核啟動(dòng)過程在內(nèi)的函數(shù)調(diào)用和返回信息.該工具在程序運(yùn)行時(shí)截獲調(diào)用和返回的指令,并記錄相關(guān)信息,利用此種指令只會(huì)在QEMU翻譯塊的最后一條出現(xiàn)的性質(zhì),減少檢查指令的數(shù)量,提高運(yùn)行效率;可不依賴源代碼,只依據(jù)函數(shù)符號(hào)表進(jìn)行函數(shù)調(diào)用關(guān)系分析.實(shí)驗(yàn)結(jié)果表明:跟蹤和分析結(jié)果與源代碼行為一致,相比于S2E提升了分析性能和支持的CPU平臺(tái)種類,且能更好地?cái)U(kuò)展至其他平臺(tái).
文內(nèi)圖片:圖1QEMU塊鏈接示意圖的運(yùn)行流程是啟動(dòng)后從客戶機(jī)的第Fig.1QEMUblockchaining
圖片說明: 使用而不是再重新翻譯.而考慮到避免在控制代碼和客戶機(jī)代碼之間因?yàn)榻?jīng)常跳轉(zhuǎn)所帶來的開銷,QEMU又使用了塊鏈接的機(jī)制,即翻譯好代碼塊后就嘗試將其與之前的翻譯塊鏈接起來,如果之前的翻譯塊與這個(gè)將要執(zhí)行的翻譯塊的客戶機(jī)代碼不跨內(nèi)存分頁(yè)的話,則在它們之間建立直接跳轉(zhuǎn),形成鏈表,這樣大部分的跳轉(zhuǎn)是在翻譯塊之間進(jìn)行的,它們處于同一個(gè)運(yùn)行時(shí)上下文,因此沒有返回QEMU代碼時(shí)所需的切換上下文等復(fù)雜的操作[10],如圖1所示:Fig.1QEMUblockchaining圖1QEMU塊鏈接示意圖QEMU的運(yùn)行流程是啟動(dòng)后從客戶機(jī)的第1條代碼開始,首先查看客戶機(jī)當(dāng)前的指令指針(programcounter,PC)對(duì)應(yīng)的翻譯塊是否在翻譯緩存中,如果沒有的話則進(jìn)行翻譯,并加入翻譯緩存后再執(zhí)行;否則直接執(zhí)行緩存好的代碼,如此循環(huán),如圖2所示:Fig.2QEMUexecutionflowchart圖2QEMU運(yùn)行流程圖本文要解決的核心問題是:如何在多種平臺(tái)下如x86和ARM中動(dòng)態(tài)地獲取函數(shù)調(diào)用與返回的信息,生成函數(shù)調(diào)用關(guān)系數(shù)據(jù),保證完整和全面;同時(shí)考慮到性能,提高執(zhí)行速度,減少模擬速度慢導(dǎo)致的軟件運(yùn)行異常.1.2設(shè)計(jì)思路如1.1節(jié)所述,QEMU模擬器使用動(dòng)態(tài)二進(jìn)制翻譯技術(shù),,所有指令在執(zhí)行前都會(huì)被翻譯,所以可以通過在翻譯時(shí)識(shí)別函數(shù)調(diào)用和返回指令,對(duì)代碼塊進(jìn)行標(biāo)記.在執(zhí)行這些塊之前使用QEMU提供的API獲取如時(shí)間、讀取客戶機(jī)內(nèi)存中的進(jìn)程標(biāo)識(shí)、線程標(biāo)志等信息,利用QEMU已有的輸出日志功能保存到文件中.其中需要額外注意的是信息的完整和全面性問
文內(nèi)圖片:圖2QEMU運(yùn)行流程圖Fig.2QEMUexecutionflowchart
圖片說明: 因此沒有返回QEMU代碼時(shí)所需的切換上下文等復(fù)雜的操作[10],如圖1所示:Fig.1QEMUblockchaining圖1QEMU塊鏈接示意圖QEMU的運(yùn)行流程是啟動(dòng)后從客戶機(jī)的第1條代碼開始,首先查看客戶機(jī)當(dāng)前的指令指針(programcounter,PC)對(duì)應(yīng)的翻譯塊是否在翻譯緩存中,如果沒有的話則進(jìn)行翻譯,并加入翻譯緩存后再執(zhí)行;否則直接執(zhí)行緩存好的代碼,如此循環(huán),如圖2所示:Fig.2QEMUexecutionflowchart圖2QEMU運(yùn)行流程圖本文要解決的核心問題是:如何在多種平臺(tái)下如x86和ARM中動(dòng)態(tài)地獲取函數(shù)調(diào)用與返回的信息,生成函數(shù)調(diào)用關(guān)系數(shù)據(jù),保證完整和全面;同時(shí)考慮到性能,提高執(zhí)行速度,減少模擬速度慢導(dǎo)致的軟件運(yùn)行異常.1.2設(shè)計(jì)思路如1.1節(jié)所述,QEMU模擬器使用動(dòng)態(tài)二進(jìn)制翻譯技術(shù),所有指令在執(zhí)行前都會(huì)被翻譯,所以可以通過在翻譯時(shí)識(shí)別函數(shù)調(diào)用和返回指令,對(duì)代碼塊進(jìn)行標(biāo)記.在執(zhí)行這些塊之前使用QEMU提供的API獲取如時(shí)間、讀取客戶機(jī)內(nèi)存中的進(jìn)程標(biāo)識(shí)、線程標(biāo)志等信息,利用QEMU已有的輸出日志功能保存到文件中.其中需要額外注意的是信息的完整和全面性問題,QEMU原本的塊鏈接機(jī)制會(huì)造成其中的一些函數(shù)調(diào)用由于沒有返回到主控代碼中而無法輸出到日志中,因此需要禁用塊鏈接,每次執(zhí)行翻譯塊之后都會(huì)返回控制代碼中檢查是否發(fā)生了函數(shù)調(diào)用或返回,保證能夠獲取到所有的函數(shù)調(diào)用關(guān)系.Fig.3Dynamicfunctioncalltracingarchitecturedesign圖3動(dòng)態(tài)函數(shù)調(diào)用跟蹤的
【作者單位】: 清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系;北京理工大學(xué)計(jì)算機(jī)學(xué)院;
【基金】:“核高基”國(guó)家科技重大專項(xiàng)基金項(xiàng)目(2012ZX01039-004-41,2012ZX01039-003)~~
【分類號(hào)】:TP316.81

【參考文獻(xiàn)】

相關(guān)期刊論文 前2條

1 賈荻;向勇;孫衛(wèi)真;曹睿東;;基于數(shù)據(jù)庫(kù)的在線函數(shù)調(diào)用圖工具[J];小型微型計(jì)算機(jī)系統(tǒng);2016年03期

2 劉雨辰;王佳;陳云霽;焦帥;;計(jì)算機(jī)系統(tǒng)模擬器研究綜述[J];計(jì)算機(jī)研究與發(fā)展;2015年01期

【共引文獻(xiàn)】

相關(guān)期刊論文 前3條

1 向勇;曹睿東;毛英明;;基于QEMU的動(dòng)態(tài)函數(shù)調(diào)用跟蹤[J];計(jì)算機(jī)研究與發(fā)展;2017年07期

2 金濤;劉淑芬;齊紅;;無人艇保衛(wèi)目標(biāo)的仿真技術(shù)[J];吉林大學(xué)學(xué)報(bào)(理學(xué)版);2017年01期

3 曹立勇;姚程寬;盧燦舉;光峰;張新華;;硬件模擬器對(duì)仿真加速的測(cè)試平臺(tái)研究[J];西昌學(xué)院學(xué)報(bào)(自然科學(xué)版);2016年02期

【二級(jí)參考文獻(xiàn)】

相關(guān)期刊論文 前9條

1 向勇;湯衛(wèi)東;杜香燕;孫衛(wèi)真;;基于內(nèi)核跟蹤的動(dòng)態(tài)函數(shù)調(diào)用圖生成方法[J];計(jì)算機(jī)應(yīng)用研究;2015年04期

2 孫衛(wèi)真;杜香燕;向勇;湯衛(wèi)東;侯鴻儒;;基于RTL的函數(shù)調(diào)用圖生成工具CG-RTL[J];小型微型計(jì)算機(jī)系統(tǒng);2014年03期

3 方錦清;;大數(shù)據(jù)浪潮沖擊下網(wǎng)絡(luò)科學(xué)與工程面臨的挑戰(zhàn)與機(jī)遇[J];自然雜志;2013年05期

4 仰燕蘭;葉樺;費(fèi)樹岷;;車輛定位監(jiān)控系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)與優(yōu)化[J];東南大學(xué)學(xué)報(bào)(自然科學(xué)版);2010年S1期

5 孟祥福;馬宗民;嚴(yán)麗;張霄雁;;一種基于知識(shí)的關(guān)系數(shù)據(jù)庫(kù)模糊查詢方法[J];東北大學(xué)學(xué)報(bào)(自然科學(xué)版);2009年03期

6 陳偉清;劉彥花;;城市規(guī)劃多源數(shù)據(jù)整合與數(shù)據(jù)庫(kù)建設(shè)[J];廣西大學(xué)學(xué)報(bào)(自然科學(xué)版);2009年01期

7 劉如九;張振山;柴天佑;;一種通用的多數(shù)據(jù)庫(kù)間數(shù)據(jù)抽取方法及應(yīng)用[J];北京交通大學(xué)學(xué)報(bào);2008年04期

8 孟祥福;馬宗民;嚴(yán)麗;;數(shù)據(jù)庫(kù)模糊查詢結(jié)果自動(dòng)排序方法[J];東北大學(xué)學(xué)報(bào)(自然科學(xué)版);2008年07期

9 李越,錢德沛;基于NS的分布式并行網(wǎng)絡(luò)模擬器[J];電子學(xué)報(bào);2004年02期

【相似文獻(xiàn)】

相關(guān)期刊論文 前10條

1 王詠武;遠(yuǎn)程函數(shù)調(diào)用的原理與實(shí)現(xiàn)步驟[J];中國(guó)金融電腦;2001年09期

2 李玉斌;API函數(shù)在Visual Basic中的應(yīng)用[J];電子科技;2005年03期

3 劉志芳;杜瑞慶;;淺談C語(yǔ)言中函數(shù)入門的講解[J];中國(guó)科技信息;2007年13期

4 張鋒;;淺談C++中的虛函數(shù)[J];湖南工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào);2008年01期

5 李艷芳;;C語(yǔ)言函數(shù)的教學(xué)探討[J];湖南科技學(xué)院學(xué)報(bào);2009年12期

6 潘莉;;C語(yǔ)言函數(shù)教學(xué)探討[J];科技信息;2011年10期

7 黎路;;C語(yǔ)言函數(shù)教學(xué)探析[J];福建電腦;2011年11期

8 鄭麗英;C~(++)的多態(tài)機(jī)制及虛函數(shù)實(shí)現(xiàn)技術(shù)[J];甘肅工業(yè)大學(xué)學(xué)報(bào);1995年02期

9 郭招娣;API函數(shù)在VB中的應(yīng)用[J];計(jì)算機(jī)應(yīng)用與軟件;2003年09期

10 石小云;C語(yǔ)言函數(shù)疑難問題探索[J];株洲師范高等專科學(xué)校學(xué)報(bào);2004年02期

相關(guān)會(huì)議論文 前1條

1 潘新紅;李慶忠;;用結(jié)構(gòu)化函數(shù)內(nèi)聯(lián)方法處理結(jié)構(gòu)上遞歸的NewsML查詢[A];全國(guó)第十五屆計(jì)算機(jī)科學(xué)與技術(shù)應(yīng)用學(xué)術(shù)會(huì)議論文集[C];2003年

相關(guān)重要報(bào)紙文章 前5條

1 北京信息工程學(xué)院 張澤虹;C函數(shù)編程技巧[N];中國(guó)電腦教育報(bào);2006年

2 孫顧天 笨笨;深入理解函數(shù)和過程的精髓[N];電腦報(bào);2008年

3 鄭州 牛霜霞;用MFC編制Windows打印程序[N];中國(guó)計(jì)算機(jī)報(bào);2000年

4 廣東 林志航;PB調(diào)用API函數(shù)技巧三則[N];電腦報(bào);2001年

5 航天部二院 陳峰;OpenGL中文本的顯示[N];計(jì)算機(jī)世界;2000年

相關(guān)碩士學(xué)位論文 前10條

1 劉陽(yáng);函數(shù)抽取重構(gòu)的檢測(cè)與分析[D];北京理工大學(xué);2015年

2 譚慧;內(nèi)核函數(shù)執(zhí)行時(shí)間和路徑的分析展現(xiàn)[D];北京理工大學(xué);2014年

3 繆小川;基于敏感路徑識(shí)別的安卓應(yīng)用安全性分析方法[D];南京大學(xué);2016年

4 楊羨環(huán);基于函數(shù)調(diào)用序列的漏洞定位方法研究[D];華中科技大學(xué);2013年

5 杜香燕;支持路由協(xié)議分析的內(nèi)核函數(shù)調(diào)用圖工具設(shè)計(jì)[D];首都師范大學(xué);2014年

6 湯衛(wèi)東;動(dòng)態(tài)函數(shù)調(diào)用分析及其在內(nèi)核模塊逆向工程的應(yīng)用[D];清華大學(xué);2014年

7 趙丹;基于靜態(tài)類型分析的Java程序函數(shù)調(diào)用圖構(gòu)建方法研究[D];湖南大學(xué);2006年

8 劉星;基于函數(shù)調(diào)用圖的惡意代碼同源分析[D];國(guó)防科學(xué)技術(shù)大學(xué);2012年

9 黃雙玲;面向C/C++程序函數(shù)調(diào)用關(guān)系的靜態(tài)分析方法研究[D];中國(guó)科學(xué)技術(shù)大學(xué);2015年

10 張苗;進(jìn)化測(cè)試中嵌套If-Else和函數(shù)調(diào)用結(jié)構(gòu)的適值函數(shù)設(shè)計(jì)[D];西安電子科技大學(xué);2008年



本文編號(hào):2513149

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2513149.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶df6b2***提供,本站僅收錄摘要或目錄,作者需要?jiǎng)h除請(qǐng)E-mail郵箱bigeng88@qq.com