[發明專利]一種防止單片機程序被解密再利用的方法無效
| 申請號: | 201110083729.6 | 申請日: | 2011-04-02 |
| 公開(公告)號: | CN102163269A | 公開(公告)日: | 2011-08-24 |
| 發明(設計)人: | 劉俊 | 申請(專利權)人: | 劉俊 |
| 主分類號: | G06F21/22 | 分類號: | G06F21/22 |
| 代理公司: | 杭州新源專利事務所(普通合伙) 33234 | 代理人: | 李大剛 |
| 地址: | 310016 浙江省杭*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 防止 單片機 程序 解密 再利用 方法 | ||
技術領域
本發明涉及一種防止單片機程序被解密再利用的方法,屬于電子技術領域。
背景技術
單片機(MCU)芯片內部存放用戶程序(PROGRAM?MEMORY)和工作數據(DATA?MEMORY)。為了防止非法的未經受權訪問或者拷貝單片機的機內程序,多數單片機都帶有加密位(加密字節),用以保護片內程序。如果在編程時加密位被使能(ENABLE),就無法用編程器讀取芯片內的程序,這就是單片機(芯片)加密。單片機解密者就需要專用設備,利用單片機芯片設計上的漏洞和缺陷,通過多種技術手段,以從芯片中獲取單片機內程序這就叫單片機(芯片)解密。
單片機的程序解密是一個普遍存在的現象,目前市面出售的芯片在技術上還不能從根本上防止程序被解密,但如果加大解密后再次用編程器寫單片機(OTP一次型或者FLASH反復多次燒寫型)后的使用成本則是從另外一個方面防止程序被解密復制的手段。
一個成熟的電子產品開發,從構思到設計,最后測試功能,需要很大的成本投入。為了防止產品被抄襲,如果從硬件線路上動腦筋加各種防止仿造元件就會增加產品成本。而軟件部分在燒寫好芯片后,有加密功能,可以做到程序不會被輕易讀出來。但要做到絕對使產品的軟件不被讀出還是很難的,這樣通常是選解密難度比較大的單片機芯片去設計程序,此類芯片的價格相對高,這也就會增加企業的生產成本。另外作為芯片的生產廠家,也是希望出廠的芯片加密功能好,程序不會被解密,從芯片的設計,生產工藝上化很大精力和成本去提高防解密性能,這樣才會使芯片有更多的用戶使用。
發明內容
本發明的目的是:提供一種防止單片機程序被解密再利用的方法。它可以在單片機內的用戶程序被他人解密后,再寫入其它同型號的芯片后不能正常運行,從而達到防抄襲的作用。
本發明的目的可通過下列技術方案來實現:一種防止單片機程序被解密再利用的方法,其特征在于:通過在固定型號的每個單片機芯片上設置區別特征,使用戶程序跟區別特征相對應,從而當用戶程序被解密到另一塊單片機時,由于程序與該單片機的區別特征不對應而不能正常運行,從而使的對芯片內用戶程序的解密失去意義,最終做到防止芯片內程序被解密的目的。
前述的防止單片機程序被解密再利用的方法中,通過在出廠的每塊單片機的芯片內一處或多處設置作為區別的特征值[可以是順序數據,比如從0001H,0002H…一直到3FFFH(以48R06A為例,每個地址可以寫的最大數據是3FFFH),再從0001H…循環,也可以是隨機數],用戶在對單片機寫入用戶程序時,利用特征值進行編碼,使得在芯片內的程序被他人解密寫入其它芯片后,程序無法正常運行,從而可防止程序被解密后再利用。
前述的防止單片機程序被解密再利用的方法中,所述利用特征值進行編碼的方法為:
用戶使用編程器從地址a獲取單片機芯片內特征值,對特征值進行一個用戶自定義的算法運算后,將運算結果寫入一個用戶自定義的地址b內;并在用戶程序中也引入對地址a上的數據使用相同的算法進行運算,如果運算結果和從地址b內獲取的數據不一致,則用戶程序不能正常運行。由于對用戶程序解密后,抄襲者是不知道這個算法以及運算結果需要寫入的地址的。這樣就很可靠的保護了編程者的程序不會因被解密而再次使用了。
前述的防止單片機程序被解密再利用的方法中,所述地址a包括一個或多個地址;所述地址b包括一個或多個地址。多個地址a存儲多個特征值,運算結果存入多個地址b,并且存入多個b地址的運算方法也可以是不同的,大大增加抄襲者重新利用解密的用戶程序的難度。
前述的防止單片機程序被解密再利用的方法中,所述作為區別的特征值設在單片機芯片內不可被擦除的地址區域內。
對可電擦除的可反復多次燒寫型的芯片(FLASH),這個防止解密程序使用的數據可在程序區不被擦除的地址或者在程序區以外了,也可以同時在程序區和其它區塊(因在編程器寫入芯片程序時,會進行全部程序區的擦除操作的),比如在參數配置區(CONFIGURATION區),這個區是放一些芯片的配置參數的,象芯片是晶振還是RC振蕩,看門狗的開和關,加密位的加密功能使能(ENABLE)等等。對一次型(OTP)芯片可以把這防止解密程序使用的數據寫在程序區或者其它區塊,也可以同時在程序區和其它區塊。其中OTP即One-Time?ProgrammableMemory;FLASH指FLASH?memory?multi-programmable?Memory,即反復多次燒寫型。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于劉俊,未經劉俊許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110083729.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:列車控制方法和自動列車防護設備
- 下一篇:具有自鎖功能的框架式斷路器





