anan0619 发表于 2023-1-17 11:32:08

ID号加密 会不会覆盖源代码

我那个代码长度是4560,我把ID加密设置在了1000,然后ID号的位置覆盖了源代码的位置,我没有用到程序加密后传输   

anan0619 发表于 2023-1-17 11:33:27

注意事项:
若是将ID号加密和程序加密后传输这两种功能结合起来同时使用时,则必须在原代码加密前,将需
要写入加密ID号的地址空间预留为FF,然后在对程序文件进行加密
例如:
    我现在需要将ID号加密后写入到程序空间1000H开始的地址,那么我必须在我的源代码中,
    将1000H~1006H这7个字节保留,并定义为FFH(不能为00H)

没有用到程序加密后传输   需要把ID的位置写成 FF吗????????

anan0619 发表于 2023-1-17 11:42:13

还有就是如何保留ID加密的空间为FF    ,给贴一个历程代码看下谢谢

神农鼎 发表于 2023-1-17 11:46:24

1, 会写入你指定的地方,就是覆盖
2,保留空间 ,我已不懂软件,能否嵌入汇编:
ORG   1000H
DB
DB
?

anan0619 发表于 2023-1-17 11:49:08

神农鼎 发表于 2023-1-17 11:46
1, 会写入你指定的地方,就是覆盖
2,保留空间 ,我已不懂软件,能否嵌入汇编:
ORG   1000H


这个汇编我不太懂    这个如果覆盖了    ,我在程序mian函数之前把ID加密的地址初始化为FF,,那ID加密的位置不是被初始化为FF了吗,ID加密的字节也没有了   ,变成FF了

xxkj2010 发表于 2024-7-17 12:11:23

请问C语言如何设置保留1000H后面几个字节的空间?

soma 发表于 2024-7-17 14:02:42

xxkj2010 发表于 2024-7-17 12:11
请问C语言如何设置保留1000H后面几个字节的空间?

数据手册上好像有写。使用_at_指令

xxkj2010 发表于 2024-7-17 14:06:12

soma 发表于 2024-7-17 14:02
数据手册上好像有写。使用_at_指令
用下面的方式提示错误:

u8 code _at_(0x1000) ram = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};

liuzonggong 发表于 2024-8-12 09:37:24

本帖最后由 liuzonggong 于 2024-8-12 09:38 编辑

xxkj2010 发表于 2024-7-17 14:06
用下面的方式提示错误:
在程序的开头定义一个code数组例如unsigned char code id_home={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xea};
这里定义了8个字符空间;最后的写入一个识别字符是为了在程序中找到位置。
编译后用stcai—isp软件打开程序例图






这样下载到单片机就找到加密后的位置了
利用的时候直接读 id_home到 id_home的数据,对比加密计算方法就行了,为了简单,我这里进行了加1处理。

liuzonggong 发表于 2024-8-12 09:42:25

liuzonggong 发表于 2024-8-12 09:37
在程序的开头定义一个code数组例如unsigned char code id_home={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0 ...

因为有多个ff所以定义一个8字节数组,最后一个字节写入一个标记,在程序中找到多个ff的地方。从标记往前找7个,第一个就是要写的位置。从左侧看00010h,一个一个往后数,16进制,数到ff是1A,然后往箭头所指的存储地址处写入地址,直接下载就行了。
页: [1] 2
查看完整版本: ID号加密 会不会覆盖源代码