找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3422|回复: 17
打印 上一主题 下一主题
收起左侧

请教单片机如何通过程序自己清除程序存储器(ROM)

[复制链接]
跳转到指定楼层
楼主
论坛各位大佬老师们好,我最近在研究单片机ID号加密,想着ID号验证不通过就清除内部程序,请问这个清除ROM的操作如何实现,我用的是STC8单片机,内部有rom和eeprom,eeprom倒是有清除扇区的操作可是清除不了ROM,请教各位老师如何通过程序代码实现自主清除程序。感谢大家。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:807591 发表于 2023-7-15 15:13 | 只看该作者
外加一个电路 引入高压电,自毁芯片吧
回复

使用道具 举报

板凳
ID:373684 发表于 2023-7-15 16:14 | 只看该作者
可以加密的啊
回复

使用道具 举报

地板
ID:879348 发表于 2023-7-15 17:12 | 只看该作者
普通STC不具备自己编程自己的能力
回复

使用道具 举报

5#
ID:1066583 发表于 2023-7-15 17:23 | 只看该作者
szb314 发表于 2023-7-15 15:13
外加一个电路 引入高压,自毁芯片吧

是个好办法,要在电路上加点料
回复

使用道具 举报

6#
ID:1066583 发表于 2023-7-15 17:25 | 只看该作者

嗯,现在就是用ID号进行加密,验证不通过就卡在while循环里,不知道这是不是主流的办法,还想着验证不通过就清除flash销毁程序,不知如何操作
回复

使用道具 举报

7#
ID:1066583 发表于 2023-7-15 17:26 | 只看该作者
wufa1986 发表于 2023-7-15 17:12
普通STC不具备自己编程自己的能力

也就是说不能通过程序本身清除flash里的程序吗,我用的STC8a8k64d4
回复

使用道具 举报

8#
ID:213173 发表于 2023-7-15 22:10 | 只看该作者
STC提供那么多方法还不够你用?随便擦除一个扇区,程序不就等于全毁了。
回复

使用道具 举报

9#
ID:213173 发表于 2023-7-16 07:23 | 只看该作者
一笔长空 发表于 2023-7-15 17:26
也就是说不能通过程序本身清除flash里的程序吗,我用的STC8a8k64d4

STC8a8k64d4的EEPROM是IAP,没有特定地址。正常使用EEPROM是定义在用户程序大小范围之外的下一个扇区的任意空间。想破坏程序只要在用户程序大小范围内想擦哪个扇区随你便。擦后无法恢复,只能重新烧录。
回复

使用道具 举报

10#
ID:1066583 发表于 2023-7-16 12:09 | 只看该作者
wulin 发表于 2023-7-16 07:23
STC8a8k64d4的EEPROM是IAP,没有特定地址。正常使用EEPROM是定义在用户程序大小范围之外的下一个扇区的任 ...

老师您好,感谢您都解答,我是初学者有些地方不太明白,看stc手册里写的eeprom和rom区的地址是重叠的,擦除时指定的地址自动定位到eeprom了,请问如何擦除用户程序区都内容,请问该如何填地址,非常感谢

123.JPG (30.36 KB, 下载次数: 33)

都是从0000h开始的,执行擦除命令时如何区分

都是从0000h开始的,执行擦除命令时如何区分

234.JPG (59.09 KB, 下载次数: 34)

234.JPG

345.JPG (55.39 KB, 下载次数: 37)

345.JPG
回复

使用道具 举报

11#
ID:373684 发表于 2023-7-16 13:56 | 只看该作者
wulin 发表于 2023-7-16 07:23
STC8a8k64d4的EEPROM是IAP,没有特定地址。正常使用EEPROM是定义在用户程序大小范围之外的下一个扇区的任 ...

这是负责任的答复

回复

使用道具 举报

12#
ID:401564 发表于 2023-7-16 14:27 | 只看该作者
保护程序还是防止破解?
完全没有这个必要
当你有能力写出一个别人要千方百计的去破解的程序的时候,你就已经知道应该要怎么做了
回复

使用道具 举报

13#
ID:1066583 发表于 2023-7-16 15:15 | 只看该作者
wulin 发表于 2023-7-16 07:23
STC8a8k64d4的EEPROM是IAP,没有特定地址。正常使用EEPROM是定义在用户程序大小范围之外的下一个扇区的任 ...

谢谢老师的解答,我刚接触单片机没几个月有些不明白的还想请教您,现在rom和eeprom的地址有重叠的部分,同一个地址也是rom的也是eeprom的比如0100h,如果使用擦除eeprom的指令擦除0100h肯定擦除不掉rom,请问怎么操作能擦除rom,感谢!
都是从0000h开始的,地址重叠了


用MOVC地址是唯一。可是手册上说MOVC指令不能擦除只能读,且我不会汇编语言



回复

使用道具 举报

14#
ID:1066583 发表于 2023-7-16 15:19 | 只看该作者
Y_G_G 发表于 2023-7-16 14:27
保护程序还是防止破解?
完全没有这个必要
当你有能力写出一个别人要千方百计的去破解的程序的时候,你就已 ...

感谢您的解答,学机械的刚接触单片机没多久现在自己开发个控制板,一直听说加密什么的也好奇想研究研究,说不定以后能用上
回复

使用道具 举报

15#
ID:624769 发表于 2023-7-17 14:14 来自手机 | 只看该作者
首先,你要删除程序区的内容,必须购买IAP15xxxxxx 系列单片机。stc8不能直接删除,你要先做底层“系统”才可以。 其次,有必要删除么?检验到和序列号不一致,说明你的程序已经流传出去,别人用你的程序烧录了自己的芯片。那么你删了单片机里的,人家一样可以再烧写,有任何实际意义么?
回复

使用道具 举报

16#
ID:123289 发表于 2023-7-17 16:42 | 只看该作者
必须采用ISP型号的单片机。
我们做的产品中,在不改变硬件的情况下,是可以自动升级软件的,就是采用的ISP型的CPU。
升级时,先删除程序,再写入新的程序。这里是有技巧的,需要内置专门的升级程序。
回复

使用道具 举报

17#
ID:883242 发表于 2023-7-17 20:10 | 只看该作者
看你做什么产品了,小家电不怕死机,但是工业产品怕啊!一万次操作出一次错就够呛了,所以我写程序发现UID不对都不会擦除,而是小概率出错,这样山寨者就很难查找了。
回复

使用道具 举报

18#
ID:401564 发表于 2023-7-18 09:22 | 只看该作者
一笔长空 发表于 2023-7-16 15:19
感谢您的解答,学机械的刚接触单片机没多久现在自己开发个控制板,一直听说加密什么的也好奇想研究研究, ...

不要学这个加密了,现实中几乎不用
当你要去写一个需要加密的项目时,你的能力已经很强了,到时候,这个加密就不是什么大问题了
我们这基本都是直接发送烧录文件给IC厂商的,有时候有问题直接发代码给人家,叫帮忙看一下问题出现在哪里的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表