[发明专利]基于动态链接库的动静融合二进制翻译方法及系统在审
申请号: | 202010345949.0 | 申请日: | 2020-04-27 |
公开(公告)号: | CN111625279A | 公开(公告)日: | 2020-09-04 |
发明(设计)人: | 庞建民;王军;单征;岳峰;李明亮;傅立国;张家豪;谭捷;祝迪;王其涵;郭佳郁 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学 |
主分类号: | G06F8/76 | 分类号: | G06F8/76;G06F9/445 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 周艳巧 |
地址: | 450000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 动态 链接 动静 融合 二进制 翻译 方法 系统 | ||
本发明属于软件移植领域,特别涉及一种基于动态链接库的动静融合二进制翻译方法及系统,以函数为单位划分程序,若函数为第三方库函数,则通过本地库替换方式执行;如果函数内存在间接跳转分支指令,则将该函数置于动态翻译器部分翻译执行,若不存在,则以基本块为单位静态翻译该函数,并记录函数翻译后的重定位信息,生成函数重定位信息表;根据静态分析信息及重定位信息对翻译后的目标代码分析优化,生成用于目标程序在动态执行过程中调用的动态链接库;动态执行时,依据重定位信息表和动态链接库,优先执行优化后函数。本发明充分利用静态二进制翻译离线优化优点,将动态执行期间需要翻译和优化代码放在静态执行,降低翻译开销,提高执行效率。
技术领域
本发明属于软件移植技术领域,特别涉及一种基于动态链接库的动静融合二进制翻译方法及系统。
背景技术
处理器是现代计算机体系结构中的核心部件,处理器的设计制造技术是整个信息产业的核心技术。针对不同的功能需求和应用场景,涌现出了一大批包括x86、Alpha、PowerPC、IA-64、ARM、MIPS、申威、龙芯等处理器架构。不同的处理器架构设计,采用各不相同的指令集,带来了软件兼容性问题,即针对某一处理器生成的二进制可执行程序无法直接在指令集不兼容的其他处理器上运行。在这种情况下二进制翻译技术应运而生。二进制翻译(binary translation)技术可将一种指令集体系架构(Instruction SetArchitecture,ISA)上的指令序列转化成另一种指令集体系结构上的指令序列。目前,二进制翻译技术已经广泛地应用于软件安全分析、程序行为分析、软件逆向工程、系统虚拟化和云计算等领域。从运行流程上来讲,二进制翻译是一种特殊的编译技术,不同于传统编译技术的输入是高级语言,二进制翻译技术的输入是二进制程序。按照二进制翻译器系统架构及实现方式的不同,二进制翻译系统大致可以分为三种,即静态二进制翻译系统、动态二进制翻译系统以及动静融合的二进制翻译系统。其中,旨在综合利用静态二进制翻译和动态二进制翻译的优势,规避各自劣势,以达到更好的执行效率和更广的适用范围,其根据结合的方式又可以分为以动为辅的静态翻译系统和以静态为辅的动态翻译系统。
以动态为辅的静态翻译器主要是为了能够解决静态翻译器无法解决的代码发现问题,其具体实现是在程序执行时,通过调用解释型或动态二进制翻译器完成间接跳转目标地址的确定。以静态为辅的动态翻译器主要是为了能够提前分析处理源平台二进制程序的代码,使用更高级的分析技术和优化手段使得生成代码的质量更高,同时不增加运行时的开销,达到更好的运行效率。但现有动静结合二进制翻译,动静两部分执行过程中因各种因素限制,静态执行所占比例20%左右,未能够充分利用其优化特点,翻译执行效率和开销均受到影响。
发明内容
为此,本发明提供一种基于动态链接库的动静融合二进制翻译方法及系统,充分利用静态二进制翻译可以进行离线优化的优点,将动态执行期间需要翻译和优化的代码放在静态执行,降低程序运行时的翻译和优化开销,提高翻译后目标程序的执行效率。
按照本发明所提供的设计方案,一种基于动态链接库的动静融合二进制翻译方法,包含如下内容:
以函数为单位划分程序,并依据函数特征确定函数执行过程,具体为:首先判定函数是否为第三方库函数,若是,则采用本地相同库函数替换执行,否则判断函数内是否存在间接跳转分支指令,若不存在,则在静态翻译阶段以基本块为单位将源机器代码翻译成目标代码,若存在间接跳转分支指令,则将该函数放在动态翻译执行阶段执行;
静态翻译阶段,静态分析目标可执行程序,生成用于目标程序在动态执行过程中调用的动态链接库;并收集静态翻译后函数的重定位信息,生成重定位信息表;
动态翻译执行阶段,针对静态翻译阶段翻译优化后的函数,依据重定位信息表和动态链接库动态执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010345949.0/2.html,转载请声明来源钻瓜专利网。