[MSP430学习笔记]-430加密总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

MSP430学习笔记-MSP430单片机加密MSP430单片机常见加密总结1、为什么要加密,如何加密?当您的产品推向市场的时候,您的竞争对手就开始盯上它了,如果您的产品硬件很容易被模仿,而且您使用的MSP430单片机没有被加密的话,那么您辛辛苦苦的劳动成功就很容易成为您竞争对手的产品了,使用JTAG调试工具FET虽然可以将程序下载到芯片内部,但只有使用专业编程器能够防止程序被窃取。2、JTAG、BSL、BOOTLOADER、熔丝的区别和关系是什么?JTAG接口能够访问MSP430单片机内部所有资源,通过JTAG可以对芯片进行程序下载、代码调试、内存修改等等,通过JTAG还能烧断加密熔丝,熔丝一旦被烧断,JTAG接口绝大部分功能失效,就再也不能通过它进行编程了。BSL接口是利用芯片内部驻留的bootloader程序实现的自编程,通过特定的时序使得CPU进入bootloader代码断,然后利用每个MSP430芯片内部都有的TimerA构成一个软件串口来与上位机通讯,这样可以将代码下载到芯片内部。实现BSL除了JTAG接口的一些引脚外,还需要用到两个TA0功能引脚,因此在设计产品时如果需要加密,则应该考虑将这两个引脚也连出来。注意:A、要烧断熔丝(加密)必须使用JTAG接口;B、烧断熔丝后只能通过BSL或者用户代码来实现编程更新。3、BSL的验证密码是怎么回事?BSL也能读出芯片内部的代码,这样可以实现编程后的校验等功能。通过BSL擦除所有Flash信息时不需要验证密码,但是要进一步操作,就得输入32字节密码进行验证。BSL的协议规定这32字节密码为芯片FLASH区域的最高32字节,也就是程序的16个中断向量,如果您拥有这段程序的最后32字节,就能通过BSL将芯片内部所有代码读取出来。4、为什么要使用高级加密?32字节的密码看似几乎完全没可能使用穷举法来实现破解,但是各位别忘了,msp430的16个中断向量未必每一个都用到了,没用到的中断向量为0xffff,如果您的程序只用到了复位向量,那么破解者只需尝试最多32768次(中断向量为偶数,所以除以2)就能将其破解,另外,如果芯片本身Flash容量较小,比如4K字节,那么破解者只需尝试最多2K次就能将其破解。这对自动操作的计算机来说几乎是一瞬间的事情。那么如果用到的中断向量越多,就越难破解,最好的办法就是将所有未用到的中断向量全部填充为随机数据,这就是“高级加密”。5、关于TI-TXT文件TI-TXT文件是TI公司为MSP430单片机定义的一种编程代码格式,其内容为纯文本格式,使用任何文本编辑器都能对其进行阅读,下面是一个这类文件的例子:@FEFEB240805A2001F2409D009000F2402E004000F2D080000100F2433300C2439500MSP430学习笔记-MSP430单片机加密C2439A00F2D020005300F2401F005200F2439100F2439200F2439300F2439400F2439500F2439600F2439700F2439800F2439900F2439A0032D0D000FD3F31400003B012A2FF0C9318243C4000020E4330120000B012C4FF3C4000023E40FEFE30120000B012A6FF21523C4000023E40FEFE30120000B012A6FFB012FEFE3040A0FFFF3F1C4330410A121D4104000F4C0A4D1D830A930524EF4E00001F531E53F73F3A4130410A121D4104000F4C0A4D1D830A930424CF4E00001F53F83F3A413041@FFFE5CFFq第一行的@FEFE表示从地址0xFEFE开始,有如下代码。每行为16字节,每个字节使用16进制数表示,每两个字节之间用一个空格格开。内容末尾的@FFFE就是程序的复位向量了,表示程序的入口地址为0xFF5C。最后用一个小写的q字符加换行结束,当然也可以把中断向量的那两行放到最前面去,比如下面这段代码的含义跟上面的是一样的,同样符合规则。@FFFE5CFF@FEFEB240805A2001F2409D009000F2402E004000F2D080000100F2433300C2439500C2439A00F2D020005300F2401F005200F2439100F2439200F2439300F2439400F2439500F2439600F2439700F2439800F2439900F2439A0032D0D000FD3F31400003B012A2FF0C9318243C4000020E4330120000B012C4FF3C4000023E40FEFE30120000B012A6FF21523C4000023E40FEFE30120000B012A6FFB012FEFE3040A0FFFF3F1C4330410A121D4104000F4C0A4D1D830A930524EF4E00001F531E53F73F3A4130410A121D4104000F4C0A4D1D830A930424CF4E00001F53F83F3A413041qMSP430学习笔记-MSP430单片机加密手动修改TI-TXT文件来实现高级加密:下面是使用到中断向量较少的一段代码的中断向量:@FFE010FFA0FF@FFFE5CFF它与下面这段代码意义是一样的:@FFE010FFA0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5CFF这里我们把未用到中断向量改成随机数据,就实现高级加密了,不过注意不要把有效的中断向量也改了哦。@FFE010FFA0FFA55A3721F344E0779A002233445566778899AABBCCDDEE3EE30F5CFF

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功