[發明專利]防程序因指針跑飛而令程序系統崩潰的軟件方法有效
| 申請號: | 201710799875.6 | 申請日: | 2017-09-07 |
| 公開(公告)號: | CN107665113B | 公開(公告)日: | 2020-12-04 |
| 發明(設計)人: | 柳星瑞 | 申請(專利權)人: | 廣東博立科技有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30 |
| 代理公司: | 廈門市新華專利商標代理有限公司 35203 | 代理人: | 徐勛夫 |
| 地址: | 523000 廣東省東莞*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 程序 指針 系統 崩潰 軟件 方法 | ||
本發明公開一種防程序因指針跑飛而令程序系統崩潰的軟件方法,包括以下步驟:提供程序→程序訪問→路徑回查→程序執行→程序退出,其中,程序訪問是通過用取每級子程序地址的逐級加地址門徑的方法,逐級建立結點;路徑回查是指程序直到最終執行子程序之前,就回溯歷經的子程序各個地址是否正確,再決定是否運行該執行子程序代碼;程序退出是指程序執行完畢后,開始逐級釋放之前結點,原路返回。本發明方法可在整個嵌入式系統內對所有子程序進行類似加密的運行同時,完成了系統的數據保護,從而讓每次子程序代碼的執行都是系統的真實響應,而不是程序指針被干擾所到的代碼所執行位置,這樣實現程序穩定可靠運行,有效防止程序因指針跑飛而令程序系統崩潰。
技術領域
本發明涉及嵌入式編程軟件設計領域技術,尤其是指一種防程序因指針跑飛而令程序系統崩潰的軟件方法。
背景技術
嵌入性軟件系統的數據校驗及多重數據備份時,傳統的防程序跑飛的方法是發現RAM數據亂的時候,重新從EEPROM讀取。這種方式,存在致命漏洞之一是發現RAM數據亂的時候,再次讀取的EEPROM或FLASH里面的數據時會再次被干擾時,程序會陷入反復的讀取EEPROM循環,帶來編程時的寶貴的RAM、EEPROM或FLASH的開銷加大。
目前最可靠的數據保護方案,就是加硬件的加密芯片,執行某子程序前,需要跟硬件加密芯片交互認證密鑰,程序再執行變更數據或做動作等操作。然而,嵌入式程序運行在各種電子產品上,周圍環境千變萬化、錯綜復雜,僅靠硬件防護也是無濟于事。
發明內容
有鑒于此,本發明針對現有技術存在之缺失,其主要目的是提供一種防程序因指針跑飛而令程序系統崩潰的軟件方法。
為實現上述目的,本發明采用如下之技術方案:
一種防程序因指針跑飛而令程序系統崩潰的軟件方法,包括以下步驟:
(1)提供程序:程序結構包括有多層子程序;
(2)程序訪問:程序每進一級子程序都要記住上一級入口地址、及本子程序入口地址,也就是建立NestCallStage數據結構之數組之每個結點,隨著嵌套子程序的層層遞進,NestCallStage數據結構之數組的每個單元會形成每個層級子程序的前層子程序入口地址、當前層入口地址、下一層子程序入口地址;
(3)路徑回查和程序執行:當執行層級內子程序具體內容前,要逐級向上核查:上一層的next指針,就是下一層的last指針,一直核查到程序的復位處地址,這樣都正確后,再執行子程序內的內容;若不正確,說明指針混亂,則把程序強行復位、避免錯誤執行;
(4)程序退出:程序執行完畢后,開始逐級釋放NestCallStage數據結構數據之每個結點,把之前的各層子程序結點地址逐個回檢,原路返回。
本發明與現有技術相比具有明顯的優點和有益效果,具體而言,由上述技術方案可知,程序訪問是通過用取每級子程序地址的逐級加地址門徑的方法,直到最終執行子程序之前,回溯歷經的子程序地址是否正確,再決定是否運行該子程序代碼,可在整個嵌入式系統內對所有子程序進行類似加密的運行,同時完成了系統的數據保護,讓每次子程序代碼的執行都是系統想要的。這樣,用簡潔絕對可靠的方式,最終使系統完成的每個子程序都是系統的真實響應,而不是程序指針被干擾所到的代碼所執行位置;相比傳統方法,本發明可以推廣用在全部嵌入式電子產品的程序系統內部,用簡單的方式實現程序穩定可靠運行,有效防止程序因指針跑飛而令程序系統崩潰。
為更清楚地闡述本發明的結構特征和功效,下面結合附圖與具體實施例來對本發明進行詳細說明。
附圖說明
圖1是本發明之實施例的程序訪問模擬示意圖。
圖2是本發明之實施例的程序訪問層級的數據結構。
圖3是本發明之實施例的建立結點程序。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東博立科技有限公司,未經廣東博立科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710799875.6/2.html,轉載請聲明來源鉆瓜專利網。





