flyunlimit 发表于 2009-8-29 23:14:22

BCB6写的freescale单片机S19文件的加密软件

自己写的。

可以将freescale单片机的S19文件分析后把真正的程序部分用PC1加密算法加密,保存成以字符表示16进制数据的TXT文件。S19文件是摩托罗拉定义的类似HEX的文件,freescale单片机的程序烧写都用这个文件格式。用CodeWarrior编译程序后可以在工程文件夹下BIN文件夹里找到。

PC1是对称加密算法,为了单片机能算的快一些,现在用的是16字节密钥(足够安全了)。加密算法的原理我没看,直接下的例程,很简洁,看懂大概流程后就可以自己重编辑改变密钥长度。密钥长度必须是2的次方。目前最高是32字节。加密后的文件和原文件大小一样。

PC1的介绍和多种编程平台上的例程 http://membres.lycos.fr/pc1/ 我的同事先找到的,并应用到了STM32的IAP中,我跟人家学习的。

加密后的文件可以通过串口按16进制传给单片机,单片机里的程序负责解密、编程、引导,这样就是一个很安全的IAP了。单片机一侧的IAP程序已经写好了,只是还没有合适的应用程序(就是被IAP的程序)配合,等应用程序写好,试的没问题了再一起放上来。

加密文件有些特性,比如任意改变一位,都会导致解密不出原文;密钥可以半路变化,如果用上这些特性,可以使文件更安全。

加密后数据大体格式是
长度减一(明码)+编程地址(加密)+编程数据(加密)+全部数据的校验和反码(明码)

全部的工程文件,没有用控件,程序量也不大,C++的成分不大,很容易移植到单片机上。带了一个实验用的S19文件。大家可以试试。
点击此处下载 ourdev_476037.rar(文件大小:1.54M) (原文件名:FSUD I.rar)

ndust 发表于 2009-8-29 23:40:23

jh

afenge 发表于 2009-8-30 09:05:07

不错的东东。

blueagle 发表于 2009-8-30 10:46:53

楼主用的什么型号的freescale单片机8位还是32位

flyunlimit 发表于 2009-8-30 19:33:50

HC9S08AC16

anxiangbo 发表于 2011-10-8 08:20:08

记号
页: [1]
查看完整版本: BCB6写的freescale单片机S19文件的加密软件