- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
??
?
??
某型光电雷达系统中GAL芯片的解密方法研究
?
??
?
?
?
?
?
?
?
???
?
?
?
?
?
摘要:介绍了某型光电雷达电子机载系统中常用的GAL系列可编程控制器的源程序破解方法,对实际破解过程中遇到的问题进行总结分析,并给出一个维修测试方法,实验结果表明:采用superpro编程器结合ABEL编译器软件可以实现程序破解和烧录需求,能满足使用要求。
关键词:GAL可编程控制器;光电雷达;ABEL语言;破解
?
引言
通用逻辑可编程器件GAL[1]是在PAL器件基础上发展起来的PLD器件,在结构和工艺上作了很大改进,由于其性能稳定,价格低廉一直被广泛应用于工业生产中,某型光电雷达系统中使用较多的是GAL16V8B和GAL20V8D这两种。为了提高对某型光电雷达系统相关电路板整体功能的了解和工厂修理能力建设,需要通过对相关芯片源程序的破解以了解其输出与输入的逻辑关系。
本文介绍的对GAL芯片的破解方法以GAL16V8B为例,先通过superpro编程器读取相关芯片熔丝图,获取其jed[2]文件,最后使用ABEL编译器将jed文件进行反编译来获取原始程序,并对反编译后的结果进行验证测试。
?
读取GAL芯片的jed文件
将需要破解的GAL芯片放入superpro编程器中,直接读取芯片的熔丝图并保存成jed格式文件。文件格式如下所示:
MODULE:SUPERPRO
TITEL:C:\DocumentsandSettings\Administrator\桌面\1.jed
DDGAL16V8*
DMLATTICE*
QP20*
QF002194*
QV0*
F0*
L0000000000000000000000000000000000000000000000*
……………………
L0021601111111111111111111111111111111110*
C229B*
jed文件以ASCII码形式表示出熔丝图、测试、标识和注释信息,是软件编程和器件编程之间一种“中间代码”。文件以各自段标识开始,以“*”结束。第一段为设计规范,可以用户名及公司名、日期和器件编号等信息等,最后一行(如C229B)为校验和。jed文件字段通用含义见表1:
表1jed文件字段定义
字段符号
含义
D
器件字段,指明器件的类型
F,L,C
熔丝信息字段,描述器件中每一个熔丝的状态,其中L表示熔丝表,通常器件不同0和1表示的通断也会不同,可根据器件的数据手册和JEDCE文件来确定
V和P
结构化功能测试字段,其中P指定测试条件和管脚号的对应关系,V给出测试向量
G,S,R,M,N,Q,T
可自选信息字段
?
对jed文件进行反编译
3.1ABEL中相关dev文件提取
ABEL系列编译器是专门针对GAL等逻辑功能器件的开源编译器。ABEL编译器可在Windows界面下完成对GAL代码的全部编辑、编译以及反编译过程,也可以在DOS命令行执行相关命令生成abl文件获得源程序文件。
实际使用中常遇到无法获取器件信息等问题导致无法进行从jed文件到abl源程序的反编译。如使用DOS命令直接执行jed源程序反编译时报错如下:
FatalError6503:Devicetypemustbespecified.
要解决上述问题,首先要确保ABEL下有相应的可执行dev文件,以某型光电雷达系统中使用到的GAL16V8B为例,手动在DOS命令行执行ABELLIBlibrary–e工业标号.dev格式命令进行释放其三种工作模式所需的文件即P16V8R.DEV(寄存器模式)、P16V8S.DEV(简单模式)以及P16V8C.DEV(复合模式),若不熟悉ABEL命令可以执行ABELLIBlibrary进行查看,具体运行过程如图1所示:
图1DOS运行ABELLIB命令
执行成功后在ABEL的库文件目录里可以找到对应DEV文件。GAL20V8芯片要生成对应DEV文件步骤和上述描述一样。常见的ABEL器件库中常用的PLD器件工业标号见表2所示:
表2ABEL库中PLD器件工业标号
器件名称
工业标号
GAL16V8(简单模式)
P16V8S
GAL16V8(复合模式)
P16V8C
GAL16V8(寄存器模式)
P16V8R
GAL20V8(简单模式)
P20V8S
GAL20V8(复合模式)
P20V8C
GAL20V8(寄存器模式)
P20V8R
GAL6001
F6001
PAL16H8
P16H8
PAL16L8
P16L8
PAL16R8
P16R8
3.2对jed文件修改
通过3.1步骤解决了DEV文件问题,重新在DOS命令行或者ABEL的Windows界面进行j
文档评论(0)