基于代码反汇编的电路板测试方法研究
2021-06-27袁荣刘良勇李金猛
电子设计工程 2021年12期
袁荣,刘良勇,李金猛
(国营芜湖机械厂,安徽芜湖 240007)
传统软件要正确在某一平台上运行,则应遵循该平台的一个基本约定。此约定在上层或正向的高级语言开发中不体现,但是在底层汇编级正向或逆向开发中必须严格遵循,这一约定被称为ABI(应用二进制接口),ABI 规定了寄存器用途,调用栈结构。嵌入式系统软件除了具备上层应用软件的所有特征,还体现在硬件的紧密关联上,嵌入式软件源码经过编译链接后的源码无法运行在其他硬件平台上,甚至在使用相同处理器的其他平台也无法运行,这是嵌入式软件复杂性的直接体现[1]。
近年来,航空电子产品发展快速,模块化、组件化、数字化程度不断提高,板件中集成了大量可编程器件,在航电维修过程中,部分板件没有资料,在对硬件理解的基础上并不能掌握板件的工作原理和工作流程,提出了一种利用反汇编的方法对嵌入式板件进行工作流程梳理。
1 反汇编方法研究
利用芯片公司的IDA 软件开展电路板的在线软件代码读取和备份,利用反编译工具反编译软件代码[2],得到各个模块对应的汇编文件,对汇编文件进行分析,主要内容为对模块的初始化、数据流向、硬件空间地址分配进行分析[3],形成数据流程图和模块框图。
1.1 形成数据流程
分析反编译出来的汇编文件[4]、芯片与外设间的数据交互过程,结合硬件空间地址,形成boot 的启动流程以及模块间的数据交互流程[5]。某型电路板反编译后分析的数据流程如图1所示。……
登录APP查看全文
