[发明专利]一种编译方法、装置、设备及系统有效
申请号: | 201910437948.6 | 申请日: | 2019-05-24 |
公开(公告)号: | CN110245468B | 公开(公告)日: | 2023-06-16 |
发明(设计)人: | 张建涛 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F8/41 |
代理公司: | 北京晋德允升知识产权代理有限公司 11623 | 代理人: | 王戈 |
地址: | 开曼群岛大开曼岛乔治镇医院*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 编译 方法 装置 设备 系统 | ||
本说明书实施例公开了一种编译方法、装置、设备及系统。方案包括:获取源程序,将所述源程序进行编译,得到第一中间代码,根据预存的标识符将所述第一中间代码进行拆分,得到第一代码和第二代码,根据解码对应关系表对所述第二代码进行编译处理,得到指令字节码;根据所述解码对应关系表生成解释器,将所述第一代码、所述解释器和所述指令字节码合并,得到目标程序。
技术领域
本申请涉及计算机技术领域,尤其涉及一种编译方法、装置、设备及系统。
背景技术
随着近年来互联网的快速发展,为了满足人们日常生活的各种需求,各种类型的应用程序也越来越多。例如,导航类应用程序,视频类应用程序、购物类应用程序和游戏类应用程序。这些应用程序的使用即为人们生活提供了便利性,又丰富了人们的娱乐生活。
应用程序在运行之前,需要先在编译器中进行编译,由源程序转变成计算机可以识别的目标程序,计算机再根据转变的目标程序运行该应用程序。
目前,传统的编译器编译出的目标程序易于分析,根据编译出的目标程序可以很容易的反推出源程序,对抗逆向工程性差。
发明内容
有鉴于此,本申请实施例提供了一种编译方法、装置、设备及系统,用于提高编译器编译出的目标程序的抗逆向工程性。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种编译方法,包括:
获取源程序;
将所述源程序进行编译,得到第一中间代码;
根据预存的标识符将所述第一中间代码进行拆分,得到第一代码和第二代码;
根据解码对应关系表对所述第二代码进行编译处理,得到指令字节码;
根据所述解码对应关系表生成解释器;
将所述第一代码、所述解释器和所述指令字节码合并,得到目标程序。
本说明书实施例提供的一种运行方法,包括:
获取目标程序,所述目标程序包括目标子程序和解释器;
若所述目标子程序为指令字节码,调用所述解释器解释所述指令字节码,得到第二代码;
运行所述第二代码。
本说明书实施例提供的一种编译装置,包括:
第一获取模块,用于获取源程序;
第一编译模块,用于将所述源程序进行编译,得到第一中间代码;
拆分模块,用于根据预存的标识符将所述第一中间代码进行拆分,得到第一代码和第二代码;
第二编译模块,用于根据解码对应关系表对所述第二代码进行编译处理,得到指令字节码;
生成模块,用于根据所述解码对应关系表生成解释器;
合并模块,用于将所述第一代码、所述解释器和所述指令字节码合并,得到目标程序。
本说明书实施例提供的一种运行装置,包括:
第二获取模块,用于获取目标程序,所述目标程序包括目标子程序和解释器;
解释模块,用于若所述目标子程序为指令字节码,调用所述解释器解释所述指令字节码,得到第二代码;
运行模块,用于运行所述第二代码。
本说明书实施例提供的一种编译设备,包括:
至少一个处理器;以及,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910437948.6/2.html,转载请声明来源钻瓜专利网。