DIY编程器网

标题: 加密方法:CRC16 HEX文件自动修改生成器 [打印本页]

作者: hdzl    时间: 2011-7-1 11:27
标题: 加密方法:CRC16 HEX文件自动修改生成器
作者: plc_avr 烈火狂龙
共享近段时间研究防止HEX被修改的成果,CRC16 HEX文件自动修改生成器,使产品上每个HEX文件的内容均不一样,在单片机内部运算CRC16,若结果不对,程序会工作不正常.......

CRC16 HEX文件自动修改生成器使用说明:

    用VB做了个自用的CRC16工具,该软件本意是为个人用于一个项目上,有的地方图省事直接写在源码上面了。感觉还是搞成通用的比较好,更方便有此需要的网友,现已初步完成,奉献给大家。可以随意传播,但请不要更改版权信息。

软件功能及工作流程说明:
1、输入指定的HEX或BIN文件
2、指定输出文件位置
3、根据需要可选择设置随机数地址,最多有6项可选,可在任意位置生成随机数(随机数有三种格式可选:填充00、FF、随机数),存储于指定的FLASH 地址。START:表示起始地址,END:表示结束地址
4、根据需要可选择设置CRC16地址,最多有6项可选,可在任意位置计算HEX或BIN文件的CRC16值,存储于指定的FLASH 地址。START:表示起始地址,END:表示结束地址
5、设置CRC16多项式权值以适用不同计算。
6、根据需要可选择设置在指定位置加入唯一ID识别号
7、根据需要可选择设置在指定位置加入编号,编号可以自动加一,减一或保持不变,人工输入。
8、指定CRC16的多项式,及权值,一般常用的为:0xA001  0x1021  0x8005  0x8048等
9、指定文件的输出格式可以为HEX或BIN文件
10、根据上面10项设置,点“执行”自动生成新的HEX或BIN文件至指定输出目录。
11、点“计算”,是计算CRC部分的结果。注意CRC结果指定,地址设置。
12、用烧写工具直接烧写新生成的文件。这样每个芯片的HEX内容均不完全一样,防止多片同时被破_解,用多个HEX作比对。
13、如果可选框全部不选,可以完成输入HEX 输出BIN或输入BIN输出HEX文件格式的转换

(原文件名:1.jpg) 引用图片
注意:点“计算”仅是计算输入文件指定地址的CRC16值,“执行”是计算输出指定地址的CRC16值。

用雁塔菜农的hotwc3做校验,检测结果的正确性,
Hotwc3地址: http://www.hotpower.org/HotAjax/HotPower_HotAjax.html
如下图:
选CRC16多项式权值A001,明文ID及本机编号的HEX值:”010203040506070809000A0B0C0100”    点“运算”,CRC结果为0x8A7C,表明结果计算正确。


(原文件名:2.jpg) 引用图片
生成文件目录索检:

(原文件名:3.jpg) 引用图片
在此特别感谢雁塔菜农和John Lee老师的指点,谢谢!
欢迎各位提出任何意见和建议.......

作者:烈火狂龙    2011年6月30日

点击此处下载 CRC16 HEX文件自动修改生成器V1.0.rar (2.63 MB, 下载次数: 1505)
原网址:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4841408&bbs_id=1000
原网址有讨论的话题。

作者: liyf    时间: 2011-7-1 15:16
辛苦了,这个得慢慢研究一下
作者: ijnyj888    时间: 2012-5-22 13:09
先玩玩谢谢。
作者: 李剑    时间: 2012-6-11 09:12
辛苦了,这个得慢慢研究一下
作者: cmjx    时间: 2017-3-18 01:15
我是来骗银子的
作者: lance_ma    时间: 2017-3-19 12:29

作者: tuzibaibai    时间: 2018-10-30 11:10
辛苦了,这个得慢慢研究一下




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2