高级检索

    动态二进制翻译中库函数处理的优化

    Optimization of Library Function Disposing in Dynamic Binary Translation

    • 摘要: 在无源跨平台移植的研究中,效率是制约动态二进制翻译技术发展的主要瓶颈.使用本地函数封装替换的翻译处理方式可以有效提高二进制翻译的性能.然而在实际应用中,随着源程序中库函数调用次数或者翻译器支持库函数数量的增长,库函数处理过程的无用查询开销随之增长,减弱了该方法的优化效果.针对此类问题,结合动态二进制库函数处理过程内在动静结合的性质,提出了将查询信息静态预处理,使用散列函数实现查询过程的优化方法,实现了源程序中库函数地址到相对应处理函数的快速映射,降低了查询开销.基于动态二进制翻译器QEMU实现并测试了优化方法,通过实验验证了该方法降低库函数处理过程中查询开销的有效性.

       

      Abstract: In the research of cross-platform migration without source code, efficiency is the main bottleneck restricting the development of dynamic binary translation technology. Using the method of disposing the local function can effectively improve the performance of binary translation by jacketing and replacing. However, in practical applications, as the number of library function calls in the source program or the number of the library function supported by translators increasing, the benefit of using disposing the local function is on decrease. The querying useless overhead in library function disposing grows which weakens and reduces the optimization effect of the method of disposing the local function. In order to address this kind of problem, a method is proposed based on the properties combined with dynamic and static translation. It is based on the characteristic of dynamic binary translation and the using of disposing the local function. The overhead for the query decreases with the method by preprocessing the query table and realizing the query with Hash function. It can map the source program addresses to corresponding processing function rapidly. Realized on a dynamic translator QEMU, the optimization method is implemented and tested. Experiments verify the effectiveness of this method to reduce query overhead in the process of using disposing the local function with dynamic translation.

       

    /

    返回文章
    返回