1,如果板子上有外部存储器,可以先编写一个程序,利用算法把id计算得到一些值存入外部存储器,然后再烧写真正的程序,真正的程序去校验外部存储器的数据是否合法即可
2,利用板子上按键组合,或是上电按住某些键,程序在这个时候利用算法把id计算得到一些值存入程序区(stm8为EE区),程序运行时去验证程序区数据是否正确
3,轩微编程器有软件加密的功能,编程器会读芯片id,根据算法直接改写缓冲区,达到软件加密的作用
4,读出的id通过一定算法,例如异或加上一个数,得到的数据存入flash(只运行一次,运行后标志位也存入flash),下次读到这个标志位,就不运行这个程序。
四、做软件加密时注意
1,不要在程序中直接出现id地址,例如STM32:1FFFF7E8 1FFFF7EC 1FFFF7F0 STM8: 0x4865~0x4870
2, 利用校验和或是crc对程序区进行校验,防止改程序
⑵ 有一个加密芯片SOP-8封装,2脚接GND 8脚接VDD,谁家有货
8条腿(pin)、8位、8k flash...不少人听到这些参数可能会嗤之以鼻,当MCU的CoreMark跑分已经动辄2000多分,像这种“简陋”的单片机已经处在了鄙视链的底端。
但是真的是这样的吗?“鄙视链”往往是键盘侠外行充内行的表现,聪明的人则会在选型时候选择成本、功耗和性能最平衡的器件;每个大神都是处女座,多一丝一毫的资源浪费,都会觉得浑身不舒服。
还记得小MU吗?仅使用STM32F103就可以提供基本的视觉传感功能,可以实现球、线、人、脸、移动物体检测,为Arino,树莓派,PC端,手机端等开发平台提供视觉处理能力。检测结果通过UART,SPI,USB以报文的形式输出,同时提供了4路标准舵机控制接口,可以直接应用于舵机云台。
有点扯远了...小MU很好地说明了一个问题——不是性能最强的才是最好的,硬件过剩同样是一种浪费行为。每一个工程师都应该是处女座,精雕细琢才是真美。或许STM8就是真正适合你的那颗芯!
早在2011年,在21ic的STMCU的论坛就已经有人期待过8-PIN的STM8,而今年,8条腿的STM8已经触手可及啦~ST已经发布了最新的8-PIN STM8S,某宝即可直接购买。
8-PIN着实让人脑洞大开,不得不让人天马行空地构思充满8-PIN STM8的世界,原来玲珑精巧的它有这么多的功用!说到百花齐放我就想到文体两开花,今年时尚价廉的STM8上市了……
回归正题,此次8-PIN STM8以超低廉的价格和独特的八脚让STM8又热了一把,之前也提及过不是性能最强的才是最好的,硬件过剩同样是一种浪费行为,其实不仅如此,8-PIN的STM8对于设计更加严苛的情境下也是至关重要的,网友也为我们分享了这种经验:
据了解,之前器件选型,一般只考虑价格和资源,直到之前一次改版,产品上的一个前端模块是纯模拟器件,要再进一步缩小体积,于是乎只能上单片机了。找来找去,换了国产的增强型51,但实际只用了4个脚,一个外部中断+三个输出脚,内部用到两个定时器,就全部搞定了,国产的虽然也有个别的SOP8,但是资源性能远不如STM8优势明显啊。
因此对于很多体积要求很高的情况,可以说是最好的选择。如温度和电压监控模块上,其内置了12位的AD,对于这些应用完全够了,SPI和I2C可以用来挂载温度节点和oled显示屏。
他也表示之前从来没用过STM8系列,了解了一下该芯
⑶ STM8新手求助!
//inc的库文件夹里面只有
#include<iostm8s103f3.h>
voidmain(void)
{
PD_DDR=0x02;//PD1设置为输出
PD_CR1=0x02;//PD1设置为推挽输出
while(1)
{
if(PD_IDR_IDR4==0)
{
PD_ODR_ODR1=0;//PD4输出低电平
}
else
{
PD_ODR_ODR1=1;//PD4输出高电平
}
}
}
⑷ 单片机原理的加密方法
科研成果保护是每一个科研人员最关心的事情,加密方法有软件加密,硬件加密,软硬件综合加密,时间加密,错误引导加密,专利保护等措施有矛就有盾,有盾就有矛,有矛有盾,才促进矛盾质量水平的提高加密只讲盾,也希望网友提供更新的加密思路,现先讲一个软件加密:利用MCS-51 中A5 指令加密,其实世界上所有资料,包括英文资料都没有讲这条指令,其实这是很好的加密指令A5 功能是二字节空操作指令加密方法在A5 后加一个二字节或三字节操作码,因为所有反汇编软件都不会反汇编A5 指令,造成正常程序反汇编乱套,执行程序无问题仿制者就不能改变你的源程序。
硬件加密:8031/8052单片机就是8031/8052掩模产品中的不合格产品,内部有ROM,可以把8031/8052 当8751/8752 来用,再扩展外部程序器,然后调用8031 内部子程序当然你所选的同批8031芯片的首地址及所需用的中断入口均应转到外部程序区。
硬件加密
用高电压或激光烧断某条引脚,使其读不到内部程序,用高电压会造成一些器件损坏重要RAM 数据采用电池(大电容,街机采用的办法)保护,拔出芯片数据失去机器不能起动,或能初始化,但不能运行。
用真假方法加密
擦除芯片标识
把8X52单片机,标成8X51 单片机,并用到后128B的RAM 等方法,把AT90S8252 当AT89C52,初始化后程序段中并用到EEPROM 内容,你再去联想吧!
用激光(或丝印)打上其它标识如有的单片机引脚兼容,有的又不是同一种单片机,可张冠李戴,只能意会了,这要求你知识面广一点 。
用最新出厂编号的单片机,如2000 年后的AT89C 就难解密,或新的单片机品种,如AVR 单片机。
DIP 封装改成PLCC,TQFP,SOIC,BGA等封装,如果量大可以做定制ASIC,或软封装,用不需外晶振的单片机工作(如AVR 单片机中的AT90S1200),使用更复杂的单片机,FPGA+AVR+SRAM=AT40K系列。
硬件加密与软件加密只是为叙说方便而分开来讲,其实它们是分不开的,互相支撑,互相依存的软件加密:其目的是不让人读懂你的程序,不能修改程序,你可以………….....
利用单片机未公开,未被利用的标志位或单元,作为软件标志位,如8031/8051有一个用户标志位,PSW.1 位,是可以利用的程序入口地址不要用整地址,如:XX00H,XXX0H,可用整地址-1,或-2,而在整地址处加二字节或三字节操作码,在无程序的空单元也加上程序机器码,最好要加巧妙一点用大容量芯片,用市场上仿真器不能仿真的芯片,如内部程序为64KB 或大于64KB 的器件,如:AVR 单片机中ATmega103 的Flash 程序存储器为128KBAT89S8252/AT89S53中有EEPROM,关键数据存放在EEPROM 中,或程序初始化时把密码写到EEPROM 中,程序执行时再查密码正确与否,尽量不让人家读懂程序。关于单片机加密,讲到这里,就算抛砖引玉。
⑸ 单片机加密解密,有没有很好的办法来
芯片解密及单片机解密必须要注意的几点★凯基迪解密
(1)在选定加密芯片前,要充分调研,了解单片机破解技术的新进展,包括哪些单片机是已经确认可以破解的。尽量不选用已可破解或同系列、同型号的芯片,选择采用新工艺、新结构、上市时间较短的单片机,如可以使用ATMEGA88/ATMEGA88V,这种国内目前破解的费用只需要1万元左右;其他也可以和CPLD结合加密,这样解密费用很高,解密一般的CPLD也要1万左右。
(2)尽量不要选用MCS51系列单片机,因为该单片机在国内的普及程度最高,被研究得也最透。
(3)产品的原创者,一般具有产量大的特点,所以可选用比较生僻、偏冷门的单片机来加大仿冒者采购的难度,选用一些生僻的单片机,比如motorola单片机,目前国内会开发使用熟悉motorola单片机的人很少,所以破解的费用也相当高,从8000~3万左右。
(4)在设计成本许可的条件下,应选用具有硬件自毁功能的智能卡芯片,以有效对付物理攻击;另外程序设计的时候,加入时间到计时功能,比如使用到1年,自动停止所有功能的运行,这样会增加破解者的成本。
(5)如果条件许可,可采用两片不同型号单片机互为备份,相互验证,从而增加破解成本。
(6)打磨掉芯片型号等信息或者重新印上其它的型号,以假乱真。
(7)可以利用单片机未公开,未被利用的标志位或单元,作为软件标志位。
(8)利用MCS-51中A5指令加密,其实世界上所有资料,包括英文资料都没有讲这条指令,其实这是很好的加密指令,A5功能是二字节空操作指令加密方法在A5后加一个二字节或三字节操作码,因为所有反汇编软件都不会反汇编A5指令,造成正常程序反汇编乱套,执行程序无问题仿制者就不能改变你的源程序。
(9)应在程序区写上你的大名单位开发时间及仿制必究的说法,以备获得法律保护;另外写上你的大名的时候,可以是随机的,也就是说,采用某种算法,外部不同条件下,你的名字不同,比如husoon1011、jisppm1012等,这样比较难反汇编修改。
(10)采用高档的编程器,烧断内部的部分管脚,具体如何烧断,可以参考:单片机管脚烧断的方法和破解。
(11)采用保密硅胶(环氧树脂灌封胶)封住整个电路板,PCB上多一些没有用途的焊盘,在硅胶中还可以掺杂一些没有用途的元件,同时把MCU周围电路的电子元件尽量抹掉型号。
(12)对SyncMos,Winbond单片机,将把要烧录的文件转成HEX文件,这样烧录到芯片内部的程序空位自动添00,如果你习惯BIN文件,也可以用编程器把空白区域中的FF改成00,这样一般解密器也就找不到芯片中的空位,也就无法执行以后的解密操作。