[发明专利]防程序因指针跑飞而令程序系统崩溃的软件方法有效
申请号: | 201710799875.6 | 申请日: | 2017-09-07 |
公开(公告)号: | CN107665113B | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 柳星瑞 | 申请(专利权)人: | 广东博立科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 厦门市新华专利商标代理有限公司 35203 | 代理人: | 徐勋夫 |
地址: | 523000 广东省东莞*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种防程序因指针跑飞而令程序系统崩溃的软件方法,包括以下步骤:提供程序→程序访问→路径回查→程序执行→程序退出,其中,程序访问是通过用取每级子程序地址的逐级加地址门径的方法,逐级建立结点;路径回查是指程序直到最终执行子程序之前,就回溯历经的子程序各个地址是否正确,再决定是否运行该执行子程序代码;程序退出是指程序执行完毕后,开始逐级释放之前结点,原路返回。本发明方法可在整个嵌入式系统内对所有子程序进行类似加密的运行同时,完成了系统的数据保护,从而让每次子程序代码的执行都是系统的真实响应,而不是程序指针被干扰所到的代码所执行位置,这样实现程序稳定可靠运行,有效防止程序因指针跑飞而令程序系统崩溃。 | ||
搜索关键词: | 程序 指针 系统 崩溃 软件 方法 | ||
【主权项】:
一种防程序因指针跑飞而令程序系统崩溃的软件方法,其特征在于,包括以下步骤:(1)提供程序:程序结构包括有多层子程序;(2)程序访问:程序每进一级子程序都要记住上一级入口地址、及本子程序入口地址,也就是建立NestCallStage数据结构之数组的每个结点,随着嵌套子程序的层层递进,NestCallStage数据结构之数组的每个单元会形成每个层级子程序的前层子程序入口地址、当前层入口地址、下一层子程序入口地址;(3)路径回查和程序执行:当执行层级内子程序具体内容前,要逐级向上核查:上一层的next指针,就是下一层的last指针,一直核查到程序的复位处地址,这样都正确后,再执行子程序内的内容;若不正确,说明指针混乱,则把程序强行复位、避免错误执行;(4)程序退出:程序执行完毕后,开始逐级释放NestCallStage数据结构数据之每个结点,把之前的各层子程序结点地址逐个回检,原路返回。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东博立科技有限公司,未经广东博立科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710799875.6/,转载请声明来源钻瓜专利网。