hsrzq 发表于 2024-7-17 12:46:09

xxkj2010 发表于 2024-7-17 12:40
请问如何将1000H~1006H这7个字节保留,并定义为FFH?

ORG 1000H
DB 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH
汇编里面这么写应该就可以了吧。(我主要用的是sdcc,keil的语法没那么熟悉)

xxkj2010 发表于 2024-7-17 12:51:51

hsrzq 发表于 2024-7-17 12:46
汇编里面这么写应该就可以了吧。(我主要用的是sdcc,keil的语法没那么熟悉) ...
汇编的,我不懂。加入这段汇编代码,在keil中好像还要加入什么命令,说明这是汇编语言吧

xxkj2010 发表于 2024-7-17 12:54:32

神农鼎 发表于 2023-12-16 12:22
你这个对生产的理解是错误的 !!!



这种 方式加密,是不是一定要与发布项目配合起来使用?
如果芯片在自己手里,这方法是否起作用?

hsrzq 发表于 2024-7-17 13:27:36

本帖最后由 hsrzq 于 2024-7-17 14:05 编辑

xxkj2010 发表于 2024-7-17 12:51
汇编的,我不懂。加入这段汇编代码,在keil中好像还要加入什么命令,说明这是汇编语言吧 ...
u8 code __at(0x1000) xxx[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
我只能说大致应该是这个样子

hsrzq 发表于 2024-7-17 13:32:37

xxkj2010 发表于 2024-7-17 12:54
这种 方式加密,是不是一定要与发布项目配合起来使用?
如果芯片在自己手里,这方法是否起作用? ...

没太明白你说的啥。
STC的加密有很多种方式,通过“发布项目”对hex传输加密是最基本的。
还可以配置为芯片必须要有正确的密码才能烧录,这样对芯片也能保护。

xxkj2010 发表于 2024-7-17 13:59:46

hsrzq 发表于 2024-7-17 13:32
没太明白你说的啥。
STC的加密有很多种方式,通过“发布项目”对hex传输加密是最基本的。
还可以配置为芯 ...

我不想发布项目,烧录由自己操作,不用客户烧录。

xxkj2010 发表于 2024-7-17 14:01:17

hsrzq 发表于 2024-7-17 13:27
我只能说大致应该是这个样子u8 code _at_(0x1000) ram = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
编译提示:
app\main.c(5): error C141: syntax error near '_at_'
app\main.c(5): error C141: syntax error near '0x1000'
芯片是STC8H的

hsrzq 发表于 2024-7-17 14:02:12

xxkj2010 发表于 2024-7-17 13:59
我不想发布项目,烧录由自己操作,不用客户烧录。

正常情况下都是这样呀,这样程序也能加密呀。
“发布项目”只能给了售后服务的另一种可能~

xxkj2010 发表于 2024-7-17 14:04:24

本帖最后由 xxkj2010 于 2024-7-17 14:44 编辑

hsrzq 发表于 2024-7-17 14:02
正常情况下都是这样呀,这样程序也能加密呀。
“发布项目”只能给了售后服务的另一种可能~ ...
那我试试,目前是还无法将固定地址留空给ID,无论用c还是插入汇编,均提示错误,我用的是keil c51
下面方式提示错误:
u8 code _at_(0x1000) ram = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};


xxkj2010 发表于 2024-7-17 14:27:35

本帖最后由 xxkj2010 于 2024-7-17 14:45 编辑

好了,好了!

还是在主程序的开始插入汇编(一句一句地加,不会整段地来,请大神勿喷):
__asm ORG 1000H
      __asm DB 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH不过编译前需要设置一下:



汇编语言可以加到main的下面:


上述方法经过测试,暂时可用。但是否得当,请专家指点!谢谢!


页: 1 [2] 3
查看完整版本: 程序安全问题