[发明专利]基于二进制翻译自修改代码检测方法和装置有效
申请号: | 201711005571.4 | 申请日: | 2017-10-25 |
公开(公告)号: | CN109710267B | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 康烁 | 申请(专利权)人: | 康烁 |
主分类号: | G06F8/52 | 分类号: | G06F8/52;G06F12/1027 |
代理公司: | 北京卓岚智财知识产权代理事务所(特殊普通合伙) 11624 | 代理人: | 任漱晨 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 二进制 翻译 修改 代码 检测 方法 装置 | ||
1.一种基于二进制翻译自修改代码检测方法,其特征在于,包括:
在执行本地代码的过程中,检测待执行的代码所指示执行的操作是否为写操作,其中,所述本地代码包括对接收到的指令执行翻译操作得到的代码;
若所述待执行的代码所指示执行的操作为所述写操作,则查询指令页表缓存中是否存在所述写操作的虚拟地址映射,其中,所述虚拟地址映射用于记录所述接收到的指令的虚拟地址和物理地址的页号的对应关系,所述指令页表缓存中存储有在执行所述翻译操作的过程中得到的所述虚拟地址映射;
若查询到所述指令页表缓存中存在所述写操作的虚拟地址映射,则确定所述写操作为自修改代码操作,其中,确定所述写操作为自修改代码操作包括:若在指令地址变换高速缓存中有此项虚拟地址映射,则确定该操作为修改代码段的操作,通过得到客户机上物理地址的页号,进而得到客户机上的物理地址;若在指令地址变换高速缓存中没有找到此项虚拟地址映射,则确定该操作为写数据操作,通过写入内存的虚拟地址作为索引,进而在页表查询该索引对应的物理地址,并且,把虚拟地址和对应的物理地址的页号插入到数据指令地址变换高速缓存中,仿真器把数据写入到内存中存储。
2.根据权利要求1所述的基于二进制翻译自修改代码检测方法,其特征在于,在查询指令页表缓存中是否存在所述写操作的虚拟地址映射之后,所述方法还包括:
在查询到所述指令页表缓存中存在所述写操作的虚拟地址映射之后,清空所述物理地址对应的页的本地代码翻译缓存,并将所述自修改代码操作产生的自修改的指令存到内存的代码段中,其中,所述页与所述页号一一对应;
执行到被自修改的指令对应地址的本地代码时,重新翻译所述自修改的指令。
3.根据权利要求1所述的基于二进制翻译自修改代码检测方法,其特征在于,在执行本地代码之前所述方法还包括:
申请指令页表缓存和数据页表缓存;
初始化指令页表缓存和数据页表缓存。
4.一种基于二进制翻译自修改代码检测的装置,其特征在于,包括:
检测单元,用于在执行本地代码的过程中,检测待执行的代码所指示执行的操作是否为写操作,其中,所述本地代码包括对接收到的指令执行翻译操作得到的代码;
查询单元,用于若所述待执行的代码所指示执行的操作为所述写操作,则查询指令页表缓存中是否存在所述写操作的虚拟地址映射,其中,所述虚拟地址映射用于记录所述接收到的指令的虚拟地址和物理地址的页号的对应关系,所述指令页表缓存中存储有在执行所述翻译操作的过程中得到的所述虚拟地址映射;
确定单元,用于若查询到所述指令页表缓存中存在所述写操作的虚拟地址映射,则确定所述写操作为自修改代码操作,其中,确定所述写操作为自修改代码操作包括:若在指令地址变换高速缓存中有此项虚拟地址映射,则确定该操作为修改代码段的操作,通过得到客户机上物理地址的页号,进而得到客户机上的物理地址;若在指令地址变换高速缓存中没有找到此项虚拟地址映射,则确定该操作为写数据操作,通过写入内存的虚拟地址作为索引,进而在页表查询该索引对应的物理地址,并且,把虚拟地址和对应的物理地址的页号插入到数据指令地址变换高速缓存中,仿真器把数据写入到内存中存储。
5.根据权利要求4所述的自修改代码检测的装置,其特征在于,还包括:
擦除单元,用于在查询到所述指令页表缓存中存在所述写操作的虚拟地址映射之后,清空所述物理地址对应的页的本地代码翻译缓存,并将所述自修改代码操作产生的自修改的指令存到内存的代码段中,其中所述页与所述页号一一对应。
6.根据权利要求5所述的自修改代码检测的装置,其特征在于,还包括:
初始化单元,用于申请指令页表缓存和数据页表缓存和初始化指令页表缓存和数据页表缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于康烁,未经康烁许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711005571.4/1.html,转载请声明来源钻瓜专利网。