[发明专利]一种定位内存非法改写的方法、系统及存储介质有效
申请号: | 201910258066.3 | 申请日: | 2019-04-01 |
公开(公告)号: | CN110046097B | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 李小军;秦金昆 | 申请(专利权)人: | 深圳震有科技股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/30 |
代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 王永文;刘文求 |
地址: | 518057 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 定位 内存 非法 改写 方法 系统 存储 介质 | ||
1.一种定位内存非法改写的方法,其特征在于,所述定位内存非法改写的方法包括以下步骤:
预先设置在中央处理器中的用于监控内存的机器状态寄存器和调试控制寄存器并进行初始化,同时也初始化程序计数器;
监测内存是否被访问;
当监测到内存被访问时,触发中央处理器使能debug中断;
修改程序计数器地址,所述中央处理器自动执行debug中断程序,并通过函数调用栈定位内存被改写的位置;
所述监测内存是否被访问具体包括:
启动中央处理器监控功能,将当前运行程序的代码段的起始地址写入至所述机器状态寄存器,将当前运行程序的代码段的结束地址写入至所述调试控制寄存器;
所述中央处理器监测当前内存是否被写访问。
2.根据权利要求1所述的定位内存非法改写的方法,其特征在于,所述监测内存是否被访问之前包括:
预先编译用于触发debug中断时被调用的函数调用栈,并存储在内存中。
3.根据权利要求1所述的定位内存非法改写的方法,其特征在于,所述当监测到内存被访问时,触发中央处理器使能debug中断具体包括:
当所述中央处理器监测到内存被写访问时,则触发所述中央处理器产生中断信号,并向debug中断程序发送所述中断信号;
所述机器状态寄存器接收到所述中断信号后更改状态标志位,同时所述调试控制寄存器接收到所述中断信号后更改复用标志位。
4.根据权利要求3所述的定位内存非法改写的方法,其特征在于,所述修改程序计数器地址,所述中央处理器自动执行debug中断程序,并通过函数调用栈定位内存被改写的位置具体包括:
所述中央处理器修改所述程序计算器地址为debug中断程序地址;
所述debug中断程序响应所述中断信号,调用预设的函数调用栈定位内存被改写的位置,并输出所述内存被改写的位置。
5.根据权利要求4所述的定位内存非法改写的方法,其特征在于,所述修改程序计数器地址,所述中央处理器自动执行debug中断程序,并通过函数调用栈定位内存被改写的位置之后还包括:
通过反汇编系统当前运行的程序,利用所述函数调用栈搜索所述内存被改写的位置对应的函数,实现复位系统。
6.根据权利要求1所述的定位内存非法改写的方法,其特征在于,所述定位内存非法改写的方法应用于VxWorks操作系统或Linux操作系统。
7.一种定位内存非法改写的系统,其特征在于,所述系统包括中央处理器以及与所述中央处理器连接的存储器,所述中央处理器包括机器状态寄存器以及调试控制寄存器,所述系统执行时用于实现权利要求1-6任一项所述定位内存非法改写的方法。
8.一种存储介质,其特征在于,所述存储介质存储有定位内存非法改写程序,所述定位内存非法改写程序被中央处理器执行时用于实现权利要求1-6任一项所述定位内存非法改写的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳震有科技股份有限公司,未经深圳震有科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910258066.3/1.html,转载请声明来源钻瓜专利网。