请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
查看: 958|回复: 3

如何利用STC8H8K64U的ID进行程序加密

[复制链接]

该用户从未签到

2

主题

0

回帖

34

积分

新手上路

积分
34
发表于 2023-3-20 22:07:27 | 显示全部楼层 |阅读模式
楼主和各位大咖晚上好!这里主要是想利用STC8H8K64U的ID对程序加密,但目前还没有一个具体思路,烦请大家给与指教,谢谢!
回复 送花

使用道具 举报

该用户从未签到

538

主题

8729

回帖

1万

积分

管理员

积分
14201
发表于 2023-3-20 22:36:04 | 显示全部楼层
1.png


ID号加密是根据用户所设定的算法对ID号的7个字节进行分别运算,每种加密算法最多可以进行4次
不同的运算,运算符不分优先级,从前到后依次进行4次运算,对于同一个加密算法,ID号的7个字节是
分别使用此算法进行运算,运算完成后会得到加密后的7个字节,在下载用户代码时,加密后的7个字节
会自动写入到用户所指定的FLASH中
例如:
  当前芯片内部的ID号为 : 01H 02H 03H 04H 05H 06
H 07H
  选择的加密算法为         : <<1, +2, *3, ^4
  设定的存储地址为         : 0x1000
  经加密运算后的ID号为  :  08H 16H 1CH 1AH 20H 2EH 34H
  下载程序过程中,加密的ID号会被写入到FLASH的0x1000~0x1006地址中
  08H写入到0x1000, 16H写入到0x1001, 1CH写入到0x1002, 1AH写入到0x1003, 20H写入到0x1004,
  2EH写入到0x1005, 34H写入到0x1006

目前版本提供两种加密方式,可将ID号使用两种不同的方式加密后写入到不同的地址中每种加密方式
中可进行4步运算,每一步运算可选择下面的7种运算方法:
+ : 加法运算  - : 减法运算  * : 乘法运算  / : 除法运算  
<<: 左移运算  >>: 右移运算  ^ : 异或运算

对于运算操作数,只接受10进制数的输入,有效的数据为0~255,超出范围的数,高位会被自动舍弃.
例如输入257(102H),则实际参加运算的术为2(02H)
所有的运算都是基于单字节的,高低字节之间不会产生进位和借位,即低字节运算后如果产生进位
或借位将直接舍弃,而不参与高字节的运算

例如:
  如果ID号为       : 01 02 03 04 ff fe fd
  加密方式为       : "+255, +0, +0, +0"
  则加密后的数据为 : 00 01 02 03 fe fd fc

注意事项:
  若是将ID号加密和程序加密后传输这两种功能结合起来同时使用时,则必须在原代码加密前,将需
  要写入加密ID号的地址空间预留为FF,然后在对程序文件进行加密(若下载时需要将HEX空白区域
  填充为00时,也需要执行此操作将区域保留)
  例如:
    我现在需要将ID号加密后写入到程序空间1000H开始的地址,那么我必须在我的源代码中,
    将1000H~1006H这7个字节保留,并定义为FFH(不能为00H)
2.png
1.png
2.png
  • TA的每日心情
    奋斗
    2024-3-19 18:22
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    0

    主题

    14

    回帖

    298

    积分

    中级会员

    积分
    298
    发表于 2023-4-1 16:06:07 | 显示全部楼层
    神农鼎 发表于 2023-3-20 22:36
    ID号加密是根据用户所设定的算法对ID号的7个字节进行分别运算,每种加密算法最多可以进行4次
    不同的运算, ...

    如果自定义了EEPROM大小,ID号该如何读取,地址会随着EEPROM大小改变吗
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    538

    主题

    8729

    回帖

    1万

    积分

    管理员

    积分
    14201
    发表于 2023-4-1 16:30:49 | 显示全部楼层
    STC8H8K64U的CHIPID是只读特殊功能寄存器, 跟EEPROM/FLASH 无关
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-3-28 23:22 , Processed in 0.059639 second(s), 43 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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