[发明专利]一种保护异常机制的方法、智能终端及存储介质有效
| 申请号: | 201910934611.6 | 申请日: | 2019-09-29 |
| 公开(公告)号: | CN110673929B | 公开(公告)日: | 2022-11-22 |
| 发明(设计)人: | 方令;肖巍 | 申请(专利权)人: | 深圳爱加密科技有限公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F8/41 |
| 代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 王永文 |
| 地址: | 518000 广东省深圳市福田区梅*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 保护 异常 机制 方法 智能 终端 存储 介质 | ||
本发明所提供的一种保护异常机制的方法、智能终端及存储介质,包括:通过编译器获取到源文件中待虚拟化保护的源函数,生成第一IR指令,并将所述第一IR指令中表示异常的指令翻译成一组虚拟异常指令;所述编译器生成第二IR指令替换所述第一IR指令,形成解释器入口函数,所述解释器入口函数调用解释器对所述一组虚拟异常指令进行解释执行。本发明能够通过编译器将待虚拟化保护的源函数中的异常翻译成虚拟异常指令,之后调用解释器对所述虚拟异常指令解释执行,从而了保护了待虚拟化保护的源函数中表示异常的代码。
技术领域
本发明涉及信息安全技术领域,尤其涉及的是一种保护异常机制的方法、智能终端及存储介质。
背景技术
虚拟机保护技术是信息安全领域中一种新的软件保护技术,其保护原理是:在虚拟机中定义一套指令集,将待保护函数的源代码翻译成机器和人都无法识别的虚拟字节码,在程序运行时再利用虚拟机中的解释器对这些虚拟字节码进行解释执行。
目前的虚拟机保护技术并不能保护所有的源代码,以C++为例,在将C++源代码翻译成虚拟字节码时,避开了C++源代码中和异常相关的代码,并不能将异常相关的代码翻译成虚拟字节码,因而不能够保护C++源代码中与异常相关的代码。
因此,现有技术存在缺陷,有待改进与发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种保护异常机制的方法、智能终端及存储介质,旨在解决现有技术中利用虚拟机保护技术保护原始函数时,无法保护原始函数的代码中与异常相关的代码的问题。
本发明解决技术问题所采用的技术方案如下:
一种保护异常机制的方法,其中,包括:
通过编译器获取到源文件中待虚拟化保护的源函数,生成第一IR指令,并将所述第一IR指令中表示异常的指令翻译成一组虚拟异常指令;
所述编译器生成第二IR指令替换所述第一IR指令,形成解释器入口函数,所述解释器入口函数调用解释器对所述一组虚拟异常指令进行解释执行。
进一步地,所述通过编译器获取到源文件中待虚拟化保护的源函数,生成第一IR指令的同时,还生成了第一IR指令对应的第一IR文件,所述第一IR文件包括:待保护的函数、非保护的函数、包装函数、异常类型表和包装函数表;所述包装函数表中存储有包装函数,所述包装函数用于调用本地函数。
进一步地,所述并将所述第一IR指令中表示异常的指令翻译成一组虚拟异常指令的同时,所述第一IR文件转化成第二IR文件,所述第二IR文件包括:异常类型表、包装函数表、虚拟异常表的合并表、虚拟异常表的索引表及虚拟字节码表;所述虚拟字节码表中存储有虚拟字节码,所述虚拟字节码包括多条虚拟异常指令;所述虚拟异常表的合并表中存储有多个虚拟异常表。
进一步地,所述编译器生成第二IR指令替换所述第一IR指令,形成解释器入口函数,所述解释器入口函数调用解释器对所述一组虚拟异常指令进行解释执行具体包括:
所述编译器生成第二IR指令替换所述第一IR指令,形成解释器入口函数,所述第二IR指令调用解释器对所述一组虚拟异常指令逐条执行,所述一组虚拟异常指令包括多条虚拟异常指令,所述解释器调用所述本地函数;
当所述本地函数抛出异常时,解释器捕获所述异常,执行所述异常处理的虚拟字节码。
进一步地,所述当所述本地函数抛出异常时,解释器捕获所述异常,执行所述异常处理的虚拟字节码具体包括:
当所述本地函数抛出异常时,解释器捕获所述异常;
通过所述虚拟异常表的索引表查看所述当前被保护函数是否存在虚拟异常表,若不存在虚拟异常表,则解释器重新抛出所述异常;若存在虚拟异常表,则获取当前被保护函数的虚拟异常表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳爱加密科技有限公司,未经深圳爱加密科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910934611.6/2.html,转载请声明来源钻瓜专利网。





