ID号加密 会不会覆盖源代码
我那个代码长度是4560,我把ID加密设置在了1000,然后ID号的位置覆盖了源代码的位置,我没有用到程序加密后传输注意事项:
若是将ID号加密和程序加密后传输这两种功能结合起来同时使用时,则必须在原代码加密前,将需
要写入加密ID号的地址空间预留为FF,然后在对程序文件进行加密
例如:
我现在需要将ID号加密后写入到程序空间1000H开始的地址,那么我必须在我的源代码中,
将1000H~1006H这7个字节保留,并定义为FFH(不能为00H)
没有用到程序加密后传输 需要把ID的位置写成 FF吗???????? 还有就是如何保留ID加密的空间为FF ,给贴一个历程代码看下谢谢 1, 会写入你指定的地方,就是覆盖
2,保留空间 ,我已不懂软件,能否嵌入汇编:
ORG 1000H
DB
DB
? 神农鼎 发表于 2023-1-17 11:46
1, 会写入你指定的地方,就是覆盖
2,保留空间 ,我已不懂软件,能否嵌入汇编:
ORG 1000H
这个汇编我不太懂 这个如果覆盖了 ,我在程序mian函数之前把ID加密的地址初始化为FF,,那ID加密的位置不是被初始化为FF了吗,ID加密的字节也没有了 ,变成FF了 请问C语言如何设置保留1000H后面几个字节的空间? xxkj2010 发表于 2024-7-17 12:11
请问C语言如何设置保留1000H后面几个字节的空间?
数据手册上好像有写。使用_at_指令 soma 发表于 2024-7-17 14:02
数据手册上好像有写。使用_at_指令
用下面的方式提示错误:
u8 code _at_(0x1000) ram = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
本帖最后由 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: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