STM32/GD32单片机防止程序克隆盗版解决办法

2023-11-08

1.目的

解决产品在市场流通过程中被电路板抄板,程序克隆。以各种手段窃取别人的知识产权。

2.解决方案

**1.在程序中处理:**
	在程序每次上电运行时,先获取1次芯片唯一ID缓存在int GetID[10]数组中,然后在Flash特定存储区位置读出
	数据记作int ReadID[10],如果ReadID为0xFFFF,那么这代表了芯片第1次上电,然后将GetID中的芯片唯一ID
	保存在芯片flash特定位置,也就是读出数据缓存在ReadID的位置。举例说明:芯片的Flash大小为512KB,地址
	为0x800 0000 ~ 0x808 0000,如果程序编译完成后,有剩余地址,假设ROM区占用地址为0x800 0000 ~
	 0x807 0000,那么0x807 0000~0x808 0000之间的扇区即可以用作用户信息存储,我们将读出的GetID芯片ID
	 在第1次上电时存在当前位置,在之后的每一次上电时,都读取Flash的这个特定位置,读取到的内容即为之前
	 存储的芯片ID,然后将读出的ReadID芯片ID与获取到的GetID本次获取的唯一ID做对比,如果相同,即代表
	 程序未被拷贝,如果不同,程序停止执行。
	 因为如果不同,证明程序被拷贝到了其他芯片,用特定软件读出程序的本质是对flash内存的拷贝,当运行过
	 1次或者N次的程序被拷贝走会随存储在特定位置的上个芯片ID一起被拷贝,当进入新的芯片运行时,会检测到
	 当前ID与存储ID不一致,即停止执行。这样可以防止芯片程序被盗版,如果想防止程序被恶意擦除和修改,
	 用FMC上锁或者禁用下载口方式实现,但如果想仿真程序请酌情使用,且当我们程序在线更新时,可以设置
	 在特定界面用FMC解锁以实现程序的修改。但当程序正常运行期间推荐使用FMC上锁达到不被修改和擦除程序区
	 内容。
**2.在电路中处理**:
	可以在电路设计中采用加密芯片,将主要程序放在加密芯片中,加密芯片本身破解的代价会比较大,所以对程序
	防克隆有一定的作用。

3.感言

	以上仅为本人拙见,如有小伙伴需要源码或者问题请评论留言,博主会第一时间回复,有什么不妥的地方请
	指出,及时改正。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32/GD32单片机防止程序克隆盗版解决办法 的相关文章

  • 从零开始学前端(三)

    上一篇我们已经写了一个带图片的网页 我们接着练一下其他的常用标签 声明为 HTML5 文档 元素是 HTML 页面的根元素 元素包含了文档的元 meta 数据 如 定义网页编码格式为 utf 8
  • 2023面试真题之浏览器篇

    人生当中 总有一个环节 要收拾你一下 让你尝一尝生活的铁拳 大家好 我是柒八九 今天 我们继续2023前端面试真题系列 我们来谈谈关于浏览器的相关知识点 如果 想了解该系列的文章 可以参考我们已经发布的文章 如下是往期文章 文章list 2
  • Conflux Studio 安装教学

    在 Conflux Studio 详解 中 烤仔从安装 教程 功能预览三个方面向大家介绍了 Conflux Studio 本次 由黑曜石实验室的 CEO Phil 向大家展示如何使用 Conflux Studio 进行一个完整的 Confl
  • 使用jenkins进行项目部署

    前言 由于近期接手了前端的项目 在项目打包部署的时候 手动操作构建打包部署等等步骤非常繁琐 所以自己尝试使用jenkins帮助自己解决这一烦恼 之前有用过 但只是使用而已 这次借机自己搭建配置一下 本以为很简单但是在自己使用的过程也多多少少
  • DCMM GBT 36073-2018 数据管理能力成熟度评估模型(Word版)

    ICS 35 240 70 L 67 中华人民共和国国家标准 GB T 36073 2018 数据管理能力成熟度评估模型 Data management capability maturity assessment model 2018 0

随机推荐

  • QT::槽函数关联的三种方式

    1 第一种方法 首先在头文件中定义 private slots void show l 在 cpp中进行connect QtGuiApplication3 QtGuiApplication3 QWidget parent QMainWind
  • C与C++的不同--------extern

    extern可以置于变量或者函数前 以表示变量或者函数的定义在别的文件中 提示编译器遇到此变量和函数时在其他模块中寻找其定义 另外 extern也可用来进行链接指定 C 语言的创建初衷是 a better C 但是这并不意味着C 中类似C语
  • 分布式MySQL数据库TDSQL架构分析

    分布式MySQL数据库TDSQL架构分析 发表于 11小时前 次阅读 来源 程序员电子刊 0 条评论 作者 雷海林 MySQL TDSQL 腾讯 架构 width 22 height 16 src http hits sinajs cn A
  • 区块链平台开发

    太晚了 明天写
  • MVCC 脑图 数据库事务并发版本控制

    学习MySQL MVCC时做的脑图 记个笔记
  • 来了来了,2023年某中大厂真实面经!

    300万字 全网最全大数据学习面试社区等你来 本篇文章的面经是我辅导的一个同学的真实面试经历 2023年校招的宝子们拿走快看 第一个面经来自某头部大厂 1 做过的项目细节和遇到的问题 30分钟 所以说大家要对简历中的项目细节了如指掌 2 实
  • 如何在一个vue项目中集成electron框架

    将electron框架集成到vue文件中 不改变vue文件的原有结构 1 在vue文件中安装electron框架 运行代码 vue add electron builder nde为v16的 electron版本一般选择 electron
  • WSL2 使用桥接网络(不使用代理,局域网可独立IP访问)

    1 一切开始之前首先需要启动 WSL 直接在命令行运行运行 wsl 即可 这样 WSL 的网卡才会被自动创建出来 2 查看 网卡 管理员权限运行 PowerShell 运行 Get NetAdapter获取所有的网卡信息 注意这里的网卡不能
  • Using fork in Perl to spread load to multiple cores

    原文链接 https perlmaven com fork If you have a big task to do that needs a lot of computation but can be split up in severa
  • 【华为OD机试真题 JAVA】素数之积

    JS版 华为OD机试真题 JS 素数之积 标题 素数之积 时间限制 1秒 内存限制 262144K 语言限制 不限 RSA加密算法在网络安全世界中无处不在 它利用了极大整数因数分解的困难度 数据越大 安全系数越高 给定一个32位正整数 请对
  • 熔断机制-HYSTRIX

    一 问题产生 雪崩效应 是一种因服务提供者的不可用导致服务调用者的不可用 并将不可用逐渐放大的过程 正常情况下的服务 某一服务出现异常 拖垮整个服务链路 消耗整个线程队列 造成服务不可用 资源耗尽 形成过程 1 服务提供者不可用 a 硬件故
  • GPT-4掀起智能革命浪潮,AI风口下将涌现哪些新机遇?

    本文已同步发表至公众号 https mp weixin qq com s kTMhMZQ nfIbbeeXLnDeyA 编辑 AGI之心 3 月 15 日 OpenAI 发布 GPT 4 多模态大模型 支持文本和图像输入 相比前段时间大火的
  • AttributeError: ‘Namespace‘ object has no attribute ‘use_pdserving‘

    问题描述 按照文档安装 运行paddleocr的 demo的时候报这个错 AttributeError Namespace object has no attribute use pdserving 但是我用命令行能跑出来 解决办法 在pa
  • openwrt安装和使用minicom

    opkg list先看一下软件源里面有没有minicom包 有的话就直接安装 opkg install minicom 安装完后执行minicom v查看版本信息确认是否安装成功 安装完成后 把USB串口设备插入到路由器USB口 我用的是p
  • 只出现一次的数字python--只求和?(简单到偷懒)

    对于刚开始接触python小白去刷算法题老想偷懒 想看算法 等等大神 还没学会 哈哈哈哈 水一篇 简单到应该不用加备注 嘿嘿嘿 给定一个非空整数数组 除了某个元素只出现一次以外 其余每个元素均出现两次 找出那个只出现了一次的元素 class
  • 防盗报警系统功能简述

    周界防护系统主要是一些探测设备组成 利用现代科技的声 光处理技术 在第一线感知各种破坏 和犯罪行为 减少犯罪的几率 其主要的器材是红外对射探头 红外对射探头全名叫 光束遮断式感应器
  • 简单聊聊MySQL临时表(TEMPORARY TABLE)

    目录什么的也不需要 一 什么是临时表 二 临时表有哪些类型 1 内部临时表 2 外部临时表 三 对外部临时表说两句 四 执行验证 一 什么是临时表 MySQL临时表在很多场景中都会用到 MySQL内部在执行复杂SQL时 需要借助临时表进行分
  • IT项目管理-分析校园人脸识别门禁系统的可行性

    IT项目管理 分析校园人脸识别门禁系统的可行性 文章目录 IT项目管理 分析校园人脸识别门禁系统的可行性 系统描述 分析 业务 组织 技术 总结 系统描述 校园人脸识别门禁系统主要将人脸识别技术应用于校园门禁中 不同于传统刷卡门禁系统 该系
  • 第8章 Linux文件类型及查找命令实践

    第8章 Linux文件类型及查找命令实践 8 1 Linux文件属性概述 在Linux系统中 文件或目录的属性主要包括 索引节点 Inode 文件类型 权限属性 链接数 所归属的用户和用户组 最近修改时间等内容 执行ls lhi命令可以显示
  • STM32/GD32单片机防止程序克隆盗版解决办法

    1 目的 解决产品在市场流通过程中被电路板抄板 程序克隆 以各种手段窃取别人的知识产权 2 解决方案 1 在程序中处理 在程序每次上电运行时 先获取1次芯片唯一ID缓存在int GetID 10 数组中 然后在Flash特定存储区位置读出