• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 什么是單片機解密?單片機解密原理

    什么是單片機解密?單片機解密原理

    作者: 時間:2013-03-19 來源:網絡 收藏

    又叫,單片機破解,芯片破解,IC解密,但是這嚴格說來這幾種稱呼都不科學,但已經成了習慣叫法,我們把CPLD解密,DSP解密都習慣稱為

    單片機(MCU)一般都有內部EEPROM/FLASH供用戶存放程序和工作數據。什么叫呢?如果要非法讀出里的程式,就必需解開這個密碼才能讀出來,這個過程通常稱為單片機解密或芯片加密。為了防止未經授權訪問或拷貝單片機的機內程序,大部分單片機都帶有加密鎖定位或者加密字節,以保護片內程序;如果在編程時加密鎖定位被使能(鎖定),就無法用普通編程器直接讀取單片機內的程序,單片機攻擊者借助專用設備或者自制設備,利用單片機芯片設計上的漏洞或軟件缺陷,通過多種技術手段,就可以從芯片中提取關鍵信息,獲取單片機內程序這就叫單片機解密。大部分單片機程式寫進單片機后,工程師們為了防止他人非法盜用(侵權),所以給加密,以防他人讀出里面的程式。

    單片機

    單片機解密簡單就是說就是擦除單片機片內的加密鎖定位。就AT89C系列單片機解密為例:

    由于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不用,以后就可用燒總線模式對單片機加密。



    評論


    技術專區

    關閉
    主站蜘蛛池模板: 赞皇县| 清水县| 大宁县| 合山市| 阿鲁科尔沁旗| 文成县| 和田市| 新龙县| 衡阳县| 峨眉山市| 巴东县| 承德市| 潼关县| 伊宁县| 元江| 东莞市| 夏津县| 辽源市| 新巴尔虎右旗| 昌都县| 阿坝| 柯坪县| 嵩明县| 绩溪县| 彝良县| 新蔡县| 上蔡县| 信宜市| 乌鲁木齐县| 新安县| 托里县| 武城县| 类乌齐县| 临安市| 云南省| 宁武县| 临汾市| 淅川县| 罗源县| 太湖县| 德令哈市|