基于FBD的工业控制语言反编译系统研究

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:opou
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
反编译一直以来是逆向工程的重要研究领域之一,它主要通过对机器代码进行逆向编译得到软件的源代码。在工业控制领域,如石油、化工、冶金、电力等对安全要求较高的行业,控制程序的可靠性至关重要。通过反编译得到控制程序的源码,可以有效验证可执行代码的正确性,是一种提高程序可靠性的通用手段。本文的核心就是对组态软件生成的控制程序进行反编译验证。文中选取了广泛用于过程控制领域的FBD语言为研究载体,分析了图形化控制语言的反编译机制,并设计了具有反编译验证功能的DeFBD系统。本文完成的主要工作如下:1)通过对FBD语言各组态元素的详细分析,设计了一种适合于反编译的平台无关的中间代码结构。该中间代码采用一种二叉树结构,以语法树的形式表示FBD程序单元。文中介绍了中间语言的语法元素,给出了语法树节点的具体数据结构,并分析了FBD各类元素的中间代码表示方法。2)将现有的针对C语言的反编译技术应用到FBD语言的反编译研究中,并对DeFBD反编译系统进行了具体设计。该系统以中间语言为分界线,分为前端和后端。文中首先介绍了前端需要完成的主要工作:对二进制代码进行语法分析、语义分析、数据流分析、控制流分析等处理,生成平台无关的中间代码。然后,从FBD语言编译时各种逻辑的翻译入手,探索反编译后端的实现方法。3)设计了FBD程序的自动比较算法,用于验证反编译的结果和FBD源程序的等价性。文中引入了“原子元素”的概念,将FBD程序中的复合元素分解为基本元素序列。基于FBD语言的逻辑执行顺序,设计了FBD元素执行顺序的排序算法。进而将FBD程序比较问题转换为FBD元素的比较问题,并给出了比较方法。本文所研究的FBD语言反编译系统是工业控制领域组态软件可靠性的重要保障,对其他图形化工业控制语言的反编译也有一定的借鉴作用。
其他文献
随着Web2.0应用和SemanticWeb研究的成熟,语义电子病历信息的查询在医学科学和信息科学领域里发展成为热点问题。在研究中,学者们抽象出各种病历信息并将其存储为语义网的RDF三
随着Zigbee无线传感器网络的广泛应用,如何通过互联网对远程监控区域进行实时监测、控制和管理逐渐成为该领域的重要研究课题。论文深入学习、研究了Zigbee技术,在此基础上设计
凭借纵向分割的灵活特性,列存储已被证明比行存储更适合查询密集的分析型应用。作为分析型应用之一的OLAP,其基本操作可以被映射为一组比较复杂且运行时间长的查询语句。研究表
关联规则是数据挖掘技术当中一个非常重要的研究方向,他被广泛应用在现实生活中的各行各业。这个规则不仅可以给人们提供行业内数据规律认可,而且能够总结出海量数据之后的隐
聚类分析是数据挖掘领域中的关键技术之一,具有广泛的应用领域。随着科技的发展,高维数据聚类的应用越来越受到科学家们的关注。相对于传统聚类,高维数据聚类有更多的难点,由
聚类分析是数据挖掘中一个重要的研究分支,已在多个领域得到了很好的应用,诸如数据分析,模式识别和图像处理等。固有的并行性、健壮性和自组织性使得作为新兴的智能仿生算法
无线网络因具有使用灵活、易于拓展等优点,得到了大量应用。相比于有线网络,无线网络存在链路数据传输率低、易丢包、易被窃听、传输时延大、节点需要电池供电等缺点。网络编
随着学科研究的不断交叉融合,现代综合评价方法逐渐呈现多元化,而且它被广泛地应用于决策、信息管理和评估等领域之中。因此,对它的理论以及有效性进行系统研究,提出更为有效的评
由于数据库显著的信息集中存放和资源共享的特点,数据库越来越多的普及到各行各业。数据库保存着企业、政府大量的机密信息以及个人的一些私密信息,如果这些信息不加任何保护措
当代社会数据规模越来越大,且都具有海量、异构、半结构化或非结构化的特点。通过网络,基于海量数据的挖掘、分析以及处理等Web服务成为信息社会发展的趋势。针对海量信息的