[发明专利]一种基于虚拟化技术的虚拟指令下发方法及系统有效
申请号: | 201910220540.3 | 申请日: | 2019-03-22 |
公开(公告)号: | CN109933410B | 公开(公告)日: | 2021-06-01 |
发明(设计)人: | 方令;廖兴龙;肖巍 | 申请(专利权)人: | 北京智游网安科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F21/12;G06F21/53;G06F8/41 |
代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 王永文 |
地址: | 100000 北京市海淀区东北旺西路8*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 虚拟 技术 指令 下发 方法 系统 | ||
1.一种基于虚拟化技术的虚拟指令下发方法,其特征在于,所述方法包括:
A0、通过编译器,输出包含虚拟机指令集及本地调用签名表的第二记录文件;
A、通过编译器检查编译选项,获取已修改实现的被保护函数名称,得到修改后的被保护函数列表;
B、通过所述编译器依次处理所有源文件,为所有源文件中修改后的被保护函数生成新字节码,同时生成含有新字节码的处理信息;
C01、所述编译器依次处理所有源文件,每处理一个源文件就将处理过程中生成的包含新字节码的处理信息写入第一记录文件;
C02、云端获取所述第一记录文件中的处理信息,将处理信息以函数为单位下发到终端;
C、终端获取所述处理信息,解释执行所述处理信息中含有的所述新字节码;
所述第二记录文件为当前处理的源文件中与所述修改后的被保护函数列表中的被保护函数名称相同的被保护函数生成新字节码。
2.根据权利要求1所述的基于虚拟化技术的虚拟指令下发方法,其特征在于,步骤B还包括:
B1、判断当前处理的源文件中是否含有与所述修改后的被保护函数列表中的被保护函数名称相同的被保护函数,若有,则执行步骤B2;若无,则处理下一个源文件;
B2、为当前处理的源文件中与所述修改后的被保护函数列表中的被保护函数名称相同的被保护函数生成新字节码,再处理下一个源文件。
3.根据权利要求1所述的基于虚拟化技术的虚拟指令下发方法,其特征在于,步骤B中的处理信息包括:当前源文件名,函数索引,新字节码及新字节码的长度。
4.根据权利要求1所述的基于虚拟化技术的虚拟指令下发方法,其特征在于,步骤C包括:
C1、终端将所述处理信息更新到内存池;
C2、检测到当软件运行调用被保护函数时,控制解释器查看内存池中是否有与被调用的被保护函数对应的新字节码;若是,则控制解释器解释执行与被调用的被保护函数对应的新字节码;
所述步骤C还包括:
若内存池中没有与被调用的被保护函数对应的新字节码,则控制解释器解释执行动态库中与被调用的被保护函数对应的字节码。
5.一种基于虚拟化技术的虚拟指令下发系统,其特征在于,包括:编译器和终端;所述编译器,用于检查编译选项,获取已修改实现的被保护函数,得到修改后的被保护函数列表;依次处理所有源文件,为所有源文件中修改后的被保护函数生成新字节码,同时生成含有新字节码的处理信息;所述终端,用于获取所述处理信息,解释执行所述处理信息中含有的所述新字节码;
所述系统还包括云端;
所述编译器,还用于依次处理所有源文件,每处理一个源文件就将处理过程中生成的包含新字节码的处理信息写入第一记录文件;
所述编译器,还用于输出用于编译所有源文件的虚拟机指令集及本地调用签名表的第二记录文件;所述第二记录文件为当前处理的源文件中与所述修改后的被保护函数列表中的被保护函数名称相同的被保护函数生成新字节码;
所述云端,用于获取所述第一记录文件中的处理信息,将所述处理信息下发到终端。
6.根据权利要求5所述的基于虚拟化技术的虚拟指令下发系统,其特征在于,所述终端还包括解释器;
所述解释器,用于当软件运行调用被保护函数时,查看内存池中是否有与被调用的被保护函数对应的新字节码;若是,则解释执行与被调用的被保护函数对应的新字节码;若否,则控制解释器解释执行动态库中与被调用的被保护函数对应的字节码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京智游网安科技有限公司,未经北京智游网安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910220540.3/1.html,转载请声明来源钻瓜专利网。