这个是hotpower的原文连接:
https://bbs.21ic.com/icview-190954-1-1.html
他的加密思路主要就是:
1、利用stm32的ID号进行CRC运算得辅助ID,将这个辅助ID再次与ID合并进行CRC运算最终就为0了。
2、将辅助ID存储于内部flash或者外部EEPROM等。
3、然后可以将整个代码中的常量0替换为CRC公式,或者经过与或非替换其他常量。
4、以后程序运行的时候就要将当前单片机ID与存储的数字进行CRC效验,如果不为0那么将会
打乱整个程序的数据,程序会怎么样运行就连作者都不清楚。
所以,**者比较好的方法就是只要更换存储好的那个辅助ID,让当前单片机ID与之CRC为0就可以了。
我的问题是:
stm32内置CRC,那么**者经过反汇编也当然很清楚加密方式用了CRC效验。所以只要在当前代码加入
一段程序:将当前存储的辅助ID替换为单片机ID进行CRC效验的值就行了。不管是hotpower说了进行26次
循环运算,只要反汇编了**者应该也一样可以看得出你进行了26次循环的。
那么到底要怎么样做才能让他看不出来呢?
|