寻思 发表于 2021-7-31 20:04:26

stc脱机烧录器为何不提供下载次数

如题,STM的烧录器基本都可以设置烧写次数,STC的烧录器都没有这个功能。这样发给客户更新程序的话就没法保证自己的软件产权了。有没有这样的产品,如果没有,希望尽快开发一个,原理上来分析,做一个这个产品感觉也不难啊

Kengcc 发表于 2021-7-31 20:26:12

stc的离线烧录器可以限制次数的啊,用STC-ISP就可以设置了

寻思 发表于 2021-7-31 21:44:19

Kengcc 发表于 2021-7-31 20:26
stc的离线烧录器可以限制次数的啊,用STC-ISP就可以设置了

谢谢提示,我居然不知道,今年才开始用STC没注意这个选项,仔细观察之后发现了这个{:lol:}
脱机变成数量10000 默认。。。

王二小 发表于 2021-7-31 23:04:41

寻思 发表于 2021-7-31 21:44
谢谢提示,我居然不知道,今年才开始用STC没注意这个选项,仔细观察之后发现了这个
脱机变成数量 ...

人家抓你TTL数据限制次数不就是一层纸而已吗?串口下载比其他专用协议下载安全性低的多。除非你用STC的伊拉克方案采用专用芯片专用密钥的方式串口下载。

bluerain 发表于 2021-8-4 23:55:20

知识产权不能靠下载器次数的,而是只有下载到你的板子里,才能用。他重新制作的板子下了你的程序,也不能用。这不就保证了你的版权了嘛。

kundi 发表于 2021-8-5 00:20:52

楼上的意思,可以认为是外加一个专用芯片(必须您自己提供的才可以,别人买的就不行),读取了里面预先写有的内容,上电初始化时只有符合范围的才能运行后面的程序。

小李非刀 发表于 2021-8-5 10:54:40

STC的烧录器从2013年开始的U8W U8MINI开始都支持脱机烧录设置次数的哦。

王二小 发表于 2021-8-5 17:37:12

别人从你的脱机烧录器上提取bin文件也不难。特别是串口提取都不用分析物理层协议。

bluerain 发表于 2021-8-6 00:49:01

STC单片机有序列号,程序里验证序列号,是你这里出去的,程序就能运行,不是你这里出去的序列号,程序不运行。

小李非刀 发表于 2021-8-9 10:33:18

王二小 发表于 2021-8-5 17:37
别人从你的脱机烧录器上提取bin文件也不难。特别是串口提取都不用分析物理层协议。 ...

STC的烧录器,写入内部的EEPROM不容易读出来的,超过内部EEPROM容量部分(超过42K)就会写到外部FLASH,写到外部的FLASH是加密的,读出来也只是程序的一部分(超过42K的部分)。

jqfsjt 发表于 2021-8-9 11:36:48

小李非刀 发表于 2021-8-9 10:33
STC的烧录器,写入内部的EEPROM不容易读出来的,超过内部EEPROM容量部分(超过42K)就会写到外部FLASH, ...

啥时候ISP软件也支持下载次数限制才完美了。

kundi 发表于 2021-8-9 11:39:07

jqfsjt 发表于 2021-8-9 11:36
啥时候ISP软件也支持下载次数限制才完美了。

应该是用发布项目程序吧,生成一个exe

jqfsjt 发表于 2021-8-9 11:44:08

kundi 发表于 2021-8-9 11:39
应该是用发布项目程序吧,生成一个exe

不支持下载次数限制。

王二小 发表于 2021-8-11 04:14:13

本帖最后由 王二小 于 2021-8-11 04:28 编辑

直接在你脱机烧录器上用分析仪抓取TXD和RXD数据,只要是提供脱机烧录器给客户,如果客户想要提取bin文件都可以搞定。唯一的办法就是不要让客户自己烧录,要么你自己烧录,要么让厂家帮你烧录,要么就外发给第三方烧录公司帮你烧录。串口下载这种会搞的人用分析仪抓取USB口或者抓取串口数据一天就给你把bin文件提取出来了。因为大家买的STC芯片只要型号相同boot都是相同或者互相兼容的。说白了都不用结合芯片厂家的ISP的boot协议去对bin文件转码,你的脱机烧录器烧录什么数据别人提取到的bin文件一样烧录什么数据就OK了。同理WCH家的51芯片一样很容易抓取数据。

王二小 发表于 2021-8-11 04:16:57

kundi 发表于 2021-8-9 11:39
应该是用发布项目程序吧,生成一个exe

这样更方便,直接在电脑系统上监听USB端口。当然用分析仪抓取USB线路或者抓取串口线路都可以,说白了物理层是公共协议这种都太容易被监听了。除非客户买到的芯片是不是STC官方通用boot而是你独家定制boot做数据解析。

王二小 发表于 2021-8-11 04:17:57

本帖最后由 王二小 于 2021-8-11 04:19 编辑

小李非刀 发表于 2021-8-9 10:33
STC的烧录器,写入内部的EEPROM不容易读出来的,超过内部EEPROM容量部分(超过42K)就会写到外部FLASH, ...

我说的是分析仪直接抓取脱机烧录器的TXD和RXD两条线。根本不用读取。只不过物理层串口数据更容易处理罢了,其他厂家的脱机烧录器同样是用分析仪抓取数据破解,因为不是串口这种标准物理层破解起来比串口抓取的数据费点时间而已。

bluerain 发表于 2021-8-12 00:32:12

王二小 发表于 2021-8-11 04:17
我说的是分析仪直接抓取脱机烧录器的TXD和RXD两条线。根本不用读取。只不过物理层串口数据更容易处理罢了 ...

烧写器给到客户,就相当于把HEX文件给到客户。所以还是要利用芯片序列号加密的,序列号不对的无法运行。要破这个需要反编译然后把序列号加密这段程序屏蔽掉。至少增加了破解难度。除了这个,在程序里再增加一个验证序列号不对,上电N次后不再运行。这个就算反编译他也不会查出来,因为已经查出来一个,程序正常运行了,以为破解了,客户也以为正常破解了,破解公司也收到钱了。出货后就OVER了。

王二小 发表于 2021-8-12 04:02:27

bluerain 发表于 2021-8-12 00:32
烧写器给到客户,就相当于把HEX文件给到客户。所以还是要利用芯片序列号加密的,序列号不对的无法运行。 ...

你说的利用芯片序列号加密实际上是不提供烧录器让客户自己烧录,像楼主那样提供烧录器给别人的做法除非他能事先知道客户采购的芯片序列号范围在脱机烧录器的hex里就提前限制序列号范围(但是这种方式可操作性不大,除非指定客户从厂家哪个销售员手上拿货,厂家配合你把发货的序列号范围报给你)。否则别人想从串口上抓取hex相当于直接绕过了序列号验证,1天就可以把脱机烧录器给复制出来。最终结论按你说的利用芯片序列号加密其实就是你自己烧录或者你外发第三方批量烧录好芯片再把芯片发给客户,而不是直接把烧录器给到客户让客户自己烧录。
我自己的习惯是先自己抓一遍烧录器波形,如果我自己都有把握一两天根据分析仪抓取的波形用脚本提取hex的话我就不会把烧录器给客户自己烧录。如果抓取出来的波形分析仪不能直接解码,自己大概看了波形也比较复杂不是随便看十分钟就能看懂初始化过程,读写命令字那种才会考虑把烧录器给客户自己烧录,但是我自己明白其他品牌单片机的脱机烧录器只要人家抓取到波形,想提取hex也只是时间问题而已。如果真的不放心最好的方式就是不让客户自己烧录,自己安排外发第三方烧录好。按一定比例多送几片芯片给客户维修备用。

bluerain 发表于 2021-8-13 22:15:07

王二小 发表于 2021-8-12 04:02
你说的利用芯片序列号加密实际上是不提供烧录器让客户自己烧录,像楼主那样提供烧录器给别人的做法除非他 ...

是的,不能给客户烧录新的芯片,新的芯片自己烧录。客户只能升级已经烧录过的芯片。如果客户自己生产,只能卖烧录好的芯片给他。

hebbsyy 发表于 2022-3-17 22:51:05

场内烧一遍自己的测试程序,发到场外的再烧正式程序,没有测试程序为前提正式程序没有用,这种思路,也可以加密吧
页: [1]
查看完整版本: stc脱机烧录器为何不提供下载次数