9424|0

337

帖子

0

TA的资源

裸片初长成(中级)

楼主
 

自定义软件加密说明 [复制链接]

AVR4in1和AVR P&D都可以作为离线编程器使用,而且支持自定义软件加密功能. 支持运算符和优先级(与C语言一致): const OPERATOR Opt[] = { // PRI 0 {'%',0x80,Operator_GetPara}, // Get Parameter,%0 is OSCCAL {'@',0x80,Operator_AtEEPROM}, // Address Operator,EEPROM,Not Supported yet {'*',0x80,Operator_AtFlash}, // Address Operator,Flash,Not Supported yet {'!',0x80,Operator_LogNot}, // Logical Not Operator {'~',0x80,Operator_BitNot}, // Bit Not Operator {'-',0x80,Operator_MinusSign}, // Minus Sign Operator // PRI 1 {'*',0x01,Operator_Multiply}, // Multiply Opeator {'/',0x01,Operator_Devide}, // Devide Operator {'%',0x01,Operator_Mod}, // MOD Operator // PRI 2 {'+',0x02,Operator_Plus}, // Plus Operator {'-',0x02,Operator_Minus}, // Minus Operator // PRI 3 {'<',0x03,Operator_ShiftLeft}, // Shift Left Operator {'>',0x03,Operator_ShiftRight}, // Shift Right Operator // PRI 4 {'&',0x04,Operator_BitAnd}, // Bit And Operator // PRI 5 {'^',0x05,Operator_BitXor}, // Bit Xor Operator // PRI 6 {'|',0x06,Operator_BitOr}, // Bit Or Operator }; 字符串公式最大长度22字节(但编程项目名长度为8字节),可以实现一些简单的加密功能,复杂的需要定制,目前'@'和'*'取数据操作不支持 注意: 1.优先级与C语言优先级一致 eg: (%0<4)|(%0>4)+0x11 <==> (%0<4)|((%0>4)+0x11) (%0<4)+(%0>4)+0x11 <==> ((%0<4)|(%0>4))+0x11 2.'('')'配对,如果不配对的话,从第一处不配对的')'起,不继续计算 eg: (%0+1)*2)+1 <==> (%0+1)*2 使用时,在'c'命令中加入参数"-encrypt 字符串公式". 测试命令: c -avr AT90CAN32 -fuses 0xFD98E2 -lockbits 0xFC -encrypt (%0<4)|(%0>4)+0x11 -m1 0xF46 -operation 0x1F4B -info EN_Test c -avr AT90CAN32 -fuses 0xFD98E2 -lockbits 0xFC -encrypt ((%0<4)|(%0>4))+0x11 -m1 0xF46 -operation 0x1F4B -info EN_Test1 c -avr AT90CAN32 -fuses 0xFD98E2 -lockbits 0xFC -encrypt (%0+1)*2)+1 -m1 0xF46 -operation 0x1F4B -info EN_Test2 建立3个编程项目,然后使用enc命令测试: 测试编程项目1的加密结果(其他的类似): s 1 (选中编程项目1) enc 12 (对12加密) 测试自定义算法的加密: enc 12 (%0<4)+5|(%0) (enc 数据 字符串公式)
此帖出自单片机论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表