現在一些類型的單片機,從幾百塊錢到幾萬塊錢,也有人可以做破解,為了防止大家的産品被剽竊,那今天我給大家簡單介紹一種當前比較流行的常用加密手段。
這種加密手段其實原理很簡單,現在是單片機的主流加密手段,還有尤其FPGA這種内部不帶程序存儲空間的器件,更是比較多的利用這種加密手段,就是唯一ID。那我們現在手上的銀行卡芯片卡,就是用的這種加密手段,這也是為什麼
這個唯一ID的意思就是,每顆芯片出廠的時候,都帶了一個号碼,這個号碼是唯一不重複的,和我們每個人的身份證号碼一樣,現在剛出生的嬰兒,辦理出生證的時候就給他一個身份證号,那麼每個芯片一生産出來,也就具備了這個身份證号。那有了這個身份證号可以做什麼呢?、
我們可以在單片機的外設上添加一個EERPOM存儲器(或者有的單片機内部有),然後我們自己組織一種特殊的算法,利用這個唯一ID,産生一組數據,每生産一個産品,我們預先存儲在我們的EEPROM内這樣一個數據,當然,燒寫這個數據我們也可以用軟件程序來實現的。我們的單片機上電程序初始化的時候,會來讀一下EEPROM内部這個數據X,然後用自身内部的ID加這個算法運算一下一個值Y,然後比較X和Y是否一緻,如果一緻就繼續工作,如果不一緻就停止工作。
舉個例子,如果我們這個芯片内部的ID是147258369這9位數字,那麼我們的算法就是每一位數字乘以2加1,進位部分直接舍掉,那形成的數字就是:395517739。我們隻需要把395517739這個數字預先燒寫到我們的EEPROM内部,然後我們編寫功能程序的時候,在初始化部分,會上電讀一下EEPROM的這個數字,讀出來X是395517739,然後再讀一下我們的這個芯片的唯一ID是147258369,用我們的算法計算一下這個結果Y是395517739,比較兩者相等,則程序繼續執行,兩者不相等則不工作。
一、芯片破解者,隻能把芯片的二進制碼讀出來,源程序他是改不了的,所以他隻能複制程序,并不能随便更改程序。
二、每個産品上的主單片機的唯一ID,都會預先和自己産品的EEPROM内部的數據做比較,即使他們複制了這個EERPOM的數據,那他們隻要換了其他一顆單片機,還是依然無法運行。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!