[发明专利]针对VMP指令引发目标内存变化的检测方法有效
申请号: | 202010293599.8 | 申请日: | 2020-04-14 |
公开(公告)号: | CN111522699B | 公开(公告)日: | 2023-05-23 |
发明(设计)人: | 张毅斌 | 申请(专利权)人: | 杭州斯凯数据科技集团有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 杭州融方专利代理事务所(普通合伙) 33266 | 代理人: | 沈相权 |
地址: | 310013 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 vmp 指令 引发 目标 内存 变化 检测 方法 | ||
1.针对VMP指令引发目标内存变化的检测方法,其特征在于,检测方法的实现过程如下:
步骤1,设置终点为VMP的出口点;
步骤2,断点到内存基准点,计算目标内存的md5;
步骤3,依断点次序执行完所有的历史增量子序列;
步骤4,对VMP的每条指令子序列的解析出口分别设置一个断点;
步骤5,在执行到下一个断点后,取消该断点;
步骤6,当前断点是否为终点,若当前断点是终点,则执行步骤7;若当前断点不是终点,则执行步骤11;
步骤7,目标内存md5是否改变,若目标内存md5有改变,则执行步骤8;若目标内存md5没有改变,则执行步骤10;
步骤8,增量子序列长度是否为0,若增量子序列长度为0,则执行步骤9;若增量子序列长度不为0,则执行步骤13;
步骤9,找到内存变化点,然后执行步骤16;
步骤10,错误,不应该有这种情况,然后执行步骤16;
步骤11,当前断点是否为同一个断点,若当前断点是同一个断点,则执行步骤12;若当前断点不是同一个断点,则执行步骤14;
步骤12,当前断点即为内存变化察觉点,并将该内存变化察觉点设置为下一轮逼近的终点,然后执行步骤13;
步骤13,本轮次逼近结束,把增量子序列增加到历史增量子序列中去,然后返回到步骤2;
步骤14,把当前断点加入到本轮次增量子序列中去,然后执行步骤15;
步骤15,所有断点是否执行完毕,如果所有断点没有执行完毕,则返回到步骤5;如果所有断点已执行完毕,则返回到步骤13;
步骤16,算法结束。
2.根据权利要求1所述的针对VMP指令引发目标内存变化的检测方法,其特征在于,在步骤S3中,在依断点次序执行完所有的历史增量子序列的过程中,如果前一个断点的历史增量子序列的长度大于后一个断点的历史增量子序列的长度,则后一个断点的历史增量子序列的长度需要加一个修正值a,这个修正值a等于前一个断点的历史增量子序列的长度除以后一个断点的历史增量子序列的长度。
3.根据权利要求1所述的针对VMP指令引发目标内存变化的检测方法,其特征在于,在步骤S5中,在取消该断点时,将该断点的位置信息写入到下一个断点的前端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州斯凯数据科技集团有限公司,未经杭州斯凯数据科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010293599.8/1.html,转载请声明来源钻瓜专利网。