【技术实现步骤摘要】
【国外来华专利技术】用于混淆虚拟机上的应用程序的执行的方法、装置以及计算机可读介质
技术介绍
软件应用程序常常要求某些适应性以便适合于在不同平台上的执行。修改软件以在不同平台上运行的过程称为“移植”并要求每个硬件平台的理解。CPU、操作系统、图形用户界面或标准库中的差别可能要求对软件代码的显著改变,并且可能要求编译器或链接器来生成用于每个不同平台的新的可执行代码。结果,保持应用程序在许多看起来接近的平台上的可移植性可能是困难的任务。过程虚拟机(VM)使得软件开发者能够专注于单个“虚拟机”平台,从而使得开发者能够保持软件跨多个平台的可移植性,所述多个平台中的每一个可以运行虚拟机的一个版本。在图1A中图示出典型的VM开发流程。如图中所示,在生成应用程序二进制代码103的VM编译器上编译应用程序源代码101。应用程序二进制代码103可以被视为虚拟机代码,并且包含指令,所述指令然后如在104处所示被VM解释并执行。某些众所周知的虚拟机是Java虚拟机(JVM)或公共语言运行时。在图1B中示出了用于Java虚拟机的虚拟机开发流程。源代码111被JVM编译器编译而生成在JVM上可执行的一组指令,也称为Java字节码113,因为可执行代码中的每个指令的尺寸是一个字节。然后在JVM114上执行字节码,JVM114解释并执行字节码中的指令。虚拟机应用程序有效地隐藏所有平台差异,因此仅单个应用程序(虚拟机本身)需要适应于所有平台。这对其中竞争导致大范围的计算平台差异的诸如移动电话和平台计算机之类的移动设备特别有用。VM还可以与数字TV内容相组合地使用,如在美国专利申请公开US2004/0133794A ...
【技术保护点】
一种由一个或多个计算设备执行的用于混淆虚拟机(VM)上的应用程序的执行的方法,该方法包括:由所述一个或多个计算设备中的至少一个接收对应于自定义VM的自定义VM定义;由所述一个或多个计算设备中的至少一个至少部分地基于所述自定义VM定义从应用程序源代码生成自定义应用程序字节码,其中,所述自定义应用程序字节码被配置成在所述自定义VM上运行;由所述一个或多个计算设备中的至少一个至少部分地基于所述自定义VM定义而生成自定义VM源代码;由所述一个或多个计算设备中的至少一个用一个或多个目标系统编译器来编译所述自定义VM源代码以生成所述自定义VM的一个或多个实例,其中,所述自定义VM的所述一个或多个实例被配置成在一个或多个目标系统上运行;以及由所述一个或多个计算设备中的至少一个将所述自定义应用程序字节码和所述自定义VM的所述一个或多个实例打包到可安装应用程序中。
【技术特征摘要】
【国外来华专利技术】1.一种由一个或多个计算设备执行的用于混淆虚拟机(VM)上的应用程序的执行的方法,该方法包括:由所述一个或多个计算设备中的至少一个接收对应于自定义VM的自定义VM定义;由所述一个或多个计算设备中的至少一个至少部分地基于所述自定义VM定义从应用程序源代码生成自定义应用程序字节码,其中,所述自定义应用程序字节码被配置成在所述自定义VM上运行;由所述一个或多个计算设备中的至少一个至少部分地基于所述自定义VM定义而生成自定义VM源代码;由所述一个或多个计算设备中的至少一个用一个或多个目标系统编译器来编译所述自定义VM源代码以生成所述自定义VM的一个或多个实例,其中,所述自定义VM的所述一个或多个实例被配置成在一个或多个目标系统上运行;以及由所述一个或多个计算设备中的至少一个将所述自定义应用程序字节码和所述自定义VM的所述一个或多个实例打包到可安装应用程序中。2.一种用于混淆虚拟机(VM)上的应用程序的执行的装置,该装置包括:一个或多个处理器;以及一个或多个存储器,其被操作耦合到所述一个或多个处理器中的至少一个并且具有存储于其上的指令,所述指令在被所述一个或多个处理器中的至少一个执行时引起所述一个或多个处理器中的至少一个:接收对应于自定义VM的自定义VM定义;至少部分地基于所述自定义VM定义从应用程序源代码生成自定义应用程序字节码,其中,所述自定义应用程序字节码被配置成在所述自定义VM上运行;至少部分地基于所述自定义VM定义生成自定义VM源代码;用一个或多个目标系统编译器来编译所述自定义VM源代码以生成所述自定义VM的一个或多个实例,其中,所述自定义VM的所述一个或多个实例被配置成在一个或多个目标系统上运行;以及将所述自定义应用程序字节码和所述自定义VM的所述一个或多个实例打包到可安装应用程序中。3.根据权利要求2所述的装置,其中,在被所述一个或多个处理器中的至少一个执行时引起所述一个或多个处理器中的至少一个从应用程序源代码生成自定义应用程序字节码的指令还引起所述一个或多个处理器中的至少一个:将所述自定义VM定义转换成自定义VM描述;以及使用VM编译器将所述应用程序源代码编译成自定义应用程序字节码,其中,所述VM编译器至少部分地基于所述自定义VM描述生成所述自定义应用程序字节码。4.存储计算机可读指令的至少一个非暂时性计算机可读介质,所述计算机可读指令在被一个或多个计算设备执行时引起所述一个或多个计算设备中的至少一个:接收对应于自定义VM的自定义VM定义;至少部分地基于所述自定义VM定义从应用程序源代码生成自定义应用程序字节码,其中,所述自定义应用程序字节码被配置成在所述自定义VM上运行;至少部分地基于所述自定义VM定义生成自定义VM源代码;用一个或多个目标系统编译器来编译所述自定义VM源代码以生成所述自定义VM的一个或多个实例,其中,所述自定义VM的所述一个或多个实例被配置成在一个或多个目标系统上运行;以及将所述自定义应用程序字节码和所述自定义VM的所述一个或多个实例打包到可安装应用程序中。5.根据权利要求4所述的至少一个非暂时性计算机可读介质,其中,在被所述一个或多个计算设备中的至少一个执行时引起所述一个或多个计算设备中的至少一个从应用程序源代码生成自定义应用程序字节码的指令还引起所述一个或多个计算设备中的至少一个:将所述自定义VM定义转换成自定义VM描述;以及使用VM编译器将所述应用程序源代码编译成自定义应用程序字节码,其中,所述VM编译器至少部...
【专利技术属性】
技术研发人员:Y李,W契,S刘,T陈,
申请(专利权)人:耶德托公司,
类型:发明
国别省市:荷兰,NL
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。