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

2020-02-20 20:45发布

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

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

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


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
szy494468597
1楼-- · 2020-02-22 14:39
目前还没做过程序加密。。。
jiwx2011
2楼-- · 2020-02-22 20:07
能上代码吗
wangpengcheng
3楼-- · 2020-02-23 00:48
 精彩回答 2  元偷偷看……
wangpengcheng
4楼-- · 2020-02-23 05:20
happy_andy 发表于 2014-11-21 11:33
加密与破解都是相对的,只是时间的问题!

做到破解成本远大于研发成本,就可以了,呵呵!
wangpengcheng
5楼-- · 2020-02-23 05:23
本帖最后由 wangpengcheng 于 2014-11-21 15:50 编辑
xiaohuzi 发表于 2014-11-21 14:00
这个需要烧写器的配合,楼主自己的工具实现这个功能了吗?


我自己的产品当然可以了,别人的要做就得需要配合!也可以先做一个Boot程序,跑一下boot,把加密部分写进去,然后再把程序烧录进去!这样也可以,烧录的时候麻烦一点!
wangpengcheng
6楼-- · 2020-02-23 11:18
fengyunyu 发表于 2014-11-21 13:39
LZ一般用什么加密算法?

不告诉你,哈哈,网上算法多的是,随便选一个!

一周热门 更多>