衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

三種方法教你如何破解51單片機

GReq_mcu168 ? 來源:未知 ? 作者:佚名 ? 2017-11-26 09:03 ? 次閱讀

大家可能都知道破解51單片機是很容易的,但為什么容易,又是如何來破解的,可能很多人就不大清楚了,我在這里結合網上一些前輩整理的資料,和自己的經驗,對MCU破解技術做個簡單分析。

大家不要把解密想的很復雜,他不像研發一款產品那樣,先確定客戶需求或者新產品主要功能,然后立項確定技術指標,分配軟硬件開發任務,基于硬件調試程序,然后驗證功能,測試bug,還要做環境試驗。行業里解密的方法有很多,每個人破解的思路也不一樣。但是大致分為幾種。

軟件破解

利用軟件破解目標單片機的方法,利用這種方法,不會對目標MCU元器件造成物理損傷。主要是對WINBONGD,SYNCMOS單片機和GAL門陣列,這種利用軟件解密設備,按照一定的步驟操作,執行片內的程序送到片外的指令,然后用解密的設備進行截獲,這樣芯片內部的程序就被解密完成了(GAL采用邏輯猜測),就可以得到加密單片機中的程序。

硬件破解

流程如下:

1、測試

使用高檔編程器等設備測試芯片是否正常,并把配置字保存。

2、開蓋

采用手工或專用開蓋設備進行開蓋處理,這里說的開蓋并不是說單片機或者其他MCU真有一個蓋。簡單解釋一下,MCU其實是一個大規模集成電路,它是由N個電路組合而成的,而晶圓就是搭載集成電路的載體。將晶圓進行封裝后,就形成了我們日常所用的IC芯片,封裝形式可以有多種,比如TSSOP28、QFN28等,大家可以自己去百度搜索,這里不再復述。

3、做電路修改

對不同芯片,提供對應的圖紙,讓廠家做電路修改,目的是讓MCU的存儲區變得可讀。有些MCU默認不允許讀出Flash或者E2PROM中的數據,因為有硬件電路做保護,而一旦切斷加密連線,程序就暴露可讀了。如圖2所示

(切割掉加密熔絲,這樣就可以直接讀出芯片內部程序)

4、讀程序

取回修改過的MCU,直接用編程器讀出程序,可以是HEX文件,或者BIN文件。

5、燒寫樣片給客戶

按照讀出的程序和配置,燒寫到目標MCU中,這樣就完成了MCU的破解。 至此,硬件破解法成功完成。

軟硬兼施

采用軟件和硬件結合的方法,需要對芯片的內部結構非常的熟悉。

另外還有其他一些破解技術,例如電子探測攻擊、過錯產生技術等等,但是最終目的只有一個,就是能夠模仿出目標MCU的功能就可以了。

看到這里大家應該明白一個道理,破解MCU并不能做到把MCU中的程序原封不動的還原出來。目前的技術也做不到,至少國內應該做不到。針對以上情況,加密芯片應運而生,初期確實能很好的保護MCU的安全,但很快就被找到了漏洞。

我舉個實際破解的例子分析一下,大家就能夠明白了。

加密原理:

MCU和加密芯片各存儲一條認證秘鑰,存儲同樣的加密算法

MCU產生隨機數發給加密芯片,后者用秘鑰加密后將密文返回,此時MCU解密后,比對明文是否和生成的隨機數相等。如果相等,程序正常運行;如果不相等,出錯處理。

因為盜版商沒有這條秘鑰,加密芯片與MCU交互的數據又是隨機變化的,無法找到規律,所以只能把加密芯片的程序破解了,再復制一片加密芯片才能讓MCU的程序跑起來。而加密芯片不同于通用MCU,它內部有很多安全機制,破解難度非常大。

這種加密方案看似非常安全,但其實還是有漏洞的。

破解方法:

  1. 首先按照第二種破解方法,獲取到MCU的HEX文件。此處省略N步,不再復述。

  2. 使用軟件進行HEX反編譯,反編譯軟件目前有很多。

  3. 在反編譯的程序中,找到對比點,比如圖3所示,CJNE語句可能就是這個對比點。因此只要把箭頭2那行語句刪除,然后重新把匯編語言下載到MCU中,破解工作就完成了。此時即使沒有加密芯片,MCU也能正常運行了。

其實原因很簡單。MCU是要對加密芯片的返回值進行判斷的,那么不讓他做判斷,這樣一來不管加密芯片返回值是什么,程序都能正常運行。

因此這種加密方案很快就被破解了。當然也不是這么絕對,因為有些MCU即使剖片也不能獲得里面的HEX或者BIN文件,所以這種破解方案也要看MCU的安全等級夠不夠高。但是足以說明一個問題,這種通過對比加密結果來實現加密的方案,安全等級還是不夠高,還是有破解漏洞的。

因為篇幅有限,本期只做解密技術的簡單介紹。所謂知己知彼,百戰百勝,唯有了解了破解技術,才能更有效的做加密防護。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17317

    瀏覽量

    352636
  • 51單片機
    +關注

    關注

    274

    文章

    5705

    瀏覽量

    124294

原文標題:三種破解MCU 技術,就是這么簡單!

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA頻率測量的三種方法

    1、FPGA頻率測量? 頻率測量在電子設計和測量領域中經常用到,因此對頻率測量方法的研究在實際工程應用中具有重要意義。 通常的頻率測量方法三種:直接測量法,間接測量法,等精度測量法。 2、直接
    的頭像 發表于 01-09 09:37 ?185次閱讀
    FPGA頻率測量的<b class='flag-5'>三種方法</b>

    51單片機pwm和spwm

    51單片機pwm
    發表于 01-08 15:54 ?2次下載

    51單片機核心板原理圖

    51單片機核心板原理圖
    發表于 12-16 11:30 ?3次下載

    51單片機中為什么很少出現printf的身影

    51單片機中為什么很少出現 printf 的身影?是用不了嗎? 不是的,51單片機可以用 printf,只是不建議使用。 平時我們在操作系統上寫C語言代碼,使用 printf 可以把數
    的頭像 發表于 12-03 10:46 ?524次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>中為什么很少出現printf的身影

    基于51單片機的手動數字時鐘

    按鍵,可實現秒復位。仿真演示視頻:基于51單片機的手動數字時鐘-仿真視頻設計介紹51單片機簡介51單片
    的頭像 發表于 10-22 14:12 ?299次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的手動數字時鐘

    基于51單片機的遙控開關仿真(雙機通信)

    單片機的遙控開關仿真(雙機通信)-仿真視頻設計介紹51單片機簡介51單片是一低功耗、高性能CM
    的頭像 發表于 10-22 14:12 ?393次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的遙控開關仿真(雙機通信)

    如何實現51單片機與PC的串行通信

    的詳細步驟和方法。 硬件連接 首先,我們需要將51單片機與PC的串行接口連接起來。通常,我們使用RS-232接口進行連接。RS-232接口是一
    的頭像 發表于 10-21 11:35 ?1288次閱讀

    51單片機驅動

    電子發燒友網站提供《51單片機驅動.exe》資料免費下載
    發表于 09-20 11:46 ?5次下載

    單片機三種總線結構

    單片機三種總線結構包括地址總線(Address Bus, AB)、數據總線(Data Bus, DB)和控制總線(Control Bus, CB)。這三種總線在單片機內部及與外部設備
    的頭像 發表于 09-10 11:32 ?3698次閱讀

    51單片機晶振的問題總結

    電子發燒友網站提供《51單片機晶振的問題總結.doc》資料免費下載
    發表于 09-07 09:32 ?0次下載

    51單片機燒錄軟件怎么用

    準備工作 確保您已經安裝了51單片機燒錄軟件,如Keil、IAR等。 準備好51單片機開發板和燒錄器,如STC-ISP等。 確保您的計算機已經安裝了相應的驅動程序。 安裝燒錄軟件 從官
    的頭像 發表于 08-22 09:26 ?1498次閱讀

    MCUXpresso IDE下在線聯合調試雙核MCU工程的三種方法

    大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下在線聯合調試i.MXRT1170雙核工程的三種方法
    的頭像 發表于 08-08 15:18 ?664次閱讀
    MCUXpresso IDE下在線聯合調試雙核MCU工程的<b class='flag-5'>三種方法</b>

    ?51單片機串口通信詳細介紹-小白必看

    51單片機串口通信是單片機與外部設備通信的重要方式,它基于串行通信的原理,以字節為單位進行數據傳輸。在51單片機中,串口通信主要依賴于兩個關
    的頭像 發表于 04-17 09:33 ?2151次閱讀
    ?<b class='flag-5'>51</b><b class='flag-5'>單片機</b>串口通信詳細介紹-小白必看

    51單片機流水燈制作

    ?流水燈是學習51單片機的一個基本項目,是我們對單片機IO口輸出認識的基本項目。當然學會了花樣流水燈也很好玩。 下面就分享一51
    的頭像 發表于 02-26 10:06 ?1705次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>流水燈制作

    菱M70 PLC增加注解的三種方法簡析

    菱M70 PLC增加注解的三種方法
    的頭像 發表于 02-26 09:59 ?1158次閱讀
    <b class='flag-5'>三</b>菱M70 PLC增加注解的<b class='flag-5'>三種方法</b>簡析
    皇冠投注网站| bet365备用器| 乐都县| 988百家乐官网娱乐| 百家乐官网德州| 南京百家乐赌博现场被| 亚洲顶级赌场第一品牌| 网络百家乐官网最安全| 百家乐官网投注网站是多少| 百家乐的关键技巧| 大发888娱乐场下载官方| 赌百家乐官网赢的奥妙| 澳门百家乐官网论坛及玩法| 盈得利百家乐娱乐城| 网上梭哈| 黄金百家乐官网的玩法技巧和规则| 百家乐合法| 皇冠网赌球安全吗| 老k百家乐官网的玩法技巧和规则| 四方百家乐的玩法技巧和规则| 海原县| 百家乐官网平注常赢玩法更| 百家乐任你博娱乐场| 上蔡县| 基础百家乐官网博牌规| 大发888国际娱乐bet| 半圆百家乐官网桌子| 百家乐免佣台| 娱乐城棋牌| 百家乐网址讯博网| 星空棋牌下载| 百家乐官网博娱乐平台赌百家乐官网| 火箭百家乐的玩法技巧和规则 | 自贡百家乐赌| 百家乐官网扑克桌布| 淮安市| 如何玩百家乐游戏| 皇冠体育| 赌百家乐的方法| bet365备用| 博马百家乐娱乐城|