ESP8266 代码如何加密?

2019-12-15 11:45发布

目前用ESP8266 开发了一款物联网方向的产品,主要是实现手机app 通过云服务器与产品进行数据通信;ESP8266本身是外挂FLASH,如何可以做到即使别人把Flash代码完全拷贝出来,也不用担心被别人直接拿来用~跪求~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
29条回答
wicy001
1楼-- · 2019-12-17 09:58
阿里就是卖设备的序列号,来赚钱, 管你用什么模块。
kebaojun305
2楼-- · 2019-12-17 15:25
 精彩回答 2  元偷偷看……
涵潇舒雅
3楼-- · 2019-12-17 17:09
wicy001 发表于 2018-8-23 11:33
esp8266出厂时,获取mac地址, 将MAC地址在服务器上注册,然后卖给用户。

或者固件里可以通过串口输出mac ...

是的,之前想过这个问题,就是担心如果批量,这个效率如何~



xuzhiping9889
4楼-- · 2019-12-17 18:46
涵潇舒雅 发表于 2018-8-23 08:21
能这样修改的,我感觉是大牛,我主要是目的就是避免那些脑残山寨的,直接把代码拿来用~ ...

也不一定是大牛,现在都有提供这些服务的公司或个人
wicy001
5楼-- · 2019-12-18 00:15
涵潇舒雅 发表于 2018-8-23 12:16
是的,之前想过这个问题,就是担心如果批量,这个效率如何~

多加了步骤,会影响效率,那就需要想提高效率办法,比如做个工具专门读MAC

还有一个方法,就是用自己产生的序列号(跟MAC无关),下载程序的时候,一起将序列号烧录进去。 因为每个序列号不同,也影响烧录效率,人工烧录还容易出错,需要作一个专门的烧录器。
zljcat3721
6楼-- · 2019-12-18 04:31
esp8266即然可以上互联网,可以利用云服务器来进行授权加密,前提是esp8266中程序一启动就检授权,没有授权的,不能正常使用
1、新刷固件模块,第一次启动,在连上路由器后即向云服务器上报模块id等硬件信息,并保存在云服务器数据库中,这个是产品ID的原始库
2、在云服务器中对产品id数据记录,有一个授权标志字段,由人工进行标识,是否授权。
3、模块第二次启动,上报id数据的同时,与云服务器数据库中的id对比,如果云服务器数据库中已存在ID,且已授权,就可以获取到密钥(使用可逆加密算法),esp8266获取密钥后进行解密,
将解密数据与esp8266的硬件id一起进行可逆加密,即然是可逆,要多密加几次(不能外泄,就算有高手能破出至少增加破解难度),将加密数据保存到模块上用于授权校验。
3、第三次启动,即已写好授权,启动就会校验授权,如果验证通过就可以正常使用了。
4、如果克隆了,因为esp8266每个模块的ID不同,校验自然通不过。
以上是出厂前做的,除人工在数据库里标识授权外(那也是分分钟的事情),都可以自动完成(多启动几次)。
你也可以让模块每次启动时上网校验授权,如果发现数据里有没有授权记录的ID,排除自家模块,那就是你的产品有盗版了。

一周热门 更多>