首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 281 毫秒
1.
反编译中的静态库识别研究   总被引:2,自引:1,他引:2  
库函数的识别是整个反编译过程的一个重要组成部分。根据可执行程序的静态库的识别过程,该文提出了在这个过程出现的中间代码生成、伪函数模块识别、库函数提取、库函数识别等问题,并给出了对这些问题的解决方法。这些方法在实际的静态库的识别中得到很好的应用。  相似文献   

2.
8086C反编译系统中库函数识别技术及其实现   总被引:5,自引:1,他引:4  
在8086 C反编译系统中,我们把模式识别原理应用于 C库函数的识别.本文首先分析了C库函数在目标代码中的组成特点,然后介绍了8086 C反编译系统中的库函数模式识别技术,即C库函数识别特征的提取、识别的模式匹配方式和库函数特征代码识别表的建立,最后介绍了该库函数识别技术在 8086 C反编译系统中的实现方法.  相似文献   

3.
通过自学习生成库函数识别模板库   总被引:1,自引:0,他引:1  
库函数识别是反编译中的重要的环节,也是难点之一。成功地识别库函数,不仅有利于反编译后继阶段的实现,而且对用户阅读理解反编译生成的高级语言程序大有助益。实现库函数识别,最困难的是为各种编译系统各个版本各种模式的库函数分别构造库函数识别模板库,这是工作量很大的任务。本文介绍了DECLER中所采用的通过自学习生成模板库的方法。该方法减轻了库函数识别模板库的工作量并降低了技术难度。该技术和工具将向用户开放  相似文献   

4.
介绍了一种基于反编译的标注方法.利用反编译技术分析恶意程序,对反编译不同阶段的分析结果应用对应的恶意行为识别策略,从多个层面发现可疑行为.将SVG用于可疑行为标注中,充分利用SVG图形的兼容性,交互性与操作多样性,以图形化的方式展现多层次的可疑行为分析结果,实现各层标注结果的相互对应,相互依托,使用户能够从各个方面把握软件的行为,为判断和消除恶意行为提供可靠的依据.最后给出了相关的实验过程和结果,实验结果表明该方法是直观、有效的.  相似文献   

5.
本文详细分析了FOXBASE~+2.0数据库管理系统中的编译工具FOXPCOMP的编译过程及其实现细节,介绍了其输出代码——FOX代码的格式,从而提出了对FOX代码进行反编译的方法及技术,并引出一个实用的FOX反编译软件FOXTDPRG的设计与实现。  相似文献   

6.
ORACLE数据库存储过程应用安全   总被引:2,自引:0,他引:2  
针对目前各行业管理信息系统应用过程中存在的通过反编译存储过程擅自修改存储过程中的业务逻辑或破解数据库加密校验位算法违规办理业务的情况, 提出了一种oracle数据库存储过程反编译和异常使用的检测方法, 给出了数据库存储过程安全应用监控平台的系统设计原理和实现方案, 并给出了系统具体实现的关键技术.  相似文献   

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

8.
在反编译面向对象软件的过程中,反编译工具必须能够揭示出该软件的体系结构,因此反编译器必须能够识别出软件中的类和类中所包含的方法和属性以及类之间的关系.通过对编译器产生的面向对象软件汇编码进行细致深入的分析,归纳出了类函数的特征码,由此给出了一种能够对软件所包含类中类成员函数进行识别和归类的方法,其中运用了程序切片模拟执行算法等技术并据此开发了一个实验系统,此系统显示方法平均能识别出一个类中约80%的类函数.  相似文献   

9.
本文首先介绍了Fox反编译的必要性,然后介绍了Fox文件的结构和语句结构,最后介绍了Fox文件反编译的实现方法。用本文介绍的这种方法反编译Fox文件,操作简便、直观、速度快;并且反编译得到的程序可直接在Fox环境下运行。  相似文献   

10.
库函数的识别是C语言反编译器的重要组成部分,此文论述了C反编译库函数识别中存在的技术难点,并给出其解决方案。  相似文献   

11.
Reasoning about Java bytecode (JBC) is complicated due to its unstructured control-flow, the use of three-address code combined with the use of an operand stack, etc. Therefore, many static analyzers and model checkers for JBC first convert the code into a higher-level representation. In contrast to traditional decompilation, such representation is often not Java source, but rather some intermediate language which is a good input for the subsequent phases of the tool. Interpretive decompilation consists in partially evaluating an interpreter for the compiled language (in this case JBC) written in a high-level language with respect to the code to be decompiled. There have been proofs-of-concept that interpretive decompilation is feasible, but there remain important open issues when it comes to decompile a real language such as JBC. This paper presents, to the best of our knowledge, the first modular scheme to enable interpretive decompilation of a realistic programming language to a high-level representation, namely of JBC to Prolog. We introduce two notions of optimality which together require that decompilation does not generate code more than once for each program point. We demonstrate the impact of our modular approach and optimality issues on a series of realistic benchmarks. Decompilation times and decompiled program sizes are linear with the size of the input bytecode program. This demonstrates empirically the scalability of modular decompilation of JBC by partial evaluation.  相似文献   

12.
C反编译控制流恢复的形式描述及算法   总被引:7,自引:0,他引:7  
反编译是软件逆向工程的重要组成部分。控制流恢复是C反编译的重要组成部分。本文首先描述了验证反编译结果与原程序功能等价的模型;其次从数学角度提出了C编译和反编译控制结构的数学模型并给出其性质;再次根据对C控制语句编译结果的分析,以扩展的BNF形式描述了C控制语句反编译的约束属性方法;最后给出并说明了反编译控制流恢复的算法及其运行示例。  相似文献   

13.
The interpretative approach to compilation allows compiling programs by partially evaluating an interpreter w.r.t. a source program. This approach, though very attractive in principle, has not been widely applied in practice mainly because of the difficulty in finding a partial evaluation strategy which always obtain “quality” compiled programs. In spite of this, in recent work we have performed a proof of concept of that, at least for some examples, this approach can be applied to decompile Java bytecode into Prolog. This allows applying existing advanced tools for analysis of logic programs in order to verify Java bytecode. However, successful partial evaluation of an interpreter for (a realistic subset of) Java bytecode is a rather challenging problem. The aim of this work is to improve the performance of the decompilation process above in two respects. First, we would like to obtain quality decompiled programs, i.e., simple and small. We refer to this as the effectiveness of the decompilation. Second, we would like the decompilation process to be as efficient as possible, both in terms of time and memory usage, in order to scale up in practice. We refer to this as the efficiency of the decompilation. With this aim, we propose several techniques for improving the partial evaluation strategy. We argue that our experimental results show that we are able to improve significantly the efficiency and effectiveness of the decompilation process.  相似文献   

14.
逆编译系统中中间语言的设计和实现极大地影响逆编译的实用型和通用性 .文中介绍了一种结构简单、可读性强的中间语言 ,它既具有高级语言控制结构 ,又能对汇编语言数据类型进行规范 .用户可以通过阅读中间语言程序来分析、理解和消化软件 .该语言已在基于知识的逆编译系统中应用 .  相似文献   

15.
Methods of improving the decompilation quality, that is, the reconstruction of a program in a high-level language from a given program in a low-level language, are considered. Decompilation is considered as a reverse engineering problem; problems of decompilation quality are examined, and metrics for assessing this quality are proposed.  相似文献   

16.
申利民 《微机发展》2003,13(1):8-10
提出一种将逆编译技术应用于计算机病毒分析的方法,通过逆编译将带病毒机器码程序转换为功能等价的C语言程序,然后以C语言程序为基础进行病毒分析,清除和防治的研究。  相似文献   

17.
程序变换的一种规范说明方法   总被引:1,自引:0,他引:1  
文中给出了一种对程序变换进行分类的方法,提出了适合于更广义程序变换描述的四元组表示,程序变换的一种规范说明方法和规范说明语言的元语言SMOPT。介绍了这一规范说明方法SMOPT在反编译系统OECLER的AB变换器的设计与实现中的应用。  相似文献   

18.
逆编译是编译的逆过程,目的是将可执行的二进制机器代码变换为功能等价的高级语言代码,它在监控恶意代码,挖掘软件漏洞的工作中起着重要的作用。而在面向对象语言的逆编译过程中,模板化库函数识别的难度和复杂性非常大。通过分析现有的C++库函数识别方法,针对库函数模板识别中特征值冲突的关键问题,提出一种改进的特征值构造方法,它能够更完整的保存库函数信息,降低特征值冲突出现的概率,并通过识别部分C++标准模板库函数验证了该算法。  相似文献   

19.
逆编译系统中开关结构的识别与恢复   总被引:2,自引:1,他引:1  
开头结构的恢复是逆编译中的重要部分,也是很困难的部分。本文分析了C语言开关结构在可执行文件中的形式、特点和表示;定义了一种模式语言,用以描述开关结构引导区识别模板;介绍了开关结构识别程序和恢复程序的设计原理及实现方法,识别程序使用这些模板,识别开头结构引导区类型,获取相关信息。恢复程序可以根据这些信息将不同开头结构转换成统一格式的中间代码形式,使用该方法可以很容易地针对新编译器或新版本,在反编译系统中增添新模板。  相似文献   

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

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