逆编译中几项关键技术研究

来源 :合肥工业大学 | 被引量 : 0次 | 上传用户:baozhuangpms
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
逆编译是软件逆向工程的重要组成部分,在支持可执行代码的分析和维护方面起关键的作用。其研究早在1960年就已开始,当时,美国研制针对特定软件的专门用途的逆编译工具用来进行软件移植。随着软件技术的不断发展,对现有软件的学习、理解、改造、维护和复用日益变得重要。在不侵犯软件版权或者经授权的情况下,对引进软件的消化、吸收和汉化也具有广泛的应用。目前软件重用技术被广泛采用,大量第三方的软件构件和中间件被取来应用,这对于安全重要的系统构成了潜在的威胁,逆编译系统将能找到新的应用领域。 逆编译是高度智能的识别过程,是不完全信息的推理过程。虽然其研究开始较早,但至今还没有形成一套系统的理论和方法。并且随计算机理论和技术的发展,研究的对象和内容也在不断变化。尤其在军工和航天等应用领域,出于安全考虑,一些关键软件需通过逆编译验证可执行代码与源码的等价性。 基于这些理由,几年来,作者就逆编译的理论、方法和技术做进一步的探索和研究,尤其是影响逆编译系统实用性的一些关键问题。通过引用人工智能技术、模式匹配技术和程序变换技术等,从不同的方面进行深入分析和综合,不仅在一些新的研究领域取得了明显的创新性成果,也对已有一些困难问题提出了改进的解决方法。具体如下: 1.提出了难度和复杂性都大于系统库函数的用户库函数识别方法,并建立了用户库函数识别模型。过去很少有关于用户库函数的恢复和识别的研究报导。究其原因可能是多方面的,但主要还是与用户库函数的一些必要信息如函数名和参数类型等不易得到有关。通过潜心研究发现,可以根据用户库函数的组织结构和代码特征,将识别过程分为两个阶段,首先将库函数中间代码翻译为可以逆编译的中间语言程序,然后通过现有方法和技术恢复出相应的库函数名、参数个数及类型等。第二阶段根据这些恢复的信息按照系统库函数识别的方法和技术来构造用户库函数识别模板,并进行识别。这些方法和技术已用于某军用软件的分析中。实践证明效果良好。 2.提出了将开关结构的半自动恢复改进成全自动恢复的方法。开关结构恢复是逆编译中的重要部分,也是很困难的部分。本文分析了C语言开关结构在可执行文件中的形式、特点和表示;定义了一种模式语言,用以描述开关结构引导区识别模板;给出了开关结构识别程序和恢复程序的设计原理及实现方法。识别程序使用这些模板,识别开关结构引导区类型,获取相关信息。恢复程序可以根据这些信息将不同开关结构转换成统一格式的中间代码形式。使用该方法可以很容易地针对新编译器或新版本,在逆编译系统中增添新模板。 3.改进类型恢复方法,提出按特征恢复数据类型。逆编译中数据类型恢复是最困难的部分。文中针对数据类型恢复的困难提出了一种从中间语言代码中提取各种特征信息,并量化表示,然后按照特征进行分析和综合的数据类型恢复方法。该方法不仅表达方便,易于维护和移植,而且还能在一定程度上发现数据类型恢复的错误。文中给出了部分类型的规则表,以实例显示了该方法的实际使用效果,并对数组和结构恢复的可能情况作了有益的探讨。该方法已在基于知识的逆编译系统DECLER中被实现。 4.定义一种面向用户阅读、理解、修改和编程的中间语言并探讨了其编译器的实现方法和技术。当恢复的数据类型不明确时,利用现有技术和工具重新编译几乎不可能。为此从许多不同中间结果中抽取了一种类型无关的中间格式,并进行适当规范,命名为1c语言。通过该语言的语法和语义描述可以看出,该语言具有很多特点:类型说明缺省,控制结构简单,其某些形式类似于汇编语言,但又包含诸如函数名,条件语句等许多符号信息。针对缺少数据类型说明的特点,研究设计和实现相应编译器框架,存储分配和语法制导的语义子程序翻译,将汇编代码翻译为可执行程序和在自定义的代码中连接库函数等一序列方法和技术。
其他文献
本文以丙烯酸β—羟乙酯(HEA)、MDI、聚己二酸1,4—丁二醇酯二醇(或聚环氧丙烷二醇N220)、二羟甲基丙酸和丙烯酸酯为原料合成了自乳化聚氨酯—丙烯酸酯(PUA)复合乳液。考察了
本文以创作于1917年—1949年间的旧体诗为研究对象。在本文中它们被称为“现代旧体诗”。“现代”在这里被约定为一个“时间概念”,它不包含“现代的”、“现代性”之类的性质
目的探讨炎琥宁联合头孢呋辛钠治疗小儿肺炎的疗效。方法选择2012年1月至2013年12月该院诊治的小儿肺炎患儿100例,按治疗方案分为对照组和观察组,各50例。对照组在常规治疗的
汉语断代音韵研究成绩斐然,但汉魏南北朝音韵研究比较薄弱。历来研究南北朝音韵的学者都没有全面利用魏晋南北朝墓志铭的韵文材料,也没有对墓志铭用韵的特点、规律进行专项的归
作为欺诈的一种特殊形式,与“保险业一样的古老”的保险欺诈和保险诈骗犯罪不仅是保险业健康发展的天敌,而且对金融秩序乃至整个国民经济也造成了严重危害。由于我国保险业发展
近年来,对于语言测试反拨效应的研究受到了国内外有关学者的广泛关注。本文基于国外学者在这一领域内的大量理论及实证研究,从理论和实证两方面出发,综合概括近几十年国外学
本文从解读教师专业发展入手,讨论了教师专业发展的意义;教师专业发展的内容;教师专业发展的动态性过程;以及教师专业发展的途径。从这几个方面来界定教师专业发展。在此基础上,回
全球化是当今世界发展的最重要趋势,也是当代人所面对的重要的生存境遇。全球化既是一种经济现象,同时也是一种政治现象和文化现象。它不仅带来了文化在更大范围、更多领域的传
引起体育系大学生打架斗殴行为的具体原因很多,本文通过对体育系学生为打架斗殴事例进行分析查找了原因,提出解决的方法。