[发明专利]一种定位特定内存被函数非法改写的方法有效
申请号: | 200810006831.4 | 申请日: | 2008-02-02 |
公开(公告)号: | CN101231599A | 公开(公告)日: | 2008-07-30 |
发明(设计)人: | 杨利君;石江涛 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 信息产业部电子专利中心 | 代理人: | 梁军 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 定位 特定 内存 函数 非法 改写 方法 | ||
1.一种定位特定内存被函数非法改写的方法,其特征在于,在嵌入式实时操作系统运行中,在不允许访问特定内存的函数体内设定函数改写特定内存时候的异常处理,并在函数内进行了改写特定内存操作时进行相应的处理及定位。
2.如权利要求1所述的定位特定内存被函数非法改写的方法,其特征在于,所述在函数体内设定函数改写特定内存时候的异常处理,为将非法操作任务挂起。
3.如权利要求2所述的定位特定内存被函数非法改写的方法,其特征在于,所述在函数内进行了改写特定内存操作时进行相应的处理及定位,包括下列步骤:
通过调用系统中的查看运行任务功能的函数,查看当前CPU上运行的所有任务,针对其中处于挂起状态的任务,通过调用系统中的查看当前任务中函数调用情况的函数,查看给定任务的当前函数调用堆栈情况,获知特定内存被哪个函数所改写。
4.如权利要求3所述的定位特定内存被函数非法改写的方法,其特征在于,进一步包括下列步骤:
步骤A:预先设置特定内存空间所在页的页属性为不可写;
步骤B:系统在运行过程中,当有函数访问或改写特定内存时,判断是否允许所述函数访问或改写,如果否,则在不允许访问特定内存的函数体内设定函数改写特定内存时候的异常处理。
5.如权利要求4所述的定位特定内存被函数非法改写的方法,其特征在于,在所述步骤A之前,进一步包括下列步骤:系统在初始化过程中,设定一内存空间为特定内存,内存空间的大小以页为单位。
6.如权利要求4所述的定位特定内存被函数非法改写的方法,其特征在于,在步骤B中,在判断结果为允许所述函数访问或改写时,包括下列步骤:
在所述函数执行体的开始部分,编写代码设置特定内存所在页属性为可写,然后所述函数执行写特定内存操作的程序指令,并在函数执行结束时设置内存属性为不可写后退出,系统正常运行。
7.如权利要求1所述的定位特定内存被函数非法改写的方法,其特征在于,所述嵌入式实时操作系统,为VxWorks系统或者Linux系统。
8.如权利要求7所述的定位特定内存被函数非法改写的方法,其特征在于,在VxWorks系统中,所述系统内相关函数,包括查看系统上运行任务的i函数、查看当前任务中函数调用情况的tt函数、以及查看当前任务状态的ti函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810006831.4/1.html,转载请声明来源钻瓜专利网。