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

2020-02-20 20:45发布

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

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

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


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
wangpengcheng
1楼-- · 2020-02-23 15:21
openm4 发表于 2014-11-21 14:34
道高一尺 魔高一丈啊。。。

对程序的完整性进行加密,主要是算法,算法千千万,如果你自己设置唯一密钥的话难度会加成!
wangpengcheng
2楼-- · 2020-02-23 18:11
 精彩回答 2  元偷偷看……
wangpengcheng
3楼-- · 2020-02-23 21:34
miraclelife 发表于 2014-11-21 13:37
防破解最好的办法就是拖着仿冒者跑,累死他们

你跟9楼的思路不能说不正确,但是当人力有限的时候,你不得不这么做,坛子里打官司的事情也不少吧?什么你抄我的我抄你的!其实还是自己把加密做好了,就没那么多事情了!

就像目前莫大做的防盗号的事情,是一个明显的例子,当别人抄了你的东西,你找他还不如自己把自己这块做到别人抄不走!就解决了所有事情了!
停靠点
4楼-- · 2020-02-24 01:17
有具体实践例子就好了1
wangpengcheng
5楼-- · 2020-02-24 01:50
停靠点 发表于 2014-11-21 15:55
有具体实践例子就好了1

思路都有了,自己动动手就可以了!
rootxie
6楼-- · 2020-02-24 06:10
本帖最后由 rootxie 于 2014-11-21 16:08 编辑

说白了,究其本源 依旧是机密算法和唯一ID来进行做文章,就看怎么做了
可以将过程做得极其复杂,另外放入很多跟唯一ID做算法运算的垃圾代码,即人家即使能比较出来你2块Flash很多不同之处,但是依旧无法确定哪一块是加密有效期,所谓的声东击西之计

一周热门 更多>