模式
代码保护与加密
关于资源 > 代码保护与加密
代码安全有两种方式:
- Lock Flash:锁定Flash,防止外部读取。
- 代码加密:更高级别的加密,确保每颗芯片的代码唯一。
Lock Flash
Lock Flash是在烧录代码后,锁定Flash,防止外部对Flash中内容的读取。如果有解锁(Unlock)的动作,会触发清空Flash的操作。
实现方式
- Lock动作是在Downloader工具中执行的。
- 该动作的使能,需要在
platformio.ini
里增加配置:inilock_flash = true
- 如果不使用VSCode中的
batch
图标,而是使用自定义batch
命令(多个bin的情况),则是在命令后增加--lock
参数来使能。
代码加密
代码加密是更高级别的加密。它会保证烧录到每颗芯片的内容,都是绑定自己的唯一ID的。
特点
- 同一个原始bin,通过Downloader工具烧录到不同芯片时,最终烧录的内容是不同的。
- 即使破解了某个芯片的bin,再烧录到其他芯片也是不能工作的。
实现方式
- 加密动作也是在Downloader工具中执行的。
- 该动作的使能,需要在
platformio.ini
里设置:iniboard_logic.encrypt = true
注意:如果有远程Logic升级功能的需求,则该加密方式不能使用。
总结
- Lock Flash 和 代码加密 是两种独立的加密方式。
- 可以单独使用,也可以一起使用。