回覆列表
-
1 # 流離歡晩才陌
-
2 # pietr49411
一般不會的加了密也能讀,只是讀出的東西全是 FF,不是裡面執行的程式加了密晶片做一次晶片擦除操作晶片就應該空了,可以再次燒寫,如果出現問題可以考慮換一個微控制器或程式設計器試試
一般不會的加了密也能讀,只是讀出的東西全是 FF,不是裡面執行的程式加了密晶片做一次晶片擦除操作晶片就應該空了,可以再次燒寫,如果出現問題可以考慮換一個微控制器或程式設計器試試
微控制器解密簡單就是擦除微控制器片內的加密鎖定位。由於AT89C系列微控制器擦除操作時序設計上的不合理。使在擦除片內程式之前首先擦除加密鎖定位成為可能。AT89C系列微控制器擦除操作的時序為:擦除開始---->擦除操作硬體初始化(10微秒)---->擦除加密鎖定位(50----200微秒)--->擦除片內程式儲存器內的資料(10毫秒)----->擦除結束。如果用程式監控擦除過程,一旦加密鎖定位被擦除就終止擦除操作,停止進一步擦除片內程式儲存器,加過密的微控制器就變成沒加密的微控制器了。片內程式可透過匯流排被讀出。對於AT89C系列微控制器有兩種不可破解的加密方法。一、永久性地破壞微控制器的加密位的加密方法。簡稱OTP加密模式。二、永久性地破壞微控制器的資料匯流排的加密方法。簡稱燒匯流排加密模式。AT89C系列微控制器OTP加密模式原理這種程式設計加密演算法燒壞加密鎖定位(把晶片內的矽片擊穿),面不破壞其它部分,不佔用微控制器任何資源。加密鎖定位被燒壞後不再具有擦除特性,89C51/52/55有3個加密位進一步增加了加密的可靠性。一旦用OTP模式加密後,微控制器片內的加密位和程式儲存器內的資料就不能被再次擦除,89C51/52/55微控制器就好象變成了一次性程式設計的OTP型微控制器一樣。如果使用者程式長度大於89C51微控制器片記憶體儲器的容量,也可使用OPT模式做加密,具體方法如下:1、按常規擴充套件一片大容量程式儲存器,如27C512(64K)。2、把關鍵的程式部分安排在程式的前4K中。3、把整個程式寫入27C512,再把27C512的前4K填充為0。4、把程式的前4K固化到AT89C51中,用OPT模式做加密。5、把微控制器的EA腳接高電平。這樣程式的前4K在微控制器內部執行,後60K在片外執行。盜版者無法讀出程式的前4K程式,即使知道後60K也無濟於事。AT89C系列微控制器煉匯流排加密模式原理因為微控制器片內的程式程式碼最終都要透過資料匯流排讀出,如果指導微控制器的資料匯流排的其中一條線永久性地破壞,解密者即使擦除了加密位,也無法讀出片內的程式的正確程式碼。89C1051/2051的資料匯流排為P1口燒匯流排模式燒壞89C2051的P1.0埠,原程式程式碼為02H、01H、00H。讀出的資料則為03H,01H,00H。其中最低位始終為1,讀出的程式程式碼顯然為錯碼。這種加密模式用於加密89C1051/2051微控制器。缺點是佔用微控制器的資源。開發設計人員在設計微控制器硬體系統時只要預留出口線P1.0不用,以後就可用燒匯流排模式對微控制器加密。