首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到16条相似文献,搜索用时 125 毫秒
1.
基于对ELF文件加载机制的分析,提出了一种新的main()函数定位思路,当从符号表中查找main()函数地址失败时,则从.text的起始位置(即start例程)开始进行分析,根据特定体系结构下_start例程的规范来确定函数_libc_start_main同main()函数地址相关的参数,依据这些参数来获取main()函数地址。  相似文献   

2.
针对二进制代码分析中由于无符号表信息造成的难以定位主函数main()的问题,提出一种面向PE可执行程序的main函数定位方法。通过分析PE程序从入口点处开始的执行过程从而提炼相关模板,采用模板匹配的方法定位程序中主函数main()的地址。实验结果表明,该方法能够有效实现不同编译环境下PE可执行程序的main()函数定位,有助于提高二进制代码分析工具的分析能力。  相似文献   

3.
静态二进制翻译的入口点通常为main函数,所以main函数执行之前的动态地址解析部分就无法在目标机上恢复。通过分析基于ELF文件的动态地址解析机制,提出了在目标代码中插入代码模拟动态地址解析的方法来解决该问题。该方法已在静态二进制翻译项目中实现,测试结果表明该方法是有效的。  相似文献   

4.
ITC反编译系统应用了基于动态链接信息的库函数快速识别技术,对于绝大部分待翻译IA-64二进制可执行程序中的库函数它都能正确识别,但是当二进制可执行程序包含有与库函数同名的用户函数时,就可能会出现问题.作者在深入分析基于动态链接信息的库函数快速识别技术所导致的问题原因的基础上,充分研究了ELF64格式二进制文件的具体组...  相似文献   

5.
一种基于ELF目标文件的可复用EOS构件制作方法   总被引:1,自引:0,他引:1       下载免费PDF全文
膝启明  陈向群  赵霞 《软件学报》2004,15(Z1):157-163
给出了一种基于ELF目标文件生成二进制可复用软件构件的方法,并在EOS领域作了初步尝试.与其它软件构件封装技术相比较.从ELF目标文件生成可复用二进制软件构件(称作CELF格式)的过程更为直接.为解决原ELF格式中名字冲突问题,非安全指令问题以及来源信任问题,分别采用了接口元素名称再鳊码、源指令流扫描及MD5文摘生成技术.可复用的EOS构件中包含源ELF文件的代码及数据,改进了其中符号表和重定位信息组织,独立部署、参与组装的可能性得到增强.  相似文献   

6.
过程识别技术及相关参数的提取是二进制翻译中过程调用恢复的基础.为较好实现对过程的识别,首先设计了针对GCC编译的ELF(executable and linkable format)文件的过程识别技术,取得了良好的效果.不过随着研究的深入,要求对C编译器和ICC(Intel C compiler)编译器同时具有良好的支持,但在测试中发现这种识别技术在处理ICC编译的ELF程序指令流时存在的一些问题,为此提出了改进算法,这个算法已经在IA-64-Alpha反编译中实现,从而使系统对C编译器和ICC编译器编译的ELF文件都能进行正确的过程识别和参数提取.  相似文献   

7.
基于IA-64体系结构下二进制翻译系统,本文提出了应用过程内静态切片技术恢复索引跳转中跳转表以及目标地址的解决方案。并通过在IA-64体系结构上对C和C 编译器产生的代码进行测试,表明通过该技术可以很好的解决二进制翻译中跳转表的恢复问题,提高二进制解码的覆盖率。  相似文献   

8.
基于IA-64体系结构下二进制翻译系统,本文提出了应用过程内静态切片技术恢复索引跳转中跳转表以及目标地址的解决方案.并通过在IA-64体系结构上对C和C++编译器产生的代码进行测试,表明通过该技术可以很好的解决二进制翻译中跳转表的恢复问题,提高二进制解码的覆盖率.  相似文献   

9.
函数返回类型恢复分为库函数和用户函数返回类型恢复两类。分析IA-64体系结构在函数调用和返回方面的特性得知,用户函数返回类型恢复不是只能从调用者的角度进行分析,还可从被调用者的角度进行分析。综合两种分析方法的优缺点,提出了一种全新的函数返回类型恢复方法。介绍了静态二进制翻译系统ITA中基于控制流和数据流分析的函数返回类型恢复技术,并给出相应的实现算法。由IA-64体系结构的实例验证证明,该方法是一种实用的函数返回类型恢复方法。  相似文献   

10.
目前对处理器速度的追求促使指令集体系结构不断发展,但是软件的支持却不能与其匹配,造成新体系结构推广的困难,研究、解决代码迁移问题的二进制翻译方法应运而生。文中介绍了二进制翻译中解码器的功能,并结合IA-64的指令特点,设计出基于指令束的解码算法。根据测试中发现该算法存在的问题,提出了改进方案,消除束的特性,给每条指令赋予唯一地址并按此地址进行解码。在IA-64至Alpha的二进制翻译课题中,对该算法进行了工程实现。  相似文献   

11.
齐宁  赵荣彩 《计算机工程》2006,32(23):49-51
在对IA-64二进制代码进行翻译的过程中,一个重要的问题就是识别和恢复通过跳转表实现的switch语句。分析了编译器生成跳转表时采用的策略,提出了前向预取同反向切片及表达式置换相结合以识别和恢复switch语句的技术,归纳了用于获取跳转表地址的规格化形式,给出了跳转表分支目标地址恢复方法,从而可将包含跳转表的IA-64二进制代码恢复为高级switch语句。该技术已经在二进制翻译框架I2A上进行了测试,可以处理编译器gcc 2.96及gcc 3.2.3在多种优化级别下生成的IA-64代码。  相似文献   

12.
IA-64二进制代码switch语句恢复技术研究   总被引:1,自引:1,他引:0  
在对IA-64二进制代码进行分析的过程中,一个基本的问题就是识别通过跳转表实现的switch语句中n-条件分支的目标地址,该问题的解决使得对指定过程的机器指令的解码更加完整。文章基于切片和表达式置换技术,结合IA-64中为switch语句生成的汇编代码特点,给出了恢复跳转表及目标地址的方法,从而可以将包含跳转表的IA-64二进制代码恢复为高级switch语句。  相似文献   

13.
作为64住处理器架构的IA-64提供了更高的指令级并行性(ILP),并代表了一种新型微处理器的发展方向,对IA-64二进制指令代码流的自动分析和变换.在基于机器和操作系统的的描述来实现IA-64二进制自动翻译和逆向工程中有重要的意义。本文概述了SLED与IA-64的指令特点,详细介绍了基于SLED对IA-64指令的描述和利用MLTK自动生成反向工具的设计与实现技术.并给出了自动生成反汇编的测试结果。  相似文献   

14.
寄存器旋转技术为每一个循环迭代都提供一组专用的寄存器,从而减少对循环展开的需求。针对如何在IA-64二进制翻译中处理旋转寄存器的问题,提出一种在二进制翻译器的后端直接模拟寄存器旋转特性的解决方案,实验结果证明了该方法在二进制翻译中处理软件流水操作代码的有效性。  相似文献   

15.
在逆向工程中,软件流水循环为逆向翻译带来了困难。针对如何在IA-64二进制翻译中处理软件流水循环提出一种解决方案,采用直接语义映射算法,并通过实验验证该算法在二进制翻译中处理软件流水代码的有效性,为在IA-64二进制翻译中处理软件流水代码奠定了基础。  相似文献   

16.
IA-64体系结构使用64位指令集,该指令集应用显式并行指令计算(EPIC)技术,可提供更高的指令级并行性(ILP),但同时也给IA-64二进制代码流的分析和变换带来了困难.介绍了一个IA-64解码器自动生成器的结构与实现,该生成器的输入为IA-64指令集的SLED描述,自动生成用于IA-64指令解码器的C代码.通过该生成器可有效减少解码器的开发时间,确保解码器的正确性,提高解码器的执行效率.实现的自动生成器可应用于IA-64二进制翻译及逆向工程中.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号