[发明专利]一种基于VM引擎的保护方法在审
| 申请号: | 201811595948.0 | 申请日: | 2018-12-20 |
| 公开(公告)号: | CN109739620A | 公开(公告)日: | 2019-05-10 |
| 发明(设计)人: | 钱林松;崔竞松 | 申请(专利权)人: | 武汉科锐逆向科技有限公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F21/71 |
| 代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 鲁力 |
| 地址: | 430000 湖北省武汉市东湖新*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 引擎 被验证方 虚拟指令 指令流 数字版权保护 技术优势 输出消息 数据传输 验证通过 指令系统 创新性 防篡改 破解 保证 压缩 攻击 检验 应用 检查 | ||
1.一种基于VM引擎的保护方法,其特征在于,包括以下步骤:
步骤1:VM(虚拟机)被预先指定了一个正确的非压缩结果UncompressedResult和一个正确的压缩结果CompressedResult;
步骤2:被验证方输入一个虚拟指令流VIns,VM引擎会执行被验证方输入的虚拟指令流VIns,得到执行后的结果result1;
步骤3:如果步骤2中的执行结果result1正确,即result1等于步骤1中的UncompressedResult,则将步骤2中输入的指令流VIns进行压缩得到输出消息result2,否则显示输出结果不正确,判定输入方为非法用户,验证失败;
步骤4:检查步骤3中经过压缩的输出消息result2的格式与步骤1中的预先指定的正确的压缩结果CompressedResult是否相同,如果相同,判定为格式正确,则验证通过。
2.根据权利要求1所述的一种基于VM引擎的保护方法,其特征在于,步骤2的实现包括以下子步骤:
步骤1.1:VM引擎在执行虚拟指令流VIns时,执行的同时能够动态新增后续指令流、复制后续指令流、修改后续指令流和删除后续指令流,其中,
新增后续指令流是指之前没有d指令,新增一个d指令;
复制后续指令流是指指令由a形式变成aa形式;
修改后续指令流是指指令由a形式变成b形式;
删除后续指令流是指在有了其它的变换形式之后,删除某些(个)不再需要的指令。
3.根据权利要求1所述的一种基于VM引擎的保护方法,其特征在于,步骤2中所述VM引擎的保护机制是内置VM,由被验证方输入指令流VIns,执行后判断结果是否正确。
4.根据权利要求1所述的一种基于VM引擎的保护方法,其特征在于,步骤2中所述VM引擎的保护机制VM是固定的,但支持动态指令流,即:指令流在运行时,能够动态新增、复制、修改和删除后续指令流。
5.根据权利要求1所述的一种基于VM引擎的保护方法,其特征在于,步骤3的实现包括以下子步骤:
步骤3.1:根据输入的指令流和预先指定的VM运行结果,使用CRC128变形算法进行计算,得到CRC128算法的输入常量值IV,其中VM运行结果包括步骤1中的正确的非压缩结果UncompressedResult和正确的压缩结果CompressedResult;
步骤3.2:用步骤3.1计算出的IV值,作为CRC128变形算法的输入常量值,对输入的指令流再用CRC128算法进行计算;CRC128算法依据ITU-IEEE国际规范,只有指定的输入才能压缩得到正确的输出消息;对于错误的输入指令,每1bit的错误输入都将导致压缩结果大面积错乱,从而不能得到正确的输出消息。
6.根据权利要求1所述的一种基于VM引擎的保护方法,其特征在于,步骤4中CRC128变形算法为CRC128算法的变形实现,其本质遵循CRC128算法的ITU-EEE国际规范,区别在于CRC128变形算法会根据期望的CRC128算法的输出结果,计算得到CRC128算法的输入常量值IV。
7.根据权利要求1所述的一种基于VM引擎的保护方法,其特征在于,CRC128算法能将步骤4中的输入指令作为算法的输入进行计算,得到一个固定为128比特的值,得到的值的比特长度比原输入指令的长度短,因此称为压缩;其中CRC128算法依据ITU-IEEE国际规范,其中,指令长度大于128比特。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉科锐逆向科技有限公司,未经武汉科锐逆向科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811595948.0/1.html,转载请声明来源钻瓜专利网。





