面向國(guó)產(chǎn)處理器的二進(jìn)制翻譯關(guān)鍵技術(shù)研究
本文選題:二進(jìn)制翻譯 + 反編譯; 參考:《解放軍信息工程大學(xué)》2014年博士論文
【摘要】:當(dāng)今世界信息技術(shù)一日千里,計(jì)算機(jī)處理器的發(fā)展日新月異,具有自主知識(shí)產(chǎn)權(quán)的國(guó)產(chǎn)通用處理器也得到迅猛發(fā)展。為匹配硬件平臺(tái)發(fā)展對(duì)軟件應(yīng)用需求的高速增長(zhǎng),助推國(guó)產(chǎn)處理器廣泛應(yīng)用,拓展國(guó)產(chǎn)巨型計(jì)算機(jī)的生態(tài)環(huán)境,軟件和代碼移植技術(shù)成為實(shí)現(xiàn)上述目標(biāo)的快速有效解決途徑。二進(jìn)制翻譯技術(shù)是實(shí)現(xiàn)軟件和代碼移植的重要手段,在無(wú)源代碼繼承、應(yīng)用程序優(yōu)化、軟件系統(tǒng)安全分析等方面都有著重要的意義,是現(xiàn)代編譯技術(shù)研究的熱點(diǎn)之一,是軟件逆向工程的重要組成。靜態(tài)二進(jìn)制翻譯在翻譯生成程序執(zhí)行速度和效率上具有先天優(yōu)勢(shì),動(dòng)態(tài)二進(jìn)制翻譯在軟件移植的普適性和完備性方面效果突出,動(dòng)靜結(jié)合的二進(jìn)制翻譯方法可以結(jié)合二者長(zhǎng)處,充分體現(xiàn)這項(xiàng)技術(shù)的特點(diǎn),也是未來(lái)研究的發(fā)展方向。為了解決多源平臺(tái)二進(jìn)制應(yīng)用程序向國(guó)產(chǎn)處理器平臺(tái)的移植問(wèn)題,本文提出了多源一體化翻譯的概念,并給出了多源一體化翻譯系統(tǒng)的整體架構(gòu),針對(duì)其中的關(guān)鍵翻譯技術(shù)和軟硬件協(xié)同翻譯技術(shù)等方面進(jìn)行了系統(tǒng)深入的研究。本文研究的主要內(nèi)容和貢獻(xiàn)包括:1.提出了多源一體解碼和語(yǔ)義映射方法。目前,在二進(jìn)制翻譯領(lǐng)域,針對(duì)多源平臺(tái)向特定目標(biāo)處理器進(jìn)行程序移植時(shí)的統(tǒng)一解碼處理和統(tǒng)一語(yǔ)義映射問(wèn)題,尚未有一套整體的、具備通用性的解決方法。本文提出了在多源一體化翻譯架構(gòu)中解決多源統(tǒng)一解碼和統(tǒng)一語(yǔ)義映射的方法。針對(duì)其中多源異構(gòu)平臺(tái)統(tǒng)一解碼十分繁雜、較難統(tǒng)一的問(wèn)題,本文給出了一種統(tǒng)一編碼解碼語(yǔ)言的本地化方法,有機(jī)地實(shí)現(xiàn)了多源平臺(tái)的一體化解碼;針對(duì)其中現(xiàn)有技術(shù)缺乏適用于多源平臺(tái)的統(tǒng)一的語(yǔ)義描述語(yǔ)言問(wèn)題,本文提出了一種有效最小操作等價(jià)語(yǔ)義變換方法,對(duì)統(tǒng)一最小語(yǔ)義進(jìn)行了規(guī)范定義,并構(gòu)建了適用于多源一體化二進(jìn)制翻譯的統(tǒng)一最小語(yǔ)義描述語(yǔ)言,實(shí)現(xiàn)了多源語(yǔ)義統(tǒng)一描述和統(tǒng)一轉(zhuǎn)換;赟PEC CPU2006等用例對(duì)采用上述方法所支撐的翻譯系統(tǒng)進(jìn)行了實(shí)驗(yàn),針對(duì)各源平臺(tái)的所有測(cè)試用例均可以進(jìn)行正確地指令解碼和語(yǔ)義轉(zhuǎn)換,翻譯生成程序均能在申威(簡(jiǎn)稱SW)平臺(tái)得到與源平臺(tái)上相同的運(yùn)行結(jié)果,表明了上述方法的有效性、完備性和正確性。2.提出了適用于多源一體化二進(jìn)制翻譯的過(guò)程數(shù)據(jù)恢復(fù)方法。在多源一體化二進(jìn)制翻譯中,必須要解決多源平臺(tái)向特定目標(biāo)平臺(tái)的過(guò)程數(shù)據(jù)恢復(fù)問(wèn)題。針對(duì)其中用戶過(guò)程數(shù)據(jù)的具體類型和訪問(wèn)方式不容易恢復(fù)的問(wèn)題,本文提出了一種基于語(yǔ)義鏡像和棧幀動(dòng)態(tài)維護(hù)的用戶過(guò)程數(shù)據(jù)恢復(fù)方法,從程序指令語(yǔ)義角度出發(fā),有效地解決了多源異構(gòu)平臺(tái)到SW平臺(tái)的用戶過(guò)程數(shù)據(jù)的恢復(fù)問(wèn)題;針對(duì)其中異構(gòu)平臺(tái)間庫(kù)函數(shù)調(diào)用約定差異較大帶來(lái)的難以統(tǒng)一翻譯問(wèn)題,本文提出了一種基于函數(shù)封裝和按序分發(fā)的庫(kù)函數(shù)數(shù)據(jù)恢復(fù)方法,實(shí)現(xiàn)了庫(kù)函數(shù)參數(shù)傳遞差異的統(tǒng)一融合處理和多源一體化的庫(kù)函數(shù)移植。通過(guò)系統(tǒng)的整體測(cè)試,驗(yàn)證了本文用戶過(guò)程數(shù)據(jù)恢復(fù)方法的有效性和正確性;對(duì)庫(kù)函數(shù)封裝和按序分發(fā)方法進(jìn)行了針對(duì)性實(shí)驗(yàn),翻譯生成程序文件大小的縮減率平均達(dá)到了17.29%,表明了該方法可以有效縮減生成源碼文件的大小,降低代碼膨脹率。3.提出了針對(duì)標(biāo)志位簡(jiǎn)化翻譯的代碼優(yōu)化方法,F(xiàn)有的標(biāo)志位優(yōu)化翻譯方法均不能完全解決從X86到SW處理器的標(biāo)志位模擬的特殊性問(wèn)題。本文提出了基于多階段優(yōu)化策略的標(biāo)志位優(yōu)化翻譯方法。針對(duì)其中標(biāo)志位條件校驗(yàn)存在大量冗余操作的問(wèn)題,提出了一種基于相鄰條件校驗(yàn)的標(biāo)志位冗余操作化簡(jiǎn)方法,有效解決了語(yǔ)義映射階段“冗余條件驗(yàn)證”帶來(lái)的代碼膨脹問(wèn)題;針對(duì)其中存在大量“無(wú)效標(biāo)志位引用和定值”操作的問(wèn)題,提出了一種源平臺(tái)語(yǔ)義模式發(fā)現(xiàn)與跨函數(shù)邊界無(wú)效標(biāo)志位消除相結(jié)合的標(biāo)志位優(yōu)化翻譯方法,利用異構(gòu)平臺(tái)間“語(yǔ)義對(duì)”等價(jià)特性實(shí)現(xiàn)了語(yǔ)義轉(zhuǎn)換階段指令語(yǔ)義模式的簡(jiǎn)化翻譯,最終在代碼優(yōu)化階段通過(guò)逐漸去除無(wú)效的標(biāo)志位操作,實(shí)現(xiàn)了較為完善的靜態(tài)標(biāo)志位優(yōu)化翻譯。在采用上述代碼優(yōu)化翻譯技術(shù)后,翻譯生成程序的代碼縮減率平均達(dá)到了12.11%。4.提出了一種動(dòng)靜結(jié)合的二進(jìn)制翻譯框架,F(xiàn)有的二進(jìn)制翻譯方式存在靜態(tài)二進(jìn)制翻譯完備性差和動(dòng)態(tài)翻譯效率低的問(wèn)題。本文提出了一種基于增量反饋和多輪維護(hù)的動(dòng)靜結(jié)合二進(jìn)制翻譯框架,并給出了該框架的實(shí)現(xiàn)方法。該框架以靜態(tài)分析為基礎(chǔ),以動(dòng)態(tài)協(xié)同翻譯為支撐,基于輪廓信息和靜態(tài)已翻譯信息制導(dǎo)實(shí)現(xiàn)靜動(dòng)態(tài)二進(jìn)制翻譯的合理交互。實(shí)驗(yàn)結(jié)果表明,本文提出的動(dòng)靜結(jié)合翻譯方法能夠基本解決間接轉(zhuǎn)移指令給靜態(tài)翻譯帶來(lái)的問(wèn)題,并且在翻譯參數(shù)類型和算法相對(duì)固定的程序時(shí),經(jīng)過(guò)幾次執(zhí)行反饋后,便可形成一個(gè)相對(duì)完備的獨(dú)立程序,擁有與靜態(tài)翻譯生成程序一樣的執(zhí)行效率。5.提出了面向SW平臺(tái)的軟硬件協(xié)同翻譯方法。當(dāng)前,純軟件實(shí)現(xiàn)的動(dòng)態(tài)二進(jìn)制翻譯存在優(yōu)化能力提升有限的現(xiàn)實(shí)問(wèn)題。為了提高X86處理器到SW處理器動(dòng)態(tài)二進(jìn)制翻譯的執(zhí)行效率,本文在對(duì)SW體系架構(gòu)和X86架構(gòu)深入研究基礎(chǔ)上,對(duì)純軟件動(dòng)態(tài)二進(jìn)制翻譯的性能瓶頸進(jìn)行了深入的分析,在此基礎(chǔ)上,提出了面向SW平臺(tái)的、軟硬件協(xié)同的二進(jìn)制翻譯技術(shù),給出了軟硬件協(xié)同翻譯的實(shí)現(xiàn)框架和解決方案。最后,本文實(shí)現(xiàn)了一個(gè)多源一體化二進(jìn)制翻譯系統(tǒng),基于該系統(tǒng)對(duì)提出的相關(guān)方法和技術(shù)進(jìn)行了整體實(shí)驗(yàn)和測(cè)試,驗(yàn)證了方法的正確性和有效性。
[Abstract]:In order to solve the problem of unified decoding processing and uniform semantic mapping in multi - source platform , this paper proposes a method for the integration of multi - source integrated translation . This paper presents a method for optimizing translation of dynamic binary translation based on incremental feedback and multi - wheel maintenance .
【學(xué)位授予單位】:解放軍信息工程大學(xué)
【學(xué)位級(jí)別】:博士
【學(xué)位授予年份】:2014
【分類號(hào)】:TP332
【參考文獻(xiàn)】
相關(guān)期刊論文 前10條
1 胡國(guó)卿;邵培南;陳磊;李翔;;基于QEMU的外部總線仿真技術(shù)[J];計(jì)算機(jī)工程;2014年02期
2 王榮華;孟建熠;陳志堅(jiān);嚴(yán)曉浪;;動(dòng)態(tài)二進(jìn)制翻譯中的標(biāo)志位優(yōu)化算法[J];浙江大學(xué)學(xué)報(bào)(工學(xué)版);2014年01期
3 黃聰會(huì);陳靖;張黎;李東陽(yáng);;軟件移植理論與技術(shù)研究[J];計(jì)算機(jī)應(yīng)用研究;2012年06期
4 王志;賈春福;魯凱;;基于環(huán)境敏感分析的惡意代碼脫殼方法[J];計(jì)算機(jī)學(xué)報(bào);2012年04期
5 吳偉峰;趙榮彩;;反編譯中用戶函數(shù)與庫(kù)函數(shù)同名的區(qū)分技術(shù)研究[J];計(jì)算機(jī)學(xué)報(bào);2011年04期
6 王全勝;;基于龍芯2號(hào)處理器的SPEC 2000測(cè)試程序的分析與應(yīng)用[J];現(xiàn)代電子技術(shù);2010年17期
7 嚴(yán)迎建;楊志峰;任方;;面向?qū)S弥噶罴幚砥髟O(shè)計(jì)的軟硬件協(xié)同驗(yàn)證[J];計(jì)算機(jī)工程;2010年06期
8 汪小林;王振林;孫逸峰;劉毅;張彬彬;羅英偉;;利用虛擬化平臺(tái)進(jìn)行內(nèi)存泄露探測(cè)[J];計(jì)算機(jī)學(xué)報(bào);2010年03期
9 方霞;尹青;蔣烈輝;黃海;何紅旗;;基于數(shù)據(jù)流分析的寄存器參數(shù)恢復(fù)方法[J];計(jì)算機(jī)工程;2009年22期
10 張有為;劉小春;汪永紅;;程序段識(shí)別算法研究[J];計(jì)算機(jī)工程;2009年05期
,本文編號(hào):1864165
本文鏈接:http://www.lk138.cn/falvlunwen/zhishichanquanfa/1864165.html