资源描述:
《《研究逆向工程技术的意义》》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《研究逆向工程技术的意义》-->《研究逆向工程技术的意义》Pickto:etermicroprocessorrealtimecontrolsoftentasthebackground,discussedthereal-timesoftandsystemframedesignofreal-timesoftentprocess,andthecorrespondingdevelopmentofsoftplesofachievedremarkabletechnicalachievement,theradioa
2、ltimeteraltimeterheightfrom750mto15000m,loorethan10000m)+2%,accordent,andthefirstuseofanalog,digitaltethods,resultsofthedesignshapeidentificationandintothebatchproduction,thefillingstateofhighaltituderadioaltimeterblank.摘 要:以某高空无线电高度表的微处理器实时控制软件研制为背景,探讨
3、了实时软件逆向工程技术。提出并实践了“再生源程序—再结构系统框架—再设计支持”的实时软件逆向开发过程,并开发了相应的工具软件,拓展了软件逆向工程的概念。实例取得了明显的技术成果,使该无线电高度表的测高高度从750m提高到15000m,误差低空为±1%、高空(10000m以上)为±2%,符合实际要求,并首次使用模拟、数字两种显示方式,成果设计定型鉴定并进入批量生产,填补国家高空无线电高度表的空白。关键词:软件逆向工程;再生源程序;再结构;高空无线电高度表软件逆向工程(soft)逆向工程最根本的目的是对目
4、标系统改造,但由于目标系统通常是缺乏设计文档的目标代码。因此,最关键的一步是产生与原来的源程序功能、性能等效的再生源程序。从目标代码生成源程序常用的入手方法是反汇编,但反汇编后的是伪源程序,更关键是没有结构,大型软件尤其是实时软件通常是动态多维结构。完全靠人工分析,多数情况下无从下手,且效率和准确度无法保证,以致有人宁可自己研制也不愿逆向设计。因此,要依赖软硬件工具辅助再生源程序。本系统采用仿真器跟踪和设置“软件探针”(softwareneedle)的方法实现程序切分,探询结合部位,并自动记录出入口,
5、给模块赋名,记录层次和地址遍历检测,保证全部程序被巡视到。同时,运用数据库记录有关信息,为后继分析和设计提供信息资源。2.2 再结构(restructuring)再生源程序是否等同于原来的源程序还有待于结构分析和运行检验。因为即使是正确的再生源程序,其目标代码也不会与原目标代码完全等同。因此再生源程序的结构是设计改造的中间过程和检验的依据,反映对目标系统的理解。任务归结到探索有效的方法与工具,利用再生源程序过程的信息,直接演生程序结构,包括流程图、数据流、控制流、输入-->/输出变量等,为再设计提供支
6、持。描述程序结构有多种方式,可选层次图、流程图、数据流、控制流、输入/输出变量等描述,也可能根据需要探索新的描述内容和描述方法,并开发“结构工具”利用再生源程序过程的信息,自动描述这些结构,并形成相应的图和表。同样,再结构也可能误解源程序而形成伪结构,还必须按软件工程的规则检查其完备性,如除中断模块外,程序应是“有向树”、没有孤立的数据等,拟研制“完备性”工具支持这一需求。L可作为表示软件系统构件及其关系的通用中间格式,为查找感兴趣的构件、可视化信息空间结构和集成现有的工具提供了基础,并且通过统一的用
7、户界面,即otorola6809)控制软件是4kB固化的E-PROM程序。复制硬件和软件后试验,设备可以运行,说明改造关键在软件。另外,原低空高度表只有模拟表盘显示,高空高度表因量程扩大需增加数字显示。扩展量程和增加功能都是建立在对原高度表微处理器控制软件的准确剖析基础上。前阶段是原系统分析。借助仿真器并开发了现场参数记录、遍历记录等工具软件,完成了再生源程序和软件系统再结构,新高度表的研制有了基本保证。同时也吸取了原控制软件成熟与先进的技术,如多重中断、二维服务队列、“看门狗”等有效技术。控制软件分
8、为初始化和实时工作两部分。初始化完成高度表工作前的设置:各种常数,输出一个最大值并喂狗一次,初始化计数器。实时工作部分由中断响应、5个中断服务和服务返回组成。中断服务为:①系统复位模块。当系统在工作过程中出现死机需要重新启动时,必须对整个系统进行复位,包括复位可编程计数器和其使用的存储单元及标志单元。②显示错误信息模块。当系统出现软件错误或硬件错误时,应该显示错误信息,如错误对应的代码。③调整锯齿波模块。④查询工作状态模块。定时查询高度表的工作状态,以便