搜索
bottom↓
12
返回列表 发新帖
楼主: plc_avr

共享近段时间研究防止HEX被修改的成果,CRC16 HEX文件自动修改生成器,使产品上每个HEX

  [复制链接]

出0入0汤圆

 楼主| 发表于 2011-7-7 11:01:12 | 显示全部楼层
呵呵,比如GSM模块等。。。。。你也用单片机去替换?

出0入0汤圆

发表于 2011-7-7 11:23:03 | 显示全部楼层
回复【99楼】xiaobenyi
回复【15楼】plc_avr 烈火狂龙
没那么简单吧,若有指定外部硬件唯一id,大家都一样,日子肯定不好过的,哈哈。。。。。。
-----------------------------------------------------------------------
唯一id怎么读出来的?还不是用1-wire或者别的接口去读出来?我不用你的唯一id芯片,我就直接用一个便宜的单片机代替你的唯一id芯片,所有产品id统一,行不?
-----------------------------------------------------------------------

最好的最笨的办法是用多种单片机,什么PIC的,AVR的,台湾的,海尔的,CPLD,FPGA什么的能用的都用上,各管一部分功能,互相验证ID。让它破_解去吧。。。。

出0入0汤圆

发表于 2011-7-7 14:34:47 | 显示全部楼层
这个要顶

出0入0汤圆

发表于 2011-7-7 21:31:56 | 显示全部楼层
mark

出0入4汤圆

发表于 2011-7-8 11:19:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-8 12:55:03 | 显示全部楼层
顶。谢谢!

出0入0汤圆

发表于 2011-7-8 13:36:17 | 显示全部楼层
不错,顶

出0入0汤圆

发表于 2011-7-8 15:26:15 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-14 17:03:59 | 显示全部楼层
大胡子的方法, 不错。最好有台系的那种都没有标识的。搞几个厂家的、哈哈

出0入0汤圆

发表于 2011-7-14 17:41:36 | 显示全部楼层
收下有时间试试^_^

出0入0汤圆

发表于 2011-7-14 23:29:54 | 显示全部楼层
收下研究看看

出0入0汤圆

发表于 2011-8-24 10:04:55 | 显示全部楼层
马克!!

出0入0汤圆

发表于 2011-8-24 10:26:08 | 显示全部楼层
只要反编译到 检查校验值部分的跳转也可以 。不过太费劲了。。。 这招不错

出0入0汤圆

发表于 2011-8-24 13:43:38 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-25 13:43:45 | 显示全部楼层
获益良多!

出0入0汤圆

发表于 2011-8-25 13:54:11 | 显示全部楼层
膜拜一下

出0入0汤圆

发表于 2011-8-25 14:01:19 | 显示全部楼层
回复【楼主位】plc_avr  烈火狂龙
共享近段时间研究防止hex被修改的成果,crc16 hex文件自动修改生成器,使产品上每个hex文件的内容均不一样,在单片机内部运算crc16,若结果不对,程序会工作不正常.......
-----------------------------------------------------------------------

能害怕被别人破_解的程序,其实都是些成本低廉技术含量基本没有的东西,或者简单的说,本来就是山寨货,当然怕别人拿来再山寨一遍,也算是中国特色之一吧……


回复【101楼】fsclub  绿林好汉
最好的最笨的办法是用多种单片机,什么pic的,avr的,台湾的,海尔的,cpld,fpga什么的能用的都用上,各管一部分功能,互相验证id。让它破_解去吧。。。。
-----------------------------------------------------------------------

搞这么扯谈,你的器件成本绝对低不了——问题在于,能容忍如此成本的产品,那通常是市场狭窄、人情关系大过技术的东西,这些东西真的会怕破_解么?

=

总之,我一直认为,做产品,MCU部分,加密位的熔丝该烧还是要烧的——那是对别人(包括可能的仿冒者)最基本的尊重,就好像上公共厕所要记得关门一样;但把 MCU 加密搞成好像阿波罗计划一样,那就是对自己能力的一种单纯的嘲讽了——只能证明自己无论技术实力还是人脉关系还是市场开拓能力,都远不如人,只能靠着曾经的一点申请不到专利的小聪明炒冷饭吃过活……

出0入0汤圆

发表于 2011-8-25 14:11:49 | 显示全部楼层
有时间试试^_^

出0入0汤圆

发表于 2011-8-25 14:13:36 | 显示全部楼层
大致理解

出0入0汤圆

 楼主| 发表于 2011-8-25 15:04:36 | 显示全部楼层
【116楼】 waitingconfirm :
能害怕被别人破_解的程序,其实都是些成本低廉技术含量基本没有的东西,或者简单的说,本来就是山寨货,当然怕别人拿来再山寨一遍,也算是中国特色之一吧……
-----------------------------------------------------------------------------------------------------------------------
对!哥小学没毕业,做的就是玩具,但是个人原创,个人玩玩而已。你不高兴可以滚远一点,没必要在此冷嘲热疯,来证明你是多么的有才华。。。。。。。

出0入0汤圆

发表于 2011-8-25 15:10:51 | 显示全部楼层
回复【119楼】plc_avr  烈火狂龙
【116楼】 waitingconfirm :
能害怕被别人破_解的程序,其实都是些成本低廉技术含量基本没有的东西,或者简单的说,本来就是山寨货,当然怕别人拿来再山寨一遍,也算是中国特色之一吧……
-----------------------------------------------------------------------------------------------------------------------
对!哥小学没毕业,做的就是玩具,但是个人原创,个人玩玩而已。你不高兴可以滚远一点,没必要在此冷嘲热疯,来证明你是多么的有才华。。。。。。。
-----------------------------------------------------------------------

这点器量都没有,说你什么好……

你有那闲工夫琢磨什么反破_解,不如把同样的精力用在找商机上,绝对比给自己的产品搞什么反破_解有利润的多

出0入0汤圆

 楼主| 发表于 2011-8-25 15:21:53 | 显示全部楼层
呵呵,我自已高兴去做这些事,不行吗?难道我共享出来,也有错?

出0入0汤圆

发表于 2011-8-25 15:30:29 | 显示全部楼层
回复【121楼】plc_avr  烈火狂龙
呵呵,我自已高兴去做这些事,不行吗?难道我共享出来,也有错?
-----------------------------------------------------------------------

当然没关系,只是看到上面一帮人在叫好,觉得可能有些人的执著方向走错了,仅此而已罢了

出0入0汤圆

发表于 2011-8-25 16:39:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-25 16:50:21 | 显示全部楼层
好,谢谢LZ

出0入0汤圆

发表于 2011-8-25 17:27:31 | 显示全部楼层
先记下来!

出0入0汤圆

发表于 2011-8-25 18:05:37 | 显示全部楼层
不错啊

出0入0汤圆

发表于 2011-10-5 16:52:08 | 显示全部楼层
mark

出420入0汤圆

发表于 2011-10-6 16:30:11 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-11-28 17:36:30 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-28 17:53:47 | 显示全部楼层
mark 一下

出0入0汤圆

发表于 2011-12-20 08:37:06 | 显示全部楼层
mark 一下

出50入0汤圆

发表于 2011-12-20 10:43:19 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2012-2-11 13:42:56 | 显示全部楼层
晕,有不少网友私下和我交流,但不见其顶贴。

出0入0汤圆

发表于 2012-2-11 14:06:39 | 显示全部楼层
谢谢,是好东西

出0入0汤圆

发表于 2012-2-11 14:32:17 | 显示全部楼层
楼主的软件能打开最大多大的bin文件? 我的bin有180K, 提示打开文件失败.

出0入0汤圆

 楼主| 发表于 2012-2-11 15:22:46 | 显示全部楼层
目前只能用于小于 64K FLASH的单片机。

出0入0汤圆

发表于 2012-2-11 15:26:54 | 显示全部楼层
弱弱地问一下, 是否因为你的hex转bin代码仅支持64k回复【136楼】plc_avr 烈火狂龙
目前只能用于小于 64k flash的单片机。
-----------------------------------------------------------------------

弱弱地问一下, 是否因为你的hex转bin代码仅支持64k

出0入0汤圆

 楼主| 发表于 2012-2-11 15:41:07 | 显示全部楼层
是的,hex转bin代码仅支持 <= 64k,比这个再大的没去搞,因为程序量大于64K了,一般人想反汇编,就是不加密,也够他喝好几壶的了。

出0入0汤圆

发表于 2012-2-11 16:16:55 | 显示全部楼层
呵呵, 以前写过大于64k hex转bin, 主要思想就是检测到扩展线性地址记录时, 把偏移地址左移16位, 再加上基地址, 就是当前地址, 然后在这个地址上存放数据, 就可以了.

再次支持一下你的作品

出0入0汤圆

 楼主| 发表于 2012-2-11 16:27:16 | 显示全部楼层
谢谢楼上。待有空时再搞成大于64K HEX与BIN文件转换。

出0入0汤圆

发表于 2012-2-16 17:29:29 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2012-4-18 16:08:40 | 显示全部楼层
我准备换到BOOT区来做,自动修改FLASH或EEPROM,过后自宫BOOT。这样烧写文件同一个,写过后的芯片HEX每个都不同。更方便省时省力。

出0入0汤圆

发表于 2012-4-18 16:16:46 | 显示全部楼层
Vectorque 发表于 2011-6-30 15:51
stm32就是个例子
唯一ID也可以任意改。。。
这种情况 无用

stm32就是个例子 唯一ID也可以任意改

请教如何修改, 谢谢!

出0入0汤圆

发表于 2012-4-25 11:55:03 | 显示全部楼层
不错的方法。

出0入0汤圆

发表于 2012-4-25 12:10:04 | 显示全部楼层
我用的,将RC检验位写入程序来加密
http://www.ourdev.cn/thread-5465498-1-1.html

出0入0汤圆

发表于 2012-5-2 15:47:16 | 显示全部楼层
mark……学习单片机加密

出0入0汤圆

发表于 2012-5-21 17:22:21 | 显示全部楼层
顶,谢谢楼主

出0入0汤圆

发表于 2012-8-1 12:44:51 | 显示全部楼层
很不错,省了很多时间

出0入0汤圆

发表于 2012-8-2 17:48:09 | 显示全部楼层
本帖最后由 jmsth 于 2012-8-3 10:15 编辑

感谢LZ的好东西,下载收藏了!
这个东东的关键是破解后的HEX文件不方便改,对于有唯一ID的片子,会运行出错,对于用在没有唯一ID的片子会藏有版权信息,可用于打官司。
有个建议,MCU制造商可以不公开唯一ID地址,如果MCU加密位启用了,内部自动生成一段防抄码,加在写入的HEX中,破解后的HEX写入新的片子里后,跟新片的ID一对比就复位,这样不用开发人员劳神费事的去掩饰读取ID,比对结果和防抄跳转。毕竟多数开发人员的主要精力放在开发产品上,面对解密的专业人员,加入少许防范措施也都很稚嫩,不堪一击。
我现在用了一款PIC新出的芯片,时钟校正寄存器有但不可读,是不是如我建议的这样,如果能结合楼主的加密思路对下载并启用加密位的程序进行校验加密就更好了。

出0入0汤圆

发表于 2012-8-2 18:48:16 | 显示全部楼层
好东西,mark

出0入0汤圆

发表于 2012-8-2 18:48:34 | 显示全部楼层
很不错,总会有用到的时候,这帖顶。。mark!!

出0入0汤圆

发表于 2012-8-24 09:47:34 | 显示全部楼层
太牛了,顶起。

出0入0汤圆

发表于 2012-8-24 10:01:02 | 显示全部楼层
好贴

出0入0汤圆

发表于 2012-8-30 12:02:56 | 显示全部楼层
对于生产来说,能不能再智能一点啊?只要点一次下载或最多点两次下载,其它什庅唯一ID输入,算法,加密,CRC,统统软件自己搞定,最多第一次的时候设置一下地址(设置地址对生产来说还是太有技术含量了)或选项。这样,大批量生产的时候,就很好用了啦。

出0入0汤圆

发表于 2012-8-30 21:39:32 | 显示全部楼层
神马东西,MARK

出200入2554汤圆

发表于 2012-8-30 22:40:10 | 显示全部楼层
没看错的话,LZ的程序应该是用来防止反汇编再改动程序的,而不是防止无限拷贝。

反汇编(例如IDA Pro)以后,通过修正几个关键的指令可以达到某些破解功能(例如放行某些注册了才有的限制)。
LZ使用了程序运行时机器码的CRC16校验,使得单独改变一个指令时,CPU可以检测到,进而抵抗改动。

至于软件是不是有防止拷贝的功能,这个我只能说没看出来;软件运行当中如果没有办法检测到CPU唯一的物理序列号,
也就没办法区分是否被拷贝,所以只要序列号不是CPU自带的不依赖于软件的,应该就不好使吧。

个人一点见解,有不妥之处望大家指教

出0入0汤圆

发表于 2012-9-5 10:03:54 | 显示全部楼层
mark



出0入0汤圆

发表于 2012-9-5 10:10:03 | 显示全部楼层
好东西,mark

出0入0汤圆

发表于 2012-9-5 10:23:05 | 显示全部楼层
mark!         

出0入0汤圆

发表于 2012-11-15 08:45:04 | 显示全部楼层

出0入0汤圆

发表于 2013-4-24 09:41:12 | 显示全部楼层
thanks,但可能用唔到,唔太理解,怕自己死了先

出0入0汤圆

发表于 2013-4-24 09:44:06 | 显示全部楼层
支持!!,給各兄弟

出0入0汤圆

发表于 2013-4-24 21:07:26 | 显示全部楼层
楼主,我是软件的“学前班学生”,怎样使用你这个好东东呢

出0入4汤圆

发表于 2013-4-24 23:53:25 来自手机 | 显示全部楼层
mark一下有用

出0入0汤圆

发表于 2013-4-25 07:37:03 来自手机 | 显示全部楼层
plc_avr 发表于 2012-4-18 16:08 我准备换到BOOT区来做,自动修改FLASH或EEPROM,过后自宫BOOT。这样烧写文件同一个,写 ...

这样做会不会更危险,boot被破解会不会更容易

出0入0汤圆

发表于 2013-4-25 07:47:19 来自手机 | 显示全部楼层
爪机无力

出0入0汤圆

发表于 2013-4-25 07:47:25 | 显示全部楼层
用AVR的OSCCAL可以实现,当然最好自己做个脱机编程器,这样下载的时候自动读取OSCCAL,然后计算CRC并填充烧录,我现在就这么玩。当然为了提高难度,你也可以在代码空余部分伪随机出一些字节,这样每个hex不一样的东西就更多了,

出0入0汤圆

 楼主| 发表于 2013-4-25 15:38:51 | 显示全部楼层
benfenshusheng 发表于 2013-4-25 07:37
这样做会不会更危险,boot被破解会不会更容易

不会,因为第一次运行,进入BOOT区在特定地方修改ID,ID按不可逆算法来做。所有加密处理完全后,BOOT区代码自宫........死无对证。哈哈。就是芯片烧入的代码和运行一次过后的HEX会不一样。这样就是解密也没用,因为自动处理后的代码没有BOOT。处理不了ID。不知我说明白了没?

出0入0汤圆

发表于 2013-4-25 16:16:31 | 显示全部楼层
感谢分享,学习了

出0入0汤圆

发表于 2013-4-30 17:18:01 | 显示全部楼层
谢谢楼主。。。。。

出0入0汤圆

发表于 2013-4-30 17:36:46 | 显示全部楼层
顶              

出0入0汤圆

发表于 2013-4-30 20:13:58 | 显示全部楼层
这个不错,lz厉害,收藏了。

出0入0汤圆

发表于 2013-4-30 20:39:26 | 显示全部楼层
这个真心不错,如滔滔江水绵绵不绝,有机会请你搞一台自动写hex的

出0入0汤圆

发表于 2013-8-12 16:18:08 | 显示全部楼层
很强大,我顶

出200入0汤圆

发表于 2013-8-12 17:58:37 来自手机 | 显示全部楼层
顶,学习……

出0入0汤圆

发表于 2013-8-12 18:27:00 | 显示全部楼层
晚上回去看看

出0入0汤圆

发表于 2013-11-14 18:03:38 | 显示全部楼层
很好 谢谢分享

出0入0汤圆

发表于 2013-12-11 16:58:45 | 显示全部楼层
make~稍后细读!

出0入0汤圆

发表于 2014-3-17 23:24:37 | 显示全部楼层
又学习了一个加密的思路。

出0入0汤圆

发表于 2014-8-21 17:03:59 | 显示全部楼层
plc_avr 发表于 2013-4-25 15:38
不会,因为第一次运行,进入BOOT区在特定地方修改ID,ID按不可逆算法来做。所有加密处理完全后, ...

那 没有了 BOOT 下次更新程序怎么办呢?

出0入0汤圆

发表于 2014-8-21 17:32:24 来自手机 | 显示全部楼层
好                  

出0入0汤圆

发表于 2014-8-21 17:56:35 | 显示全部楼层

http://wxtypeng.blog.163.com/blo ... 261201342955018164/

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-1-27 13:27:56 | 显示全部楼层
感觉很高级,mark一下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-11 10:38

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表