gmajvfhpa 发表于 2016-10-26 09:59:22

STC唯一ID是不是很好破?因为ID放在RAM里是可改写的

最新版的STC烧写程序可以把ID简单运算后加入到程序区内的任意地址,在程序运行中,这个数据与原始ID比后,根据结果可以做一些想做的事。但问题来了,如果单片机程序被读出来了,是否只要在读出的程序最后添加改写ID的代码,并把程序入口地址改成该代码的地址,完事了再回到原来的入口执行,就能破解?如真的这么简单,哪用什么方法可增加破解难度?

mcu5i51 发表于 2016-10-26 11:07:52

人家说STC的芯片是无法破解的,不是难度多大,是无法破解;所以高大上的东东尽管用,不会被破解,不过市面上出现一样一样的东西也只是仿制品,不是破解的,是仿制来这;
好东西还加个保密芯片吧,

小李非刀 发表于 2016-10-26 17:35:24

如果这样操作,那就是要分析代码。如果能分析代码,则这些加密都会被冲破。

小李非刀 发表于 2016-10-26 17:36:41

建议ID加密后放在EEPROM的最后一页,增加破解难度。

ylei12 发表于 2016-10-26 18:09:21

问一下,一般知道id后如何做加密?

takashiki 发表于 2016-10-26 20:04:50

小李非刀 发表于 2016-10-26 17:35
如果这样操作,那就是要分析代码。如果能分析代码,则这些加密都会被冲破。 ...

如果代码可以读出,那stc的所谓唯一id一点用也没有了。直接hook 0000地址,把母片id直接复制到对应ram中,然后再执行本来该执行的程序。至此,唯一id失效。

shi_90 发表于 2016-10-27 11:20:01

真正遇到破解的应该不多了,大部分都是仿制,完全抄你的电路设计,然后无非自己写程序罢了!!其实说白了最有技术含量的部分是在硬件设计,软件因为会写的太多了!我遇到过很多都是硬件照着原版抄,程序自己写,你做的那些加密都无济于事,因为人家不用你的程序!

gmajvfhpa 发表于 2016-10-27 13:08:16

ylei12 发表于 2016-10-26 18:09
问一下,一般知道id后如何做加密?

我现在的做法是把唯一ID放在程序区中一个固定的地方,并用 char code cc[*]常量填满整个单片机程序区。这样就没有空间来增加改写原ID的程序了。

gmajvfhpa 发表于 2016-10-27 13:12:10

takashiki 发表于 2016-10-26 20:04
如果代码可以读出,那stc的所谓唯一id一点用也没有了。直接hook 0000地址,把母片id直接复制到对应ram中 ...

hook 是否需要有程序空间才可以做到,如果原程序已把所有单片机空间写满了,是否就不能写钩子程序了?

peterlzj 发表于 2016-10-27 13:19:06

程序都读出来了任何加密都是白费

takashiki 发表于 2016-10-27 13:19:47

gmajvfhpa 发表于 2016-10-27 13:12
hook 是否需要有程序空间才可以做到,如果原程序已把所有单片机空间写满了,是否就不能写钩子程序了? ...

是呀,所以没有用到的空间里面填满随机数,粗看一眼就没法hook了。或者对自己的Flash空间自校验,简单的累加或异或就可以,简单hook就行不通了。
其实真跟楼上几位说的一样,仿制而不是破解。破解的还不定里面埋啥雷了。
页: [1]
查看完整版本: STC唯一ID是不是很好破?因为ID放在RAM里是可改写的