搜索
bottom↓
楼主: flywater

绝对安全的单片机程序加密技术--如果你的程序再被盗请找我索陪!讨论热烈

  [复制链接]

出0入0汤圆

发表于 2011-9-29 08:48:10 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-29 09:01:20 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-29 09:28:58 | 显示全部楼层
加密,mark

出0入0汤圆

发表于 2011-9-29 10:16:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-29 10:17:05 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-29 11:21:50 | 显示全部楼层
mark,顶163楼的思想.

出0入0汤圆

发表于 2011-9-29 19:27:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-29 20:47:13 | 显示全部楼层
我做的东西很多都是附加值比较高的,放一片内置序列号的FPGA,例如spartan 3an,每台仪器都按芯片序列号重新编译一次,虽然麻烦点,但还是很有效的。盗版花费的时间精力和重新开发一遍程序差不多费劲,就算基本成功了。

出0入0汤圆

发表于 2011-9-29 22:26:52 | 显示全部楼层
高手,这个真不懂了,汗一个....

出0入0汤圆

发表于 2011-9-30 10:00:11 | 显示全部楼层
曾经为加密头痛了很久,现在基本放弃了

出0入0汤圆

发表于 2011-9-30 11:33:39 | 显示全部楼层
瞄完了500楼,水太深了,以后需要再来细看。

出0入0汤圆

发表于 2011-9-30 11:34:59 | 显示全部楼层
我在为上位机软件加密烦恼,公司不使用加密狗,又不能使软件被盗,我在想如果在楼主的想法上再增加一些,如错误的注_册信息也能通过,但执行程序的时候,用小概率来执行错误代码,导致软件大部分时间是好的,偶尔几次是坏的,给人一种程序有BUG的感觉。

出0入0汤圆

发表于 2011-9-30 11:39:18 | 显示全部楼层
高手,不错!回去接着看

出0入0汤圆

发表于 2011-9-30 13:06:42 | 显示全部楼层
看看,学下

出0入0汤圆

发表于 2011-10-5 12:29:39 | 显示全部楼层
呵呵,我还没做到涉及加密的产品,因为我做的东西基本上都是给自己用的,呵呵~

出0入0汤圆

发表于 2011-10-12 15:05:10 | 显示全部楼层
支持一下

出0入0汤圆

发表于 2011-10-26 00:45:21 | 显示全部楼层
回复【224楼】flywater 落叶
回复【223楼】zf8848  
我们的加密方式是在编译时刻就知道了芯片的id修改源代码然后重新编译,具体流程如下:  
stm32--->isp(获得id)--->修改源代码,重新编译(组合加密点,判定点,发作方式等等,源代码hex和id入库以便复核,这些通过脚本自动完成)--->isp--->stm32  
这样又能满足批量生产,每个产品的二进制代码又有不同。
-----------------------------------------------------------------------
嗯,我们的量产流程也是这样,量产软件一键操作直接全部完成,只不过不是STM32,我们用的是AVR....
量产软件直接操作USBASP,读OSCCAL,重新改写HEX及各项加密,再直接灌到片子里....
其实这方法还能实现软脱机下载,交付生产的HEX你可以把它重新编一下码(规范自定),别人看到的HEX只是无用的乱码,调入时按格式解开即可....
-----------------------------------------------------------------------

按我的理解,这就是楼主的重磅炸_弹!

出0入0汤圆

发表于 2011-10-26 08:11:25 | 显示全部楼层
加密--解密MCU  mark

出0入0汤圆

发表于 2011-10-26 08:37:27 | 显示全部楼层
mark

出100入0汤圆

发表于 2011-10-26 08:39:36 | 显示全部楼层
这个以后会用得上~mark

出0入0汤圆

发表于 2011-10-29 22:16:13 | 显示全部楼层
单片机加密,mark

出0入0汤圆

发表于 2011-10-30 01:35:07 | 显示全部楼层
还有点意思,不过技术上来说,你的代码一定会被破_解的,只是时间跟成本问题而已

出0入0汤圆

发表于 2011-12-23 11:24:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-23 22:12:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-23 22:21:33 | 显示全部楼层
关注,有用

出0入0汤圆

发表于 2011-12-24 02:52:12 | 显示全部楼层
顶起

出0入0汤圆

发表于 2011-12-24 08:33:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-24 08:35:32 | 显示全部楼层
mark!!!!!

出0入0汤圆

发表于 2011-12-24 08:48:03 | 显示全部楼层
绝对安全的单片机程序加密技术 真的吗、?

出0入0汤圆

发表于 2011-12-24 12:41:05 | 显示全部楼层
mark 早晚用得上

出0入0汤圆

发表于 2011-12-24 12:58:39 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-12-26 21:33:36 | 显示全部楼层
site:ourdev.cn 标记

出0入25汤圆

发表于 2011-12-26 22:13:45 | 显示全部楼层
这个方法我早就用了,效果很好!
我是先校验ID,然后对代码进行校验,程序在运行时发现自己被改动后就不动声色的进行错误运行!
我还专门做了一个HEX加密工具,将校验密钥插入HEX中,供程序在运行时进行自我完整性校验!

出0入0汤圆

发表于 2011-12-26 22:57:29 | 显示全部楼层
谢谢,这么好的程序加密方式,一定得学学。

出0入0汤圆

发表于 2011-12-26 22:58:05 | 显示全部楼层
谢谢分享,这么好的程序加密方式,一定得学学。

出0入0汤圆

发表于 2011-12-26 23:03:49 | 显示全部楼层
这个想法好,一直把破_解者弄到精神崩溃为止!

出0入0汤圆

发表于 2011-12-26 23:12:36 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-27 14:04:11 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-27 14:07:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-27 15:29:22 | 显示全部楼层
关注

出0入0汤圆

发表于 2011-12-27 15:32:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-27 16:06:04 | 显示全部楼层

出0入0汤圆

发表于 2011-12-28 10:01:41 | 显示全部楼层
回复【256楼】laoma 我要到日本去放烟火
-----------------------------------------------------------------------

支持这种想法!!!

出0入0汤圆

发表于 2012-1-1 20:00:03 | 显示全部楼层
回复【9楼】flywater 落叶
-----------------------------------------------------------------------

mark

出0入0汤圆

发表于 2012-1-4 19:15:16 | 显示全部楼层
回复【140楼】hsztc
首先我要说下,我不是搞破_解的,在单片上面还没赚到过一分钱,只是爱好。
我只看自己写的c,然后反汇编研究。
【62楼】 kangar0065 冒牌袋鼠 的hex拿去直接反汇确实是不行的哈。
但对于有点基础的人是没用的。我昨天看了下代码,没办法用机器生程asm文件
可能是软件太傻了。我要跟大家说的是这个程序里面的防反汇编的秘密:
这个程序在第一次跳转后暴露了秘密
第一个:
用先将要跳转的数写入指针,然后压入堆栈,然后用中断返回指令,实现跳转
实际上就是将指针的值送给pc
mov     dptr,#7593h
push    dpl
push    dph
reti
这几条语句等于ljmp 7593h
第二个:
在跳转指令后面插入一个数据误导反汇编软件。
我想原形应该是这样的:
        clr a
        jz l1
        db ......
-----------------------------------------------------------------------

应该是这样跳转的  xukaiming@126.com   是楼主的邮箱不

出0入0汤圆

发表于 2012-1-10 21:05:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-11 15:01:39 | 显示全部楼层
MARK

出0入0汤圆

发表于 2012-1-13 14:47:57 | 显示全部楼层
mark,东西做得撇,还没到被抄的地步

出0入0汤圆

发表于 2012-1-13 17:34:53 | 显示全部楼层
早晚得用啊

出0入0汤圆

发表于 2012-1-15 11:12:46 | 显示全部楼层
g00d

出0入0汤圆

发表于 2012-1-15 11:30:01 | 显示全部楼层
回复【542楼】ktlktl
回复【140楼】hsztc  
首先我要说下,我不是搞破_解的,在单片上面还没赚到过一分钱,只是爱好。  
我只看自己写的c,然后反汇编研究。  
【62楼】 kangar0065 冒牌袋鼠 的hex拿去直接反汇确实是不行的哈。  
但对于有点基础的人是没用的。我昨天看了下代码,没办法用机器生程asm文件  
可能是软件太傻了。我要跟大家说的是这个程序里面的防反汇编的秘密:  
这个程序在第一次跳转后暴露了秘密  
第一个:  
用先将要跳转的数写入指针,然后压入堆栈,然后用中断返回指令,实现跳转  
实际上就是将指针的值送给pc  
mov     dptr,#7593h  
push    dpl  
push    dph  
reti  
这几条语句等于ljmp 7593h  
第二个:  
在跳转指令后面插入一个数据误导反汇编软件。  
我想原形应该是这样的:  
       ......
-----------------------------------------------------------------------

不是

出0入0汤圆

发表于 2012-1-15 11:32:01 | 显示全部楼层
回复【530楼】lswood
这个方法我早就用了,效果很好!
我是先校验id,然后对代码进行校验,程序在运行时发现自己被改动后就不动声色的进行错误运行!
我还专门做了一个hex加密工具,将校验密钥插入hex中,供程序在运行时进行自我完整性校验!
-----------------------------------------------------------------------

你要出生的早,新国内也是你发现的!

出0入0汤圆

发表于 2012-1-15 12:14:05 | 显示全部楼层
回复【34楼】flywater  落叶
回复【27楼】gorgon meducer 傻孩子
-----------------------------------------------------------------------
  谢谢高手前来捧场,希望不是来索陪的,哈哈....
  我认为全部代码状态机化有以下不妥:
  1、遍地都是小偷,被抓的机率更大。
  2、无论用什么方式校验,都是要占时间滴~!
  3、空间占用量可能会增加,单片机的时间和空间都是银子换来的....
  我们要做的是:
  1、尽量少的代码,尽量多的校验,尽量保证重要代码不可改动性。
  2、校验中尽量多的使用程序中通用函数,增加跟踪的难度。
  3、校验环环相扣,动一发而牵全身,从精神上打击跟踪者。
-----------------------------------------------------------------------


动一发而牵全身,从精神上打击跟踪者。

出0入0汤圆

发表于 2012-1-15 13:21:54 | 显示全部楼层
我觉得不管你校验几次flash,破_解者只要找到你所有用于校验的函数,强制令它返回正确,这样你的校验就全都白费了,不知道这样理解可否。。。

出0入0汤圆

发表于 2012-1-15 13:43:13 | 显示全部楼层
有意思,mark

出0入0汤圆

发表于 2012-1-17 00:07:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-17 03:39:47 | 显示全部楼层
深夜花了近一个小时看完这贴,受益良多。
楼上很多没看明白楼主的思路,建议从第一页开始仔细看下来。
软件上想做到完全防破_解似乎是不太可能,只能通过提高“破_解成本”和“破_解出来代码产生的经济效益”的比值来解决这个问题。
上面说的很多方法,如果是自己创业话用上不错,如果平常工作时都这样弄话会太折腾。

出0入0汤圆

发表于 2012-1-17 12:07:30 | 显示全部楼层
奇怪了,为什么FLASH不做成只写(可反复写)的呢?这样代码就成了个黑盒子了。

出0入0汤圆

发表于 2012-1-17 14:54:31 | 显示全部楼层
有仿真调试功能的芯片是不是破_解容易些呢.

出0入0汤圆

发表于 2012-1-17 16:19:31 | 显示全部楼层
学习了!mark个记号,将来用

出0入0汤圆

发表于 2012-1-18 20:11:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-19 13:44:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-19 16:23:22 | 显示全部楼层
MARK

出0入0汤圆

发表于 2012-1-19 17:37:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-27 17:02:59 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2012-1-27 20:35:37 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-29 21:19:29 | 显示全部楼层
标记

出0入0汤圆

发表于 2012-1-29 21:29:45 | 显示全部楼层
“只要堆栈不溢出,尽可能多的使用内存”==这点容易啊,像什么CRC的,我这样的菜鸟就很难做到了。

出0入0汤圆

发表于 2012-1-29 22:13:56 | 显示全部楼层
貌似不错,以后再来看看

出0入0汤圆

发表于 2012-1-29 22:46:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-2-29 08:31:14 | 显示全部楼层
mark!

出0入0汤圆

发表于 2012-2-29 09:12:04 | 显示全部楼层
先mark下

出0入0汤圆

发表于 2012-2-29 10:31:39 | 显示全部楼层
mark,任重而道远啊!

出0入0汤圆

发表于 2012-5-12 16:03:51 | 显示全部楼层
也来听听楼主的高招

出0入0汤圆

发表于 2012-5-16 17:28:17 | 显示全部楼层
学习了,太谢谢楼主了。

出0入0汤圆

发表于 2012-5-16 20:23:48 来自手机 | 显示全部楼层
手机党,先收藏

出0入0汤圆

发表于 2012-5-16 20:57:10 | 显示全部楼层
不错,顶下,值得学习

出0入0汤圆

发表于 2012-6-13 16:33:19 | 显示全部楼层
正在弄,mark下

出0入0汤圆

发表于 2012-6-14 08:58:35 | 显示全部楼层
道高一尺,魔高一丈啊
还是魔高一尺,道高一丈啊

出0入0汤圆

发表于 2012-6-14 08:59:12 | 显示全部楼层
加密解密相互促进。。

出0入0汤圆

发表于 2012-6-14 08:59:36 | 显示全部楼层
矛和盾的问题

出0入0汤圆

发表于 2012-6-14 23:23:09 | 显示全部楼层
本帖最后由 bg8wj 于 2012-6-14 23:31 编辑

呵呵,如此加密居然敢说“万无一失”?那是你的程序没有破解价值!CRC有神马稀奇的,改装过4缸的m1.5.4汽车发动机ecu吗?就是代码crc的,俄国人还不是一样搞出校验程序。我一直再用来改装我的手帕。真是火星来的。还有在多透露点那叫checksum,和md5 等文件校验一样的。

出0入0汤圆

发表于 2012-6-15 08:58:21 | 显示全部楼层
菜鸟了解下!

出0入0汤圆

发表于 2012-7-27 13:27:57 | 显示全部楼层
谢谢分享,学习了。

出0入0汤圆

发表于 2012-8-1 16:58:39 | 显示全部楼层
正在找加密方法,对于我等菜鸟级的人,貌似用加密芯片更容易一些。

出0入0汤圆

发表于 2012-8-1 17:26:35 | 显示全部楼层
围观一下

出0入0汤圆

发表于 2012-8-1 18:29:38 | 显示全部楼层
可以弄得像炸弹一样……

出0入0汤圆

发表于 2012-8-1 18:31:25 | 显示全部楼层
把单片机与PCB隔离(用一个层),只要层一破,单片机就损坏掉了。^.^                  不好量产               别拍砖

出0入0汤圆

发表于 2012-8-8 19:34:55 | 显示全部楼层
先mark。。。

出0入0汤圆

发表于 2012-9-7 16:22:29 | 显示全部楼层
stc的唯一id可靠嗎?

出0入0汤圆

发表于 2012-9-7 17:01:19 | 显示全部楼层
学习了,有机会试一下

出0入0汤圆

发表于 2013-1-29 23:45:36 | 显示全部楼层
看了很过瘾,虽然是业余,但是学习还是需要的

出0入0汤圆

发表于 2013-1-30 10:49:21 | 显示全部楼层
原来还能这样的啊

出0入0汤圆

发表于 2013-2-4 14:03:12 | 显示全部楼层
真的学到很多知识,开了眼界,也希望有大神多多 指教,开阔视野~

出0入0汤圆

发表于 2013-2-4 14:44:26 | 显示全部楼层
标记一个,慢慢看

出0入8汤圆

发表于 2013-2-5 19:29:16 | 显示全部楼层
mmmk

出0入4汤圆

发表于 2013-2-5 20:59:52 | 显示全部楼层
仔细看了一遍,受教了,多谢楼主

出0入0汤圆

发表于 2013-2-5 21:18:14 | 显示全部楼层
破解与反破解永恒的话题

出0入0汤圆

发表于 2013-2-5 22:16:43 | 显示全部楼层
顶了

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-3-28 19:10

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

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