ARM芯片程序完整性加密,增加破解难度,保护知识产权!

2020-02-20 20:45发布

最近做产品,想出一个加密方法,而且已经在产品中实现了,现在贡献出来,与大家分享:

第一步:选择合适的加密算法
第二步:利用分散加载,将部分重要函数放到RAM中运行
第三步:将RAM中运行的函数的BIN数据提取出来,用芯片唯一ID当密钥进行加密!
第四步:将加密后的数据放在固定Flash中
第五步:将原程序中的函数用NOP进行填充
第六步:程序运行初始化的时候,将固定Flah中的数据进行解密,并拷贝到RAM中,程序完整再开始运行!

这样子破解的时候就算进行程序对比,知道那块是加密程序,由于不了解算法,也没办法!
欢迎拍砖!


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
wangpengcheng
1楼-- · 2020-02-25 01:26
hell-prototypes 发表于 2014-11-21 16:31
不知道用了多少RAM,,,小RAM的片子不好搞吧。

用RAM不会太多!只是放几个函数而已
wangpengcheng
2楼-- · 2020-02-25 02:33
richyhuang 发表于 2014-11-21 16:39
别人会动态调试你的程序的,ram里面的内容一样可以访问到的.

呵呵,加密的作用是增加破解成本!简单的加密破解起来当然简单,但当加密复杂到一定程度,破解成本就比研发成本高N倍了!也就不会有人选择破解了!
openm4
3楼-- · 2020-02-25 03:05
wangpengcheng 发表于 2014-11-21 15:43
加密算法你选择哪个都可以,呵呵,只要可以还原数据就可以!

刚看了下你签名的淘宝店,有支持kinetis全系列的脱机烧写器,靠谱不?
稳定吗?
wangpengcheng
4楼-- · 2020-02-25 03:46
openm4 发表于 2014-11-21 16:48
刚看了下你签名的淘宝店,有支持kinetis全系列的脱机烧写器,靠谱不?
稳定吗? ...

都卖出去几十个,呵呵,没问题的!
xuyuetc
5楼-- · 2020-02-25 07:49
 精彩回答 2  元偷偷看……
huangqi412
6楼-- · 2020-02-25 13:04
wangpengcheng 发表于 2014-11-21 16:12
http://www.amobbs.com/thread-5592242-1-1.html

看看这个,这个是把函数固定在Flash中,只是地址不一样 ...

  谢谢啦

一周热门 更多>