CH559单片机的几种加密方式
CH559单片机的几种加密方式
芯片加密建议1、概述在该说明文档中会讲述目前(2015.12.30)正在使用或者已知的一些加解密技术作为开发者加密建议,其实我们只是想表述一种思想、方法和简单的建议,更多的还是开发者自己去完成,不然加密方式千篇一律,其意义也不是很大;另外由于加解密技术会随着时间的推移而更加的多样化,所以列举的加解密方法会受实时影响,希望开发者能够理解。
首先要明确一个概念,采用更多的或更先进的加密手段,只能提高解密难度,但是不能绝对杜绝芯片被解密。
随着芯片逆向技术的提高,做芯片解密研究的投入也在增加,总能找到办法解密芯片,没有绝对安全的加密手段。
所以在做一个产品的时候,保密安全性是一个因素,但最为重要的还是产品的功能,所以不能因为加密而使设计提高了较大难度,从而影响了设备本身的功能。
芯片加解密的最重要原则就是,尽量做到解密成本大于开发成本,这样解密也就没有价值和意义。
2、解密技术这里讲解密技术不是为了普及解密方法,我们是要做到知己知彼,才能百战不殆,保住自己的劳动成果。
以下会列举一些已知的解密方法,其实这些东西在网上或者专门做解密芯片的门户网站上也能有简单的说明,我们只要了解其使用方法,然后有针对性的做好加密工作。
单片机(Microcontroller)一般都有内部ROM/EEPROM/FLASH供用户存放程序。
为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。
如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就是所谓拷贝保护或者说锁定功能。
目前,攻击单片机主要有四种技术,分别是:(1)、软件攻击该技术通常使用处理器通信接口并利用协议、加密算法的安全漏洞来进行攻击。
软件攻击者利用单片机擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后,停止下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机,然后利用编程器读出片内程序。
浅谈单片机应用系统的加密方法
经与非门逻辑运算后接到 8 3 的 P . , D 仍接 01 05 把 4
到 P.; 0 4 ④把 地址总 线 中的 A1 A 和 2对 调 } 把地 ⑤
址 总线中 的 A6 求反 ; @把 P . 2 3和 P . 或非 门 24经
一
过 线孔 。
() 最 简单的也 是最 常用 的 加密方 法 ( 1把 即对 单
片机的地址总线、 数据总线中的某些线进行交叉换
位, 或把某 些线 路通过 逻辑 电路 , 变原信 号间的逻 改 辑关 系 , 用 户仿真 时 读 出的 程 序存 储 器 中的数 据 使 变成一个 随机 数 , 而失去反 汇编 的意 义) 从 有机 地结 台 起 来 , 可 实现硬 件 的加 密 , 图 1 即 如 。其 中 : 把 ① DO和 D7对 调 , 换 了数 据 总 线 中 的 某 些位 ; 把 交 ② 数 据 总线 D6 求反 ; 把 26 ③ 74的两 根 数据 线 D5D ,4
o ir - Co p t i fM c o- m u erUnt
F n S u y o, ta a h n a e l
(ol eo Clg e f
r a i n l tclegneig C i nvri nn  ̄T cnlg Xuh u2 1 0 ) m t nad ee r a n ier . hn U iesyo Mii o ci n a t f g eh oo y・ zo 2 08
、
维普资讯
1 期
樊舜尧 苷 一 浅谈单片机 应用 系统的加密方 法
为 了防 止 新产 品 的核 心 技术 被窃 , 要 对其 硬 需 件 电路和软 件进 行 加密 。加密方法 的基 本思路 是对 硬 件 电路和 软件 程 序均采取 一切 可用的 方法增 加其 读 出难 度 , 防止 硬 件 电路原 理 被 人测 试和 软 件被 破
单片机数据加密算法
单片机数据加密算法
1. 对称加密算法,对称加密算法使用相同的密钥来加密和解密数据。
常见的对称加密算法包括AES(高级加密标准)、DES(数据加密标准)和3DES。
这些算法在单片机上通常具有较高的执行效率和较小的存储需求。
2. 非对称加密算法,非对称加密算法使用公钥和私钥来加密和解密数据。
常见的非对称加密算法包括RSA、ECC(椭圆曲线加密)和DSA(数字签名算法)。
这些算法通常比对称加密算法更复杂,因此在单片机上的实现可能需要更多的计算资源。
3. 哈希函数,哈希函数用于将任意长度的数据映射为固定长度的哈希值。
常见的哈希函数包括SHA-1、SHA-256和MD5。
在单片机上,哈希函数通常用于验证数据的完整性和生成消息摘要。
4. 随机数生成器,随机数生成器用于生成加密过程中需要的随机数。
在单片机上,通常使用伪随机数生成器来产生随机数序列。
在选择单片机数据加密算法时,需要综合考虑安全性、执行效率和存储需求。
合适的加密算法可以保护数据安全,同时不会对单
片机的性能造成过大的影响。
同时,还需要注意算法的实现细节,以防止可能的侧信道攻击和其他安全风险。
最终选择的加密算法应该能够满足具体应用场景的安全需求。
单片机密码锁(掉电可记忆密码)
/***************************************************** ***************************程序功能:本程序结合了24C02存储器的存储功能,可以掉电保存密码。
第一次运行时,若输入000000原始密码后无反应,可以试验着将主程序中前面的一小段被注释线屏蔽的程序前的注释线删掉,然后从头编译下载(可以将密码还功能键S1---S10数字键0-9S12---更改密码完毕后确认S11---更改密码S13---重试密码、从头设定S14---关闭密码锁初始密码:000000密码位数:6位原为000000)。
此后,再将这小段程序屏蔽掉,再编译下载。
方可正常使用。
1、开锁:下载程序后,直接按六次S1(即代表数字1),8位LED亮,锁被打开,输入密码时,六位数码管依次显示小横杠。
2、更改密码:只有当开锁(LED亮)后,该功能方可使用。
首先按下更改密码键S11,然后设置相应密码,此时六位数码管会显示设置密码对应的数字。
最后设置完六位后,按下S12确认密码更改,此后新密码即生效。
3、重试密码:当输入密码时,密码输错后按下键S13,可从头输入六位密码。
当设置密码时,设置中途想更改密码,也可按下此键从头设置。
4、关闭密码锁:按下S14即可将打开的密码锁关闭。
推荐初级演示步骤:输入原始密码000000---按下更改密码按键S11---按0到9设置密码---按S12确认密码更改---按S14关闭密码锁---输入新的密码打开密码锁***************************************************************** **************/#include<>#include <>#define uint unsigned int#define uchar unsigned charuchar old1,old2,old3,old4,old5,old6; //原始密码000000uchar new1,new2,new3,new4,new5,new6;//每次MCU采集到的密码输入uchar a=16,b=16,c=16,d=16,e=16,f=16; //送入数码管显示的变量uchar wei,key,temp;bit allow,genggai,ok,wanbi,retry,close;//各个状态位sbit dula=P2^6;sbit wela=P2^7;sbit beep=P2^3;sbit sda=P2^0;//IO口定义sbit scl=P2^1;unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40};/*****************IIC芯片24C02存储器驱动程序************************************/void nop(){}/////////24C02读写驱动程序////////////////////void delay1(unsigned int m){unsigned int n;_nop_();_nop_();for(n=0;n<m;n++);}void init()//24c02初始化子程序{}void start()//启动I2C总线{sda=1;scl=1;nop();sda=1;nop();}nop();scl=1;nop();sda=0;nop();scl=0;nop();void stop()//停止I2C总线{}void writebyte(unsigned char j)//写一个字节{unsigned char i,temp;sda=0;nop();scl=1;nop();sda=1;nop();temp=j;for (i=0;i<8;i++){}temp=temp<<1;scl=0;nop();sda=CY;nop();scl=1;nop();//待sda线上的数据安定后,将scl拉高//temp左移时,移出的值放入了CY中scl=0;nop();sda=1;nop();}unsigned char readbyte()//读一个字节{unsigned char i,j,k=0;scl=0; nop(); sda=1;for (i=0;i<8;i++){nop(); scl=1; nop();if(sda==1)j=1;elsej=0;k=(k<<1)|j;scl=0;}nop();}void clock()//I2C总线时钟{unsigned char i=0;scl=1;nop();while((sda==1)&&(i<255))i++;scl=0;nop();}////////从24c02的地址address中读取一个字节数据/////unsigned char read24c02(unsigned char address){unsigned char i;start();writebyte(0xa0);clock();return(k);writebyte(address);clock();start();writebyte(0xa1);clock();i=readbyte();stop();delay1(100);return(i);}//////向24c02的address地址中写入一字节数据info///// void write24c02(unsigned char address,unsigned char info) {start();writebyte(0xa0);clock();writebyte(address);clock();writebyte(info);clock();stop();delay1(5000); //这个延时一定要足够长,否则会出错。
常用的单片机加密手段(二)
常用的单片机加密手段(二)昨天写了一种常用的单片机加密手段,受到很多电子同行的反响,也引起来很多此类话题讨论,是我没想到的。
由于现在的公众号还没开通原创功能,没办法针对同学们的提问进行解答,而且内容也比较复杂,所以我单独再开一章来讲解关于单片机加密方面,大家普遍比较关心的问题。
第一:昨天的那种常用方法,有部分同学担心量产效率问题。
效率肯定是影响的,既要保证安全性,必然要牺牲少许效率,但是影响远远比同学们想象的影响低。
其实就是烧写两次程序,首先,写一个读取芯片ID,然后根据我们设计的算法计算出来数据,并且写入到EEPROM里数据的这样一个程序1,我们的功能程序作为程序2。
那烧写程序时,我们先烧写程序1进入单片机,固话好我们的数据后,再然后烧写程序2到单片机;或者采用流水线式工作,工作人员甲专门烧写程序1来一遍,工作人员乙烧写程序2来一遍。
程序1的功能其实非常简单,因此烧写起来肯定很快,不管如何影响到一定的效率,但是影响是非常小的。
第二:昨天的那种方法,就可以确保万无一失了么?当然不是。
这个世界上就不存在绝对安全的东西,就看付出多大的代价。
据称STM32的某些型号内部的96位的ID是烧写在system区域,而破解者找到了原厂的调试工具,可以直接烧录改变这个ID。
在利益面前,总是会有人去做这种事情,甚至说这种原厂调试工具的泄露,不排除是他们自己人做的。
那我们电子工程师的劳动成果就这么白白窃取,我们无能为力么?当然不是了。
安全和攻击一直在较量着,我们只需要多方面增强我们产品的安全性,让破解着花费的代价,超过了重新开发出来花费的代价,那就可以让破解着直接望而却步了。
我们一个产品可以采用多层加密的手段来做,这样就可以尽可能的加大破解者的难度,提高我们产品的安全性能。
------------------------------------------------------------------下面我给大家介绍几种安全加密方面的方法,由于部分方法详细讲解比较复杂,我只是简单给大家介绍一下原理,先让各位同学涨一下见识,让你知道有这么回事。
沁恒CH559芯片入门指南
沁恒CH559芯⽚⼊门指南CH559 ⼊门指南CH559 是沁恒公司⽣产的 8 位增强型新⼀代 51 内核单⽚机,相⽐传统的 8051 使⽤了较多新的技术。
以下新技术为传统 8051 没有的:1. 锁相环(PLL) —— 可以实现⾮整数倍的频率调整,可以对外输出需要时钟信号2. 内置晶振 —— 内置 12MHz 晶振,可以简化电路设计,也可以使⽤外接晶振3. USB 控制器和收发器 —— 可以实现 USB 通讯,产品可以使⽤ U 盘更新固件4. SPI 控制器 —— 可以实现 SPI 通信,⽀持 SD-CARD 等 SPI 设备5. ADC 模数转换 —— ⽀持 10 位或者 11 位模数转化,最⾼ 1Msps 采样率6. LED-CTRL —— ⽀持 LED 屏控制卡接⼝7. GPIO —— 可选多种模式,开漏或强推挽,上拉或者不上拉电阻8. ID —— 内置 ID,可⽤于程序保密可以看到 CH559 的功能还是⼗分强⼤的,基本上可以满⾜常⽤的功能⽽不需要外挂芯⽚。
这⾥以 CH558&9L MINIEVT 这块板⼦为例,介绍 CH559 的使⽤⽅法。
(CH558 与 CH559细节上⾮常类似,多数代码可以通⽤)沁恒的芯⽚下载程序为 WCHISPTOOL,使⽤起来⽐较简单,⽀持 USB 和串⼝下载两种⽅式,当然⾸先要将 WCH 芯⽚⽀持库添加到 Keil 软件中去,之后在 Keil 就可以使⽤WCH 系列的芯⽚了。
在这⾥,作为开始,新建⼯程并编写⼀个简单的程序来测试⼀下单⽚机输出:在 Keil ⾥有这么⼀个函数 _nop_(),它可以让 CPU 空转⼀个周期。
编写测试代码,并编译,打开配置设置⾥的 hex ⽂件输出选项,下载需使⽤ hex ⽂件。
然后下载 hex ⽂件到实验板注意:⾸先选择正确的芯⽚系列,选择正确的芯⽚型号,勾选“下载完成后运⾏⽬标程序”(如果不勾选就要在下载程序后按复位按键,⼿动运⾏程序),选择需要下载的 hex ⽂件。
几种常用的单片机加密方法
几种常用的单片机加密方法一、加密方法1、烧断数据总线。
这个方法我想应不错,但应有损坏的风险,听说也能**。
2、芯片打磨改型,这个方法有一定作用,改了型号能误导,但同时也增加成本,解密者一般也能分析出来。
3、用不合格的单片机的的存储器:这个方法听起来不错,值得一试。
很多单片机有这种情况,有的是小容量改为大容量来用,**者应很难发现。
例:8031/8052 单片机就是8731/8752掩模产品中的不合格产品,内部可能有ROM。
可把8031/8052 当8751/8752 来用.但使用时要测试可靠。
4、其他还有添加外部硬件电路的加密方法。
但那样增加成本,效果不一定好。
5、软件加密,是一些防止别人读懂程序的方法,单一的这种方法不能防止别人全盘复制。
须配合其他的加密方法。
6、通过序列号加密,这个方法当你的产品是连接PC时或网络,我想是一个比较理想的方法。
原理跟电话产品防伪标志相近。
就是在你的单片机中生成一个唯一的随机长序列号,并加入复杂的特种算法,或加入你们重新编码的企业信息在里面,每个芯片内不同,复制者只能复制到一个序列号。
这个方法不能防止复制,但能发现复制品,并可在升级或在网络状态控制它或让他自毁。
如果产品不联机或不可升级,则这个方法完全无效,只能是在上法院时可当作证据,因为内含特种算法破解者是无法知道的。
7、通过单片机唯一的特性标识(不可修改)进行加密这个方法最好,能很好的防止复制。
但大多单片机没有唯一标识。
STC单片机里面含唯一标识,但本人没用过,下次一定要研究使用一下。
理论上只要含唯一标识是单片机都可实现,ATMEL AVR系列单片大部分型号有RC校正字节(几十个芯片才有一个相同,并且不可修改)能实现这个理想功能,可做到即使芯片内程序被读出也无法直接在另一个同型号的单片机上正常运行。
并且如果用这个唯一标识来生成含有加密算法的序列号,结合第6种方法,哪应是最理想的加密方法。
以上方法应都是一种加密的思路,各种方法可接合着用,6、7两种方法是本人认为比较合适,实现起来比较容易的方法。
单片机加密技术 解密技术
介绍了单片机内部密码破_解的常用方法,重点说明了侵入型攻击/物理攻击方法的详细步骤,最后,从应用角度出发,提出了对付破_解的几点建议。
1引言单片机(Microcontroller)一般都有内部ROM/EEPROM/FLASH供用户存放程序。
为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。
如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就是所谓拷贝保护或者说锁定功能。
事实上,这样的保护措施很脆弱,很容易被破_解。
单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序。
因此,作为电子产品的设计工程师非常有必要了解当前单片机攻击的最新技术,做到知己知彼,心中有数,才能有效防止自己花费大量金钱和时间辛辛苦苦设计出来的产品被人家一夜之间仿冒的事情发生。
2单片机攻击技术目前,攻击单片机主要有四种技术,分别是:(1)软件攻击该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。
软件攻击取得成功的一个典型事例是对早期ATMELAT89C系列单片机的攻击。
攻击者利用了该系列单片机擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后,停止下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机,然后利用编程器读出片内程序。
(2)电子探测攻击该技术通常以高时间分辨率来监控处理器在正常操作时所有电源和接口连接的模拟特性,并通过监控它的电磁辐射特性来实施攻击。
因为单片机是一个活动的电子器件,当它执行不同的指令时,对应的电源功率消耗也相应变化。
这样通过使用特殊的电子测量仪器和数学统计方法分析和检测这些变化,即可获取单片机中的特定关键信息。
(3)过错产生技术该技术使用异常工作条件来使处理器出错,然后提供额外的访问来进行攻击。
单片机代码加密防破解方法
单片机代码加密防破解方法摘要:一、单片机代码加密的必要性二、单片机代码加密方法1.编写时加密2.运行时解密3.加密算法选择三、加密技术的局限性及应对策略四、案例分享五、总结与建议正文:一、单片机代码加密的必要性随着科技的不断发展,单片机应用范围越来越广泛,其在工业控制、智能家居、物联网等领域发挥着重要作用。
然而,单片机程序的安全性越来越受到威胁,加密单片机代码以防止被破解成为必要手段。
一旦单片机程序被破解,可能导致设备失控、数据泄露等严重后果。
因此,加密单片机代码具有显著的现实意义。
二、单片机代码加密方法1.编写时加密:在将代码写入单片机之前,可以使用加密算法对代码进行加密。
这种方法在编写时较为麻烦,但能有效防止代码在存储和传输过程中的泄露。
常见的加密算法有AES、DES等。
2.运行时解密:在单片机运行时,可以根据特定条件对加密代码进行解密。
这种方法可以在保证代码安全性的同时,降低加密和解密过程中的执行速度影响。
解密条件可以设置为特定时间段、特定操作等。
3.加密算法选择:选择合适的加密算法是提高代码安全性的关键。
常用的加密算法有对称加密算法(如AES)、非对称加密算法(如RSA)和哈希算法等。
在选择加密算法时,需综合考虑算法的安全性、执行速度和资源占用等因素。
三、加密技术的局限性及应对策略虽然加密技术能有效提高单片机代码的安全性,但仍存在一定局限性。
首先,加密和解密过程会消耗部分计算资源,可能导致程序执行速度降低。
其次,加密算法可能被破解,尤其是弱加密算法。
此外,硬件保护措施(如FPGA)容易被攻击者绕过。
为应对这些局限性,可以采取以下策略:1.采用多层加密:对代码进行多层加密,增加破解难度。
2.动态加密:根据程序运行状态,动态生成加密代码。
3.选择强加密算法:使用安全性较高的加密算法,如AES。
4.结合其他安全措施:如硬件保护、防火墙等。
四、案例分享在实际应用中,有许多方法可以应用于单片机代码加密。
MCU常见的加密手段
MCU常见的加密⼿段现在的MCU程序可能别⼈花⼏百块钱就能破解,为了防⽌⼤家的程序不被剽窃,今天给⼤家分享点加密的内容。
⼀、常见加密⽅法本节不讲加密具体实现算法,只讲常见加密⽅法。
1.程序写保护这种⽅法是最常见,也是最简单的⼀种。
现在的MUC基本都有写保护功能,但是这种容易被⼈破解。
2.烧断数据总线这个⽅法听起来不错,但有损坏的风险,同样也能破解。
3.软件加密是⼀些防⽌别⼈读懂程序的⽅法,单⼀的这种⽅法不能防⽌别⼈全盘复制,须配合其他的加密算法。
4.添加外部硬件电路的加密⽅法这个⽅法效果看起来⽐较好,但会增加成本。
5.芯⽚打磨改型这个⽅法改了型号能误导,但同时也增加成本,解密者⼀般也能分析出来。
6.通过通过联⽹加序列号加密通过连接⽹络,在你的MCU中⽣成⼀个唯⼀的随机长序列号,并加⼊复杂的特种算法,或加⼊你们重新编码的企业信息在⾥⾯,每个芯⽚内不同,复制者只能复制到⼀个序列号。
7.通过MCU唯⼀的标识加密以前很多MCU没有唯⼀标识码,现在的很多MCU都具有唯⼀标识码了。
这个⽅法⽐较好,简单省事,能很好的防⽌复制。
⼆、读保护 + 唯⼀ID加密使⽤读保护 + 唯⼀ID的加密是最常⽤的⼀种⽅法,也是推荐⼤家使⽤的⼀种⽅法。
1.唯⼀ID现在正规的芯⽚,每颗出⼚的时候都带了⼀个唯⼀标识码,这个号码是唯⼀不重复的,⽐如STM32的就使⽤96位作为唯⼀ID。
和我们每个⼈的⾝份证号码⼀样,现在刚出⽣的婴⼉,上户的时候就给他⼀个⾝份证号,那么每个芯⽚⼀⽣产出来,也就具备了这个⾝份证号。
2.加密原理读保护就不⽤说了,增加被破解难度。
使⽤唯⼀ID加密的⽅法很多,这⾥说⼀种简单的⽅法:出⼚时程序读取唯⼀ID并保存在⼀个位置,以后程序执⾏之前,要读取并匹配这个唯⼀ID,⼀致才执⾏程序。
当然,这种⽅法是最基础的原理,但也存在被破解的风险。
所以,存储的数据,以及读取验证这两个地⽅需要进⼀步添加⼀些算法。
这样操作之后,即使别⼈读取了你的程序,也是⽆法正常执⾏。
CH559 评估板使用说明书
USB单片机CH559的评估板说明版本:V1.51、硬件部分1.1开发板图1.1.3CH558&9MINIEVT图1.1.1CH559EVT图1.1.2CH559MINIEVT1.2开发板主芯片及功能说明(1)、芯片工作电源选择:芯片电压选择,VCC和+5V短接,VDD33悬空,CH559的工作电压选为5V;VCC 和3V3短接,VDD33和3V3短接,CH559工作电压选为3.3V;(2)、评估板电源输入:通过P1电源适配器插口输入8-15V的电压,如图1.1.1的P1口;通过USB直接输入5V电压,如图1.1.1和图1.1.2的USB口;通过VCC和GND插针直接输入5V或者3.3V电压,图1.1.1和图1.1.2都可以通过VCC和GND供电;(3)、复位:C15默认不焊,若焊接则延长复位时间;(4)、TF卡使用SPI方式进行操作,使用时R1需焊接0Ω电阻;(5)、串行Flash使用SPI0操作,使用时R6需焊接0Ω电阻;(6)、LED指示灯连接P4.0~P4.3,引脚输出低电平点亮相应的LED;(7)、P5.4/P5.5支持iRS485数据收发,使用时R16/R18焊20K电阻,R17接120Ω电阻;(8)、外扩RAM物理连接采用直接地址方式,用法参考例程XBUS.C,使用时需短接J4;2、评估板资料包说明来源:搜索CH559文件名:CH559EVT.ZIP资料包:头文件(C、汇编)评估板原理图PCB图例程2.1CH559.uvproj功能:CH559keil4工程文件,头文件、延时函数、串口0初始化等常用函数定义;2.2ADC文件夹功能:ADC中断(查询)方式手动和自动采集,ADC采样时钟设置,电压比较功能函数定义;2.3CHIP_ID文件夹功能:芯片唯一ID号获取函数定义;2.4DataFlash文件夹功能:DataFlash擦除读写函数定义;2.5Encryption文件夹功能:芯片常用加密方法介绍和说明;2.6GPIO文件夹功能:GPIO设置和GPIO中断使用说明;2.7IAP文件夹功能:CH559用户程序跳转至IAP升级演示和说明文档,提供上位机软件和源码;2.8LED_CTRL文件夹功能:CH559LED控制卡演示,支持U盘更新显示内容和掉电数据不丢失;2.9PWM文件夹功能:PWM1&2初始化,PWM占空比设置函数;2.10SPI0文件夹功能:SPI0主机从机模式初始化和数据收发演示,主机操作CH376,从机连接其他C51MCU;2.11SPI1文件夹功能:SPI0主机模式初始化和数据收发演示,主机操作CH376;2.12Timer0文件夹功能:定时器0初始化和定时器、计数器使用函数定义;2.13Timer1文件夹功能:定时器1初始化和定时器、计数器使用函数定义;2.14Timer2文件夹功能:定时器2初始化和定时器、计数器使用函数定义,定时器2捕捉功能函数定义;2.15Timer3文件夹功能:定时器3初始化和定时器、计数器使用函数定义,定时器3捕捉功能函数定义和PWM3设置及使用;2.16UART0文件夹功能:串口0初始化和中断收发示例;2.17WDOG文件夹功能:看门狗初始化和喂狗;2.18XBUS文件夹功能:并行总线初始化和数据收发函数定义;2.19USB_LIB文件夹功能:USB文件系统库;2.20USB文件夹A.DEVICE文件夹模拟USB键鼠例程,支持部分类命令;模拟厂商自定义设备,需要安装CH372驱动,可以通过372test.exe调试(批量数据收发,中断传输);B.HOST文件夹USB主机应用例子,初始化和枚举USB端口连接的设备,支持一级外部HUB,可以操作USB键鼠和HUB,打印机,包含HID类命令处理;C.U_DISK字节方式读写文件,包括文件创建、删除、修改文件属性,修改文件名;扇区方式读写文件,包括文件创建、删除、修改文件属性,修改文件名;创建文件夹和文件创建;枚举根目录或者指定目下的文件;2.21PUB评估板说明功能:评估板说明、评估板原理图3、MCU ISP下载软件说明3.1下载前准备3.1.1ISP变更重要:因为ISP工具升级更新,芯片BOOT版本V2.30以前的版本需要在V2.40及以上版本ISP工具上选择支持的BOOT版本,以下以ISPTool(V2.40)为例,默认支持最新BOOT。
了解编程中的五个保密编码方法
了解编程中的五个保密编码方法在编程中,保密编码方法是为了保护数据和信息的安全性,防止被未经授权的用户获取或窃取。
以下是五个常用的保密编码方法。
1.对称加密对称加密方法是将数据和信息使用相同的密钥进行加密和解密。
发送者和接收者必须共享相同的密钥。
在加密过程中,明文通过密钥转换为密文,而在解密过程中,密文通过相同的密钥恢复为明文。
对称加密的优点是加密和解密速度快,但密钥的共享需要安全通道。
2.非对称加密非对称加密方法使用一对密钥,分别是公钥和私钥。
公钥可以在公共网络中传输,而私钥只有接收者可以访问。
发送者使用接收者的公钥对数据和信息进行加密,只有接收者使用他们的私钥才能解密加密的数据。
非对称加密的优点是密钥的传输不需要安全通道,但加密和解密的速度较慢。
3.哈希函数哈希函数是一种将不同长度的输入数据转换为固定长度输出的算法。
哈希函数的输出值称为哈希值,具有唯一性和不可逆性,即无法从哈希值反推出原始数据。
哈希函数常用于密码存储、数字签名和数据完整性验证等场景。
常用的哈希函数包括MD5、SHA-1和SHA-256等。
4.混淆编码混淆编码方法是将数据和信息进行复杂的转换,使其难以被理解。
常见的混淆编码方法包括Base64编码和URL编码。
Base64编码将数据和信息转换为由大小写字母、数字和特殊字符组成的字符串;URL编码将特殊字符转换为%加上对应字符的ASCII码值。
混淆编码方法只是将数据和信息进行转换,并不能提供真正的加密和安全保护。
5.数据加密标准(DES, AES等)数据加密标准是一组广泛应用于数据和信息加密的对称密钥加密算法。
其中,DES(Data Encryption Standard)是一种对称加密算法,使用56位密钥对数据进行加密和解密;而AES(Advanced Encryption Standard)是一种高级加密标准,使用128、192或256位密钥进行加密和解密。
这些加密标准广泛应用于网络通信、数据存储和安全传输等领域。
单片机系统的几种加密方法
单片机系统的几种加密方法作者:栾宁来源:《硅谷》2008年第18期[摘要]随着单片机的普及,单片机的加密技术已经有了很大的发展,针对单片机开发的技术保密问题,对单片机的加密方法进行综述。
加密方法有软件加密,硬件加密,软硬件综合加密等措施。
[关键词]单片机系统加密技术中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)0920112-01一、硬件加密硬件加密总结起来,主要是以下几大类:(一)总线乱置法总线乱置法通常是将MCU和EPROM之间的数据线和地址线的顺序乱置。
总线乱置法通常包括下面几种:(1)将数据或地址总线的某些线位交换或求反;(2)采用EPROM时,把地址总线(或数据总线)与系统程序的存储器地址(或数据)的对应关系按密钥交换。
例如,用一片2764芯片存储密钥,把地址的高8位重新按密钥编码,也就是说,把原程序的页号顺序打乱;(3)把(1)(2)结合起来以构成较复杂的电路。
(二)利用MCU本身的加密位进行加密现在很多的MCU都带有加密位,其中最成功的加密方法是总线烧毁法,此法在AT89C51中运行用得最成功。
即把单片机数据总线的特定I/O永久性地破坏,解密者即使擦除了加密位,也无法读出片内程序的正确代码。
此外还有破坏EA引脚的方法。
一般来说,上述的加密方法各有优点,但都存在致命的缺点:第一种方法有两个主要缺点:一是密钥放在哪里才能不被破译;二是用仿真器很容易就能把源程序截取出来。
第二种方法同样可以用仿真器把数据区调出来,另外还可以把RAM接上电池,取下来放在仿真器上读出来。
第三种方法用来加密小程序是成功的,但由于总线已被破坏,因而不能再使用总线来扩展接口芯片和存储器。
同时,片内存储器也不再具有重复编程特性。
(三)用GAL器件对外EPROM中的软件进行加密GAL 是一种可电擦写、可重复编程、并能够加密的可编程逻辑器件。
GAL 器件内部有一加密锁定位,一旦这个位被编程,就使其存取阵列电路中止工作,从而防止再次编程或者检验,此加密位只能够在整体擦除时和阵列一起擦除。
单片机的加密手段之三(反击篇)
单片机的加密手段之三(反击篇)写第一篇《一种常用的单片机加密手段》的时候,我没想到会写到第三篇,源自于和很多朋友之间的交流和疑问,以及工程师们对破解的痛恨,因此这一篇我来教大家一种常用的简单的反击思路。
首先再来强调一下,任何一种加密手段,都不是绝对加密,都是相对加密,我们要做的加密手段是让破解者付出一定的代价,当这个代价大到他花费破解的精力和金钱,已经远远不如直接购买你的产品或者你的方案,或者自己独立开发出来更划算的时候,他自然而然就不会对你的产品进行破解了。
那下面我介绍一种特定条件下,可以实施的一种反击手段。
第一篇我们介绍了一种加密手段,利用的是主芯片的唯一ID,但是现在市面一款主流的32位的MCU的system区域的唯一ID照样被调试工具改写。
第二篇我们还介绍了一个自己做的虚假唯一ID,用来欺骗。
那如果破解者进行芯片的全面复制,我们这两种办法还都是无能为力的,他把唯一ID和虚假唯一ID全部复制到他的新芯片内,我们还是做不到加密的功能,这个时候,我们可以采取上一篇介绍的加密芯片或者冷门单片机单独加密的方法。
那如果有一个特定条件,比如我们的产品是一个本身可以上网,连接到网络上的设备,那么我们就可以在我们的程序中留一定的后门,通过我们的服务器来监控我们产品的ID情况,既然可以监控,那么也就可以控制。
我们可以让我们的产品,每隔一段时间,这个时间可以是一天,可以是一个星期,可以是一个月的特定时间,跟我们的云端总服务器通信一次,来汇报一下他的ID信息,当我们监控到出现某一个ID被复制,产生了很多个相同ID的产品,或者出现和我们系统的ID不同的产品出现,那下面的工作你的程序想怎么办就怎么办了。
简单来说,可以直接让设备不工作。
但是破解者有可能想出办法来再次破解。
复杂点来,就让设备工作不正常,并且没有规律,最好是不同的设备产生随机数,根据随机数的情况来让产品工作不正常,这样多个产品不正常的规律不一样,并且最好不要太频繁。
单片机系统的几种加密方法
鬟呈Ⅵ渤斟_l;单片机系统的几种加密方法栾宁(沈阳师范大学物理科学与技术学院辽宁沈阳110034)[摘要】随着单片机的普及,单片机的加密技术已经有了很大的发展,针对单片机开发的技术保密问题,对单片机的加密方法进行综述。
加密方法有软件加密。
硬件加密.软硬件综合加密等措施.【关键词]单片机系统加窬技术中图分类号:T P3文献标识码:^文章编号:1571--7597(2008)0920112一01一、硬件加密硬件加密总结起来,主要是以下几大类:(一)总线乱置法总线乱臂法通常是将M C U和E PR OM之间的数据线和地址线的顺序乱置。
总线乱置法通常包括下面几种:(1)将数据或地址总线的某些线位交换或求反;(2)采用E PR O M时,把地址总线(或数据总线)与系统程序的存储器地址(或数据)的对应关系按密钥交换。
例如,用一片2764芯片存储密钥.把地址的高8位重新按密铡编码,也就是说,把原程序的页号顺序打乱;(3)把(1)(2)结合起来以构成较复杂的电路。
(二)利用№u本身的加密位进行加密现在很多的M CU都带有加密位,其中最成功的加密方法是总线烧毁法,此法在A T89C51中运行用得虽成功。
即把单片机数据总线的特定i/o永久性地破坏,解密者即使擦除了加密位.也无法读出片内程序的正确代码。
此外还有破坏E A引脚的方法。
一般来说,上述的加密方法备有优点,但都存在致命的缺点:第一种方法有两个主要缺点:一是密钥放在哪里才能不被破译;二是用仿真器很容易就能把源程序截取出来。
第一二种方法同样町以用仿真器把数据区调出来,另外还可以把RA M接上电池,取下来放在仿真器上读出来。
第三种方法用来加密小程序是成功的,但由于总线已被破坏,因而不能再使用总线来扩展接口芯片和存储器。
同时,片内存储器也不再具有重复编程特性。
(三)用G^L器件对外EP R O M中的软件进行加密G A L是一种町电擦写,可重复编程、并能够加密的可编程逻辑器件。
单片机程序运行加密
单片机程序运行加密众所周知, 有一些公司或个人专门做单片机的解密服务,另外,单片机的指令不论怎样加密最终它还要在明文的方式下才能运行, 而且解密者可以使用单片机开发系统单步调试ROM 中的程序。
当解密者了解了指令的运行过程之后, 也就获得了加密的程序, 如某些智能计价器的运算方法等,通过修改程序并仿制新的ROM 芯片, 就可以达到解密的目的。
因此,对单片机的加密还要在程序的运行上进行加密处理, 也就是程序的动态加密措施。
1 程序的动态解码动态解码是对加密程序的指令或数据代码进行动态恢复。
在程序运行时, 有一段指令是专门对某一区域的指令或数据代码解密, 而且当解密后的代码使用完毕, 还要将其重新加密, 使存储器中不存在完整的程序代码。
这种方法对防程序的静态分析很有效, 因为从加密程序的清单上很难看出程序的真实面目。
然而,在程序的反跟踪方面, 动态解码又有其独到之处, 在阻止带断点调试跟踪方面, 由于程序在执行之前是以密文方式出现的, 解密者很难确定断点设置的位置, 稍有不慎就会因解密失败造成系统的破坏(电擦除EPROM 中的数据)。
下面是程序动态解码的具体例子:SUB1: ADD A,#94H ;虚设的程序段XRL54H,#13HMOV R0,#20HMOV R1,#5MOV R2,#55HMOV DPTR,#SUB1MOV A,#00HLOOP1: PUSH AMOVC A,@A+DPTRXRL A,R2 ;异或运算MOV @R0,A ;存入实际数据POP AINC AINC R0DJNZ R1,LOOP1 该程序是将RAM 地址为20H开始的数据组(设有5 个)进行动态变换, 因为初始的数据组是密码形式的, 它需要在程序运行中改变,在程序的其他段中要使用改变后的数据。
这里是用SUB1 程序段中的指令代码(代码为:24H,94H,63H,54H,13H) 与55H 进行动态解码,数据55H 是加密数据,它”异或”指令代码后得到正确的数据存入20H 开始的单元中(结果为:71H,C1H,36H,01H,46H)。
单片机加密的几种方法
单片机加密的几种方法(1)单片机加密方法:科研成果保护是每一个科研人员最关心的事情, 目的不使自己的辛苦劳动付注东流。
加密方法有软件加密, 硬件加密, 软硬件综合加密, 时间加密, 错误引导加密, 专利保护等措施。
有矛就有盾, 有盾就有矛, 有矛、有盾, 才促进矛、盾质量水平的提高。
加密只讲盾, 也希望网友提供更新的加密思路。
现先讲一个软件加密: 利用MCS-51 中A5 指令加密,( 本人85 年发现的, 名软件陷阱), 其实世界上所有资料, 包括英文资料都没有讲这条指令, 其实这是很好的加密指令。
A5 功能是二字节空操作指令。
加密方法在A5 后加一个二字节或三字节操作码, 因为所有反汇编软件都不会反汇编A5 指令, 造成正常程序反汇编乱套, 执行程序无问题。
仿制者就不能改变你的源程序, 你应在程序区写上你的大名、单位、开发时间及仿制必究的说法, 以备获得法律保护。
我曾抓到过一位“获省优产品”仿制者, 我说你们为什么把我的名字也写到你的产品中?硬件加密:8031/8052 单片机就是8031/8052 掩模产品中的不合格产品, 内部有ROM( 本人85 年发现的), 可以把8031/8052 当8751/8752 来用, 再扩展外部程序器, 然后调用8031 内部子程序。
当然你所选的同批8031 芯片的首地址及所需用的中断入口均应转到外部程序区。
(2) 单片机加密方法:各位, 我在这里公开场合讲加密, 有的只能讲思路, 有的要去实验, 要联想, 要综合应用各种方法, 甚至有的不能言传, 只能意会。
因为这里有的造矛者也在看我们如何造盾, 当然, 我们也要去看人家怎样造矛, 目前国内、外最高造矛的水平怎样。
“知已知彼, 才能百战百胜”。
硬件加密: 使他人不能读你的程序① 用高电压或激光烧断某条引脚, 使其读不到内部程序, 用高电压会造成一些器件损坏。
② 重要RAM 数据采用电池( 大电容, 街机采用的办法) 保护, 拔出芯片数据失去。
加密方案汇总
加密方案一、加密目的为了防止未经授权访问或拷贝单片机的机内程序,大部分芯片都带有加密锁定位或者加密字节,以保护片内程序。
如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机芯片内的程序,这就叫芯片加密。
加密认证芯片放在PCB板上,外加一些简单的电路,同时写入算法防止芯片里面的程序被盗窃者读走二、加密方法1、磨片。
用细砂纸将芯片上的型号磨掉,对于偏门的芯片比较管用,对常用芯片来说,只要猜出个大概功能,查一下哪些管脚接地、接电源很容易就对照出真实的芯片了;2、封胶。
用那种凝固后象石头一样的胶(如粘钢材、陶瓷的那种)将PCB及其上的元件全部覆盖。
里面还可故意搞五六根飞线(用细细的漆包线最好)拧在一起,使得拆胶的过程必然会弄断飞线而不知如何连接。
要注意的是胶不能有腐蚀性,封闭区域发热不太大;3、加密算法。
需要密钥,对主要算法加密或者进行认证;4、使用裸片。
看不出型号也不知道接线。
但芯片的功能不要太容易猜,最好在那团黑胶里再装点别的东西,如小IC、电阻等。
三、加密算法(一)加密算法分类加密算法分为对称式加密算法、非对称式加密算法和杂凑(Hash)算法三种。
1、对称式加密算法:对称式加密算法加密和解密的密钥相同,金融行业常用的算法包括DES、3DES、AES等。
2、非对称式加密算法:非对称式加密算法的密钥分为公钥和私钥,公钥公开用于加密,私钥保存用于解密,从公钥到私钥的过程是不可逆的。
常用的算法包括:基于大数分解的RSA算法和基于椭圆曲线离散对数问题的ECC算法。
RSA算法是基于一个十分简单的数论事实:将两个大素数相乘十分简单,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
ECC算法的数学基础是利用椭圆曲线上的有理点构成Abel 加法群上椭圆离散对数的计算困难性。
3、Hash算法:Hash算法是一种单向算法,可以对目标信息生成一段特定长度的唯一的Hash值,常用的算法包括:MD、SHA-1、SHA-2、SHA-3。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
芯片加密建议
1、概述
在该说明文档中会讲述目前(2015.12.30)正在使用或者已知的一些加解密技术作为开发者加密建议,其实我们只是想表述一种思想、方法和简单的建议,更多的还是开发者自己去完成,不然加密方式千篇一律,其意义也不是很大;另外由于加解密技术会随着时间的推移而更加的多样化,所以列举的加解密方法会受实时影响,希望开发者能够理解。
首先要明确一个概念,采用更多的或更先进的加密手段,只能提高解密难度,但是不能绝对杜绝芯片被解密。
随着芯片逆向技术的提高,做芯片解密研究的投入也在增加,总能找到办法解密芯片,没有绝对安全的加密手段。
所以在做一个产品的时候,保密安全性是一个因素,但最为重要的还是产品的功能,所以不能因为加密而使设计提高了较大难度,从而影响了设备本身的功能。
芯片加解密的最重要原则就是,尽量做到解密成本大于开发成本,这样解密也就没有价值和意义。
2、解密技术
这里讲解密技术不是为了普及解密方法,我们是要做到知己知彼,才能百战不殆,保住自己的劳动成果。
以下会列举一些已知的解密方法,其实这些东西在网上或者专门做解密芯片的门户网站上也能有简单的说明,我们只要了解其使用方法,然后有针对性的做好加密工作。
单片机(Microcontroller)一般都有内部ROM/EEPROM/FLASH供用户存放程序。
为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。
如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就是所谓拷贝保护或者说锁定功能。
目前,攻击单片机主要有四种技术,分别是:
(1)、软件攻击
该技术通常使用处理器通信接口并利用协议、加密算法的安全漏洞来进行攻击。
软件攻击者利用单片机擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后,停止下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机,然后利用编程器读出片内程序。
(2)、电子探测攻击
该技术通常以高时间分辨率来监控处理器在正常操作时所有电源和接口连接的模拟特性,并通过监控它的电磁辐射特性来实施攻击。
因为单片机是一个活动的电子器件,当它执行不同的指令时,对应的电源功率消耗也相应变化。
这样通过使用特殊的电子测量仪器和数学统计方法分析和检测这些变化,即可获取单片机中的特定关键信息。
(3)、过错产生技术
该技术使用异常工作条件来使处理器出错,然后提供额外的访问来进行攻击。
使用最广泛的过错产生攻击手段包括电压冲击和时钟冲击。
低电压和高电压攻击可用来禁止保护电路工作或强制处理器执行错误操作。
时钟瞬态跳变也会复位保护电路而不会破坏受保护信息。
电源和时钟瞬态跳变可以在某些处理器中影响单条指令的解码和执行。
(4)、探针技术
该技术是直接暴露芯片内部连线,然后观察、操控、干扰单片机以达到攻击目的。
为了方便起见,人们将以上四种攻击技术分成两类,一类是侵入型攻击(物理攻击),这类攻击需要破坏封装,然后借助半导体测试设备、显微镜和微定位器,在专门的实验室花上几小时甚至几周时间才能完成。
所有的微探针技术都属于侵入型攻击。
另外三种方法属于非侵入型攻击,被攻击的单片机不会被物理损坏。
在某些场合非侵入型攻击是特别危险的,这是因为非侵入型攻击所需设备通常可以自制和升级,因此非常廉价。
大部分非侵入型攻击需要攻击者具备良好的处理器知识和软件知识。
与之相反,侵入型的探针攻击则不需要太多的初始知识,而且通常可用一整套相似的技术对付宽范围的产品。
因此,对单片机的
攻击往往从侵入型的反向工程开始,积累的经验有助于开发更加廉价和快速的非侵入型攻击技术。
侵入型攻击的第一步是揭去芯片封装。
有两种方法可以达到这一目的:第一种是完全溶解掉芯片封装,暴露金属连线。
第二种是只移掉硅核上面的塑料封装。
第一种方法需要将芯片绑定到测试夹具上,借助绑定台来操作。
第二种方法除了需要具备攻击者一定的知识和必要的技能外,还需要个人的智慧和耐心,但操作起来相对比较方便。
3、单片机加密建议
任何一款单片机从理论上讲,攻击者均可利用足够的投资和时间使用以上方法来攻破。
所以,在用单片机做加密认证或设计系统时,应尽量加大攻击者的攻击成本和所耗费的时间。
这是系统设计者应该始终牢记的基本原则。
单片机程序加密主要涉及到几个方面:①防止单片机内部程序(HEX/BIN)被读出②防止单片机内部程序被读出后能直接使用③防止HEX/BIN被反编译(难度较大);因此给出以下几点建议:
3.1.选型建议
(1)、在选定加密芯片前,要充分调研,了解单片机破解技术的新进展,包括哪些单片机是已经确认可以破解的。
尽量不选用已可破解或同系列、同型号的芯片。
(2)、产品的原创者,一般具有产量大的特点,所以可选用比较生僻、偏冷门的单片机来加大仿冒者采购的难度。
(3)、选择采用新工艺、新结构、上市时间较短的单片机。
(4)、在设计成本许可的条件下,应选用具有硬件自毁功能的智能卡芯片,以有效对付物理攻击。
CH55X系列单片机2014年测试,直到2015年下半年开始面向客户推广,所以不存在被破解的先例,而且我们非常注重增强芯片加密性能,以保护开发者的劳动成果。
3.2.硬件设计建议
(1)、让原芯片厂家将芯片的封装脚位全部调换;
(2)、将WCH55X的印字印为XXXX等,打磨掉芯片型号等信息或者重新印上其它的型号,以假乱真;
(3)、用环氧树脂+酶(xxx酶:可增加硬度,如将其弄开后芯片就报废了)将测试好的线路板密封上;
(4)、使用裸片来做产品;
(6)、将部分端口用大电流熔断;
(7)、使用四层板(故意多走一些线);PCB板上设置一些陷阱,比如给单片机经过一个烧断的二极管或电阻提供高压电源,如果仿制,上电就烧坏芯片;
(8)、如果条件许可,可采用两片不同型号单片机互为备份,相互验证,从而增加破解成本。
CH55X 系列的单片机,根据我们公司的实际情况,如果客户满足一定的条件,我们也可以提供比如重新封装芯片、芯片磨字、更换封装材料、提供裸片等服务。
3.3.软件设计建议
(1)、在使用芯片的时候,使用芯片的ID功能,当解密以后把代码写到别的芯片里去,由于芯片的ID不同就不能工作;
(2)、使用ISP软件生成并烧录唯一密钥到单片机特定区域再烧录程序时需核对密钥等;另外可以将芯片本身具有的加密功能都击活;
(3)、设置密码文件,要想读出程序,必须有密码文件才可以,如果在读程序的时候,如果输入的密码错误就自动清除FLASH存储器;
(4)、在芯片的程序里加入芯片保护程序,如XX脚有电压输入时就将所有芯片的内容清除;
(5)、用ISP软件实现对程序的加密(防止终端用户接触HEX,程序绑定单片机):ISP软件可以生成基于电脑的可执行文件,此文件内部包含升级代码,打开后直接连上产品就能升级,终端用户不会接触到升级代码。
此软件可以锁定硬盘号,实行定向安装,保密性较好;
(6)、其他;。