xgliyouquan
发表于 2016-5-9 21:44
别想做那个梦了,程序一旦写入就无法读出。
骑猪看夕阳
发表于 2016-5-10 09:24
STC所说的**应该是:把程序HEX从STC单片机FLASH里读取出来,再烧进空的STC单片机里能正常使用,大多数工程师都是怕自己做的产品代码被别人获取到直接用。STC所说的**应该是这个意思,你觉得这样搞有多大把握?
jrcsh
发表于 2016-5-10 09:38
本帖最后由 jrcsh 于 2016-5-10 09:56 编辑
对山妖的加密没什么信心,
象我这种 暂时吊死在51 上的人~~~~只能一边用~~~一边骂~~~一边骂~~~一边用
此功能主要是实现将用户代码加密后再下载,
以防止代码下载过程中被第三方串口监控软件
将用户的原码数据截取,从而确保了代码的安全.
程序拥有者产品出厂时将源程序和加密钥匙
一起烧录MCU中,以后需要升级软件时,就可将
程序加密后再用"发布项目程序"功能,生成
一个用户自己界面的只有一个升级按钮的
简单易用的升级软件,给最终使用者自己升级,
而拦截不到您的原始程序
此功能仅对如下系列及新出的单片机有效:
STC15F2K60S2/STC15L2K60S2
IAP15F2K61S2/IAP15L2K61S2
STC15F104W/STC15L104W
IAP15F105W/STC15L105W
STC15W104SW/IAP15W105W
STC15W201S/IAP15W205S
STC15F408AD/STC15L408AD
IAP15F413AD/IAP15L413AD
STC15W408S/STC15W1K16S/STC15W408AS
IAP15W413S/IAP15W1K29S/IAP15W413AS
只下载加密代码的使用方法
1. 点击"打开程序文件"按钮,打开加密过的文件
2. 选择"本次下载的代码为加密代码"选项
3. 点击"下载/编程"按钮开始编程
重新加密代码的使用方法
1. 点击"生成新密钥"或者"打开密钥"
2. 点击"加密代码"按钮
3. 在打开对话框中选择未加密的文件
4. 在保存对话框中输入加密后的文件名
更新IC内部密钥的使用方法
1. 点击"生成新密钥"或者"打开密钥"
2. 选择"下载用户代码前先更新用户密钥"选项
3. 点击"下载/编程"按钮开始编程
ID号加密是根据用户所设定的算法对ID号的
7个字节进行分别运算,每种加密算法最多可
以进行4次不同的运算,运算符不分优先级,
从前到后依次进行4次运算,对于同一个加密
算法,ID号的7个字节是分别使用此算法进行
运算,运算完成后会得到加密后的7个字节,在
下载用户代码时,加密后的7个字节会自动写入
到用户所指定的FLASH中
例如:
当前芯片内部的ID号为 :
01H 02H 03H 04H 05H 06H 07H
选择的加密算法为 :
<<1, +2, *3, ^4
设定的存储地址为 : 0x1000
经加密运算后的ID号为
08H 16H 1CH 1AH 20H 2EH 34H
下载程序过程中,加密的ID号会被写入到
FLASH的0x1000~0x1006地址中
08H写入到0x1000
16H写入到0x1001
1CH写入到0x1002
1AH写入到0x1003
20H写入到0x1004
2EH写入到0x1005
34H写入到0x1006
目前版本提供两种加密方式,可将ID号使用
两种不同的方式加密后写入到不同的地址中
每种加密方式中可进行4步运算,每一步运算
可选择下面的7种运算方法:
+ : 加法运算
- : 减法运算
* : 乘法运算
/ : 除法运算
<<: 左移运算
>>: 右移运算
^ : 异或运算
对于运算操作数,只接受10进制数的输入,
有效的数据为0~255,超出范围的数,
高位会被自动舍弃. 例如输入257(102H),
则实际参加运算的术为2(02H)
所有的运算都是基于单字节的,高低字节之间
不会产生进位和借位,即低字节运算后如果产生
进位或借位将直接舍弃,而不参与高字节的运算
例如:
如果ID号为 : 01 02 03 04 ff fe fd
加密方式为 : "+255, +0, +0, +0"
则加密后的数据为 : 00 01 02 03 fe fd fc
注意事项:
若是将ID号加密和程序加密后传输这两种功能
结合起来同时使用时,则必须在原代码加密前,将
需要写入加密ID号的地址空间预留为FF,然后在对
程序文件进行加密
例如:
我现在需要将ID号加密后写入到程序空间1000H
开始的地址,那么我必须在我的源代码中,将1000H~
1006H这7个字节保留,并定义为FFH(不能为00H)
ISP 软件上的功能~~~~~~~
jrcsh
发表于 2016-5-10 10:01
其实~~~每片都有 ID 号 写完后就烧断溶丝 程序写入的过程 就用这个ID 写来加密 , 解出来的程序烧到别的ID号 MCU 都不能用~~~细细解阿解阿解阿解阿
heishe1989
发表于 2016-5-10 17:44
感觉好高深,我只是用stc的单片机做项目,从来没想过要去**什么的
linqing171
发表于 2016-5-11 08:48
电话好不容易打通了一次. 网上找了一些资料.
下图来自于360文库.
下图来自官网
http://www.****ducst
http://www.****ducst/stc-images/STC15-1212x2961-2015-5-4.PNG
wenunit
发表于 2016-5-12 12:49
其实这个20W是说说的事,不算什么,
广告语而已,别当真.
一定是可以解的,只是销售需要,体现高大上.
coody
发表于 2016-5-12 13:06
huangqi412 发表于 2016-5-9 10:55
这种STC估计不认 可能只认给你一个芯片,从里面读出BIN.
对的,STC官方的意思是,能从MCU里读出代码。
_dyx_
发表于 2016-6-6 16:17
xgliyouquan 发表于 2016-5-9 21:44
别想做那个梦了,程序一旦写入就无法读出。
不见得吧~你这样说的话,就没人去搞芯片的保密性安全性研究了!
_dyx_
发表于 2016-6-6 16:36
wenunit 发表于 2016-5-12 12:49
其实这个20W是说说的事,不算什么,
广告语而已,别当真.
一定是可以解的,只是销售需要,体现高大上. ...
这也相当于是给出了个 外包的活!价值20万,即使你**了,你也得把方法技术交出来,再给你20万 很值!
zhxzhxzzhhxx
发表于 2016-6-22 01:14
xzy568 发表于 2016-5-11 16:46
STC的发布加密程序功能应该用的是RC4算法吧,至少是流算法的一种,如果是RC4算法,128bit加密目前是无法破 ...
你是只看到报价了,解 89,90,10,11还行,我一片12C5A60的片子,都给我开盖了,在深圳兜了一圈,消耗10多个样片,也没有一家给我解开.
wuhanrf
发表于 2016-6-23 16:30
我曾有个PIC16F1946的案子,浪费6个样片,在深圳溜了一圈,没一家解除来的能用
changle11sdo5
发表于 2016-6-23 21:07
**后去找Kill拿悬赏吧!关STC毛事
changle11sdo5
发表于 2016-6-23 21:08
**程序,**芯片,两马事
joketinnle
发表于 2016-6-23 21:11
用显微镜看。。。。。
干得漂亮
发表于 2016-12-26 21:37
**的意思是从一片正常使用的芯片里读出数据写入另一个空片能正常运行 这样就能拿到20万
keaiduoyu123
发表于 2017-1-22 15:19
干得漂亮 发表于 2016-12-26 21:37
**的意思是从一片正常使用的芯片里读出数据写入另一个空片能正常运行 这样就能拿到20万 ...
STC的据你了解有**过吗?STC15系列的谢谢
zgblove
发表于 2017-7-22 07:03
会**逻辑芯片吗?加我聊聊113996666 Q
xxdcq
发表于 2017-7-22 13:14
你这种虎狼之师何必盯着猫洞来钻呢,应该找个更大的
wanming2008
发表于 2019-10-24 14:23
linqing171 发表于 2016-5-6 20:31
昨天晚上,加上今天晚上,做了个小程序,已经可以实现Isp里面的 hex+key=bin, 和 bin-key=hex了。
生成的b ...
个人觉得这算是一种**。读出mcu里面的是二级**。你这个**id算是一级**。前者奖励20万。你这个5万我觉得可以。