色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)4大硬件加密方法解析

5RJg_mcuworld ? 來源:YXQ ? 2019-08-06 15:16 ? 次閱讀

我們知道,研究一套可行實(shí)用的單片機(jī)系統(tǒng)肯定要花大量的人力和物力。為了使所研制的系統(tǒng)不被別人所剽竊,保護(hù)知識產(chǎn)權(quán),通常在單片機(jī)系統(tǒng)設(shè)計(jì)時,都要進(jìn)行加密設(shè)計(jì)。加密設(shè)計(jì)一般有硬件加密和軟件加密。而硬件加密的方法很多,可以采用PAL、GAL等芯片CPUROM之間的地址線或數(shù)據(jù)線按一定密鑰規(guī)律進(jìn)行交換,這樣就把原程序頁號打亂,起到加密作用。但這里探討的是幾種簡單的硬件加密技術(shù)。

1.硬件加密設(shè)計(jì)步驟

1.1 根據(jù)具體項(xiàng)目和任務(wù),設(shè)計(jì)目標(biāo)程序并在未加密情況下調(diào)試成功。

1.2 設(shè)計(jì)硬件加密電路。

1.3 對調(diào)試好的軟件按硬件電路進(jìn)行加密翻譯,不同的硬件加密電路翻譯出來的軟件不同。

1.4 將加密翻譯后的軟件寫進(jìn)EPROM。

這樣,剽竊者將得到的EPROM里的程序進(jìn)行反匯編后,不在是原來的程序,甚至是邏輯關(guān)系混亂毫無價值的代碼。從而保護(hù)了原設(shè)計(jì)者的利益。

2. 硬件加密電路的設(shè)計(jì)

為方便說明硬件加密原理和軟件加密翻譯方法,先列舉一例題,以下論述均以該例子為研究對象。

例1 比較兩個無符號數(shù)的大小,設(shè)兩個無符號數(shù)事先分別存在RAM里的30H和31H單元,若(30H)里的數(shù)大,則累加器的A.0~A.3為高電平;若(31H)里的數(shù)大,則累加器的A.4~A.7為高電平;若兩數(shù)相等,則累加器的A.2~A.5為高電平。試設(shè)計(jì)匯編程序?qū)崿F(xiàn)。

該例題所設(shè)計(jì)的原程序、機(jī)器代碼和存儲單元如下:

2.1 硬件加密方法一

將數(shù)據(jù)線中某幾根線換位,如圖1所示。將圖中數(shù)據(jù)線D1、D2交叉,這樣單片機(jī)系統(tǒng)執(zhí)行的實(shí)際代碼就與EPROM中存儲的代碼完全不同了。若將例1的程序存入EPROM ,那么存入的實(shí)際代碼就要做相應(yīng)的加密翻譯,以使單片機(jī)從EPROM中所取的代碼正確。

加密翻譯后在EPROM中實(shí)際存的代碼和反匯編的結(jié)果如下:

P2.0~P2.4P0.3~P0.7P0.2P0.1P0.0ALEPSENCPU8031

74LS373

A8~A12A3~A7A2A1A0 2764OE CED3~D7D2D1

2.2 硬件加密方法二:

將CPU和EPROM間的地址換位,如圖2所示,將地址線A0、A1換位交叉,這樣單片機(jī)系統(tǒng)程序存在EPROM中的代碼不變,但存儲順序完全打亂。若將例1的程序存入EPROM時,為保證單片機(jī)的正常工作,要將存儲代碼的順序按硬件電路要求做相應(yīng)的改變,即進(jìn)行加密翻譯,加密翻譯后EPROM中存儲的實(shí)際代碼和反匯編的結(jié)果如下:

從反匯編的結(jié)果看,既是剽竊者取出EPROM里的程序代碼,反匯編后也得不到原來的程序了。

2.3 硬件加密方法三

將CPU和EPROM間的數(shù)據(jù)線某些位經(jīng)過三態(tài)反相器求反。如圖3所示,將數(shù)據(jù)線D0、D1分別求反后送CPU,這樣存在EPROM里的程序和原來的程序就不同了。若將例1的程序按硬件加密電路進(jìn)行軟件加密翻譯后,存在EPROM里的實(shí)際代碼和反匯編后結(jié)果如下:

P2.0~P2.4P0.2~P0.7P0.1P0.0 ALEPSENCPU8031

74LS373

A8~A12A2~A7A1A0 2764OE CE D2~D7D1D0

可見經(jīng)硬件加密后,存在EPROM里的代碼與原來代碼完全不同。

2.4 硬件加密方法四

將CPU和EPROM間的地址線的某些位求反。如圖4所示,將地址線A0、A1求反,這樣存在EPROM里的代碼內(nèi)容不變,但代碼的存儲順序要按硬件電路相應(yīng)改變。若仍以例1為例,將該程序代碼加密后,存在EPROM里的代碼和反匯編后的結(jié)果如下:

A8~A12A2~A7A1A0OE CE2764D2~D7D1D0

P2.0~P2.4P0.2~P0.7P0.1P0.0 ALEPSENCPU8031

74LS373

可見將EPROM里的代碼反匯編后,仍得不到原程序。

總結(jié)

堅(jiān)持不懈的嘗試突破保護(hù)機(jī)制的破解團(tuán)體和不斷引入新的安全防范方案的制造商之間的斗爭是沒有盡頭的。 “道高一尺,魔高一丈”,又或是“邪不壓正”,將不停的在兩派之間上演。其實(shí)軟件加密原理很簡單,就是利用單片機(jī)IC廠商,為每片出廠芯片的某一特殊全球唯一識別參數(shù),即ID號做為密鑰,對程序進(jìn)行加密。如果以本ID號的程序燒到另一ID號的芯片中,程序中經(jīng)軟件加密過的部分的功能將完全失效。

要解密上述經(jīng)軟件加密過的程序,唯一的途徑,就是反匯編程序,分析單片機(jī)反匯編后的匯編程序,將程序中軟件加密相關(guān)的密鑰去掉,然后編譯得到新的程序。這項(xiàng)工作需要的不只是耐心,更多的是專業(yè)知識與經(jīng)驗(yàn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6035

    文章

    44553

    瀏覽量

    634770
  • 硬件加密
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    9122

原文標(biāo)題:這4大硬件加密方法,在單片機(jī)中你會用了嗎?

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    單片機(jī)Debug與仿真區(qū)別

    單片機(jī)的開發(fā)是一個復(fù)雜的過程,涉及到硬件設(shè)計(jì)、軟件開發(fā)和測試等多個環(huán)節(jié)。為了確保單片機(jī)能夠按照預(yù)期工作,開發(fā)者需要使用Debug和仿真技術(shù)來檢測和修正代碼中的錯誤。 Debug(調(diào)試) Debug
    的頭像 發(fā)表于 12-19 09:47 ?105次閱讀

    如何優(yōu)化單片機(jī)項(xiàng)目的功耗

    在現(xiàn)代電子設(shè)計(jì)中,功耗優(yōu)化已成為一個不可忽視的重要議題。對于單片機(jī)(MCU)項(xiàng)目而言,功耗不僅關(guān)系到產(chǎn)品的能效比,還直接影響到電池壽命和熱管理。 硬件層面的功耗優(yōu)化 1. 選擇合適的單片機(jī) 選擇一個
    的頭像 發(fā)表于 11-01 14:16 ?303次閱讀

    單片機(jī)編程語言有哪些選擇

    常用的單片機(jī)編程語言,以及它們的特點(diǎn)和應(yīng)用場景: 1. C語言 特點(diǎn) :C語言是一種通用的編程語言,以其高效性和靈活性而聞名。它提供了豐富的庫函數(shù)和直接的硬件訪問能力,非常適合用于單片機(jī)編程。 應(yīng)用 :C語言是
    的頭像 發(fā)表于 11-01 14:13 ?516次閱讀

    單片機(jī)調(diào)試常見問題與解決方法

    燒錄到單片機(jī)時,燒錄軟件顯示無法與單片機(jī)通信。 解決方法: 檢查單片機(jī)的電源是否正常,確保電源電壓在規(guī)定的范圍內(nèi)。 檢查燒錄線的連接是否正確,包括數(shù)據(jù)線和地線。 確認(rèn)燒錄軟件是否選擇了
    的頭像 發(fā)表于 11-01 14:11 ?685次閱讀

    如何實(shí)現(xiàn)51單片機(jī)與PC機(jī)的串行通信

    的詳細(xì)步驟和方法硬件連接 首先,我們需要將51單片機(jī)與PC機(jī)的串行接口連接起來。通常,我們使用RS-232接口進(jìn)行連接。RS-232接口是一種常用的串行通信接口,它使用9個引腳進(jìn)行
    的頭像 發(fā)表于 10-21 11:35 ?794次閱讀

    單片機(jī)怎么寫入程序

    程序通常涉及以下幾個步驟: 選擇單片機(jī)和開發(fā)環(huán)境 : 確定項(xiàng)目需求,選擇合適的單片機(jī)型號。 安裝相應(yīng)的開發(fā)環(huán)境,如Keil、IAR、MPLAB等。 硬件連接 : 將單片機(jī)連接到開發(fā)板或
    的頭像 發(fā)表于 10-21 11:21 ?430次閱讀

    單片機(jī)燒錄程序的線比單片機(jī)上的少還能燒錄嗎

    的存儲器通常分為兩類:ROM(只讀存儲器)和RAM(隨機(jī)存取存儲器)。ROM用于存儲程序代碼,而RAM用于存儲程序運(yùn)行過程中的數(shù)據(jù)。燒錄過程就是將程序代碼寫入ROM中。 單片機(jī)燒錄方法 單片機(jī)燒錄的
    的頭像 發(fā)表于 09-02 09:54 ?484次閱讀

    單片機(jī)燒錄程序的基本步驟是什么

    單片機(jī)燒錄程序是單片機(jī)開發(fā)過程中非常重要的一步,它涉及到將編寫好的程序代碼通過一定的方式傳輸?shù)?b class='flag-5'>單片機(jī)內(nèi)部的存儲器中,使單片機(jī)能夠按照預(yù)定的邏輯執(zhí)行任務(wù)。 一、
    的頭像 發(fā)表于 09-02 09:47 ?1005次閱讀

    單片機(jī)boot0和boot1怎么設(shè)置

    單片機(jī)的啟動模式通常包括從內(nèi)部ROM啟動、從外部ROM啟動、從外部Flash啟動等。 不同的啟動模式對應(yīng)不同的Boot0和Boot1設(shè)置。 Boot0和Boot1的設(shè)置方法 Boot0和Boot1通常通過硬件
    的頭像 發(fā)表于 08-22 09:50 ?2439次閱讀

    如何系統(tǒng)、科學(xué)地自學(xué)單片機(jī)

    的自學(xué)單片機(jī)呢?自學(xué)單片機(jī)需要一定的計(jì)劃和方法,以下是具體的步驟和建議。如何系統(tǒng)、科學(xué)地自學(xué)單片機(jī)?學(xué)習(xí)電子基礎(chǔ)知識:理解電路原理、數(shù)字電子技術(shù)、模擬電子技術(shù)等基礎(chǔ)
    的頭像 發(fā)表于 03-28 08:03 ?1072次閱讀
    如何系統(tǒng)、科學(xué)地自學(xué)<b class='flag-5'>單片機(jī)</b>?

    單片機(jī)如何通過代碼控制硬件:一名工程師的分享

    今天跟大家聊聊單片機(jī)是怎樣通過代碼來操控硬件的。作為一名單片機(jī)工程師,我們平時的工作就像是給單片機(jī)編寫“指令集”,讓它按照我們的意圖去驅(qū)動各種硬件
    的頭像 發(fā)表于 03-06 14:46 ?1467次閱讀
    <b class='flag-5'>單片機(jī)</b>如何通過代碼控制<b class='flag-5'>硬件</b>:一名工程師的分享

    單片機(jī)最小系統(tǒng)的作用 單片機(jī)最小系統(tǒng)包含哪幾部分

    單片機(jī)最小系統(tǒng)是指能夠獨(dú)立工作的最基本的硬件組成,也是單片機(jī)的必備基礎(chǔ)。它的作用是為單片機(jī)提供工作所需的最基本的資源和功能,使單片機(jī)能夠正常
    的頭像 發(fā)表于 01-18 13:54 ?4025次閱讀

    單片機(jī)通過USB升級固件的方法

    單片機(jī)升級固件的方法有很多中,比如:ISP(在系統(tǒng)編程)、ICP(在電路編程)、IAP(在應(yīng)用編程)等。
    的頭像 發(fā)表于 01-11 09:37 ?1949次閱讀
    <b class='flag-5'>單片機(jī)</b>通過USB升級固件的<b class='flag-5'>方法</b>

    單片機(jī)程序讀取需要什么工具

    單片機(jī)程序讀取的工具可以分為硬件工具和軟件工具兩類。下面將詳細(xì)介紹這些工具的種類、功能和使用方法。 一、硬件工具 單片機(jī)開發(fā)板:
    的頭像 發(fā)表于 01-02 18:10 ?3826次閱讀

    stc51單片機(jī)怎么燒錄

    步驟 常見問題與解決方法 STC51單片機(jī)是一種常見的8位單片機(jī),廣泛應(yīng)用于各種嵌入式系統(tǒng)。它具有高性能、低成本、易于學(xué)習(xí)和使用等優(yōu)點(diǎn)。STC51單片機(jī)使用匯編語言或C語言進(jìn)行編程,可
    的頭像 發(fā)表于 01-02 17:41 ?3384次閱讀
    主站蜘蛛池模板: 国产麻豆精品久久一二三| 521人成a天堂v| 免费看欧美一级特黄a大片| 扒开老师大腿猛进AAA片| 王雨纯羞羞| 久久re热在线视频精69| 99久久爱re热6在线播放| 色多多深夜福利免费观看| 国产真实女人一级毛片| 综合久久伊人| 三级黄网站| 九九免费的视频| WRITEAS塞红酒瓶| 丫鬟粗大狠狠贯穿h| 美国z0069| 国产精品久久精品| 中文字幕完整高清版| 日韩人妻无码专区一本二本| 花蝴蝶在线直播观看| 99免费在线观看| 性色AV乱码一区二区三区视频| 老司机试看午夜| 国产成人一区二区三中文| 在线 日韩 欧美 国产 社区| 日韩 亚洲 欧美 中文 高清| 精品在线观看一区| 被cao的奶水直喷高H| 亚洲无线码一区在线观看| 青青草原国产在线| 精品粉嫩BBWBBZBBW| 波野结衣qvod| 一本久道视频无线视频| 日本一二三区在线视频| 久草视频在线观看免费4| 成人小视频在线免费观看| 伊人久99久女女视频精品免| 日韩大胆视频| 久久热r在线视频精品| 国产精品成人无码久免费| 87.6在线收听| 亚洲国产精品一区二区久久第|