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