熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2019-11-5 08:53
正文摘要:開發(fā)人員一般設(shè)計(jì)軟件加密方法:讀id---復(fù)雜算法計(jì)算---對比之前存儲的對應(yīng)數(shù)據(jù)(與id相關(guān))---判斷芯片是否合法。 由于讀id時(shí)很多人直接用id起始地址,例如0x1FFFF7E8,破解的人只要把這個(gè)數(shù)據(jù)改成0x8000020,并且0x ... |
雖然不懂,還是來學(xué)習(xí)1下 |
實(shí)用,樓主辛苦了。 |
三、利用id做軟件加密 1,如果板子上有外部存儲器,可以先編寫一個(gè)程序,利用算法把id計(jì)算得到一些值存入外部存儲器,然后再燒寫真正的程序,真正的程序去校驗(yàn)外部存儲器的數(shù)據(jù)是否合法即可 2,利用板子上按鍵組合,或是上電按住某些鍵,程序在這個(gè)時(shí)候利用算法把id計(jì)算得到一些值存入程序區(qū)(stm8為EE區(qū)),程序運(yùn)行時(shí)去驗(yàn)證程序區(qū)數(shù)據(jù)是否正確 3,軒微編程器有軟件加密的功能,編程器會讀芯片id,根據(jù)算法直接改寫緩沖區(qū),達(dá)到軟件加密的作用 4,讀出的id通過一定算法,例如異或加上一個(gè)數(shù),得到的數(shù)據(jù)存入flash(只運(yùn)行一次,運(yùn)行后標(biāo)志位也存入flash),下次讀到這個(gè)標(biāo)志位,就不運(yùn)行這個(gè)程序。 四、做軟件加密時(shí)注意 1,不要在程序中直接出現(xiàn)id地址,例如STM32:1FFFF7E8 1FFFF7EC 1FFFF7F0 STM8: 0x4865~0x4870 2, 利用校驗(yàn)和或是crc對程序區(qū)進(jìn)行校驗(yàn),防止改程序 |
同樣象stm8s103讀id時(shí),就不要出現(xiàn)0x4865~0x4871 |
Powered by 單片機(jī)教程網(wǎng)