应用程序的运行方法和装置制造方法及图纸

技术编号:19425904 阅读:34 留言:0更新日期:2018-11-14 10:43
本发明专利技术提供了一种应用程序的运行方法和装置,该方法包括:在运行应用程序的过程中,若执行到应用程序中的字节码密文,则将字节码密文载入启动的进程虚拟机,其中,进程虚拟机嵌设在应用程序中,字节码密文包括单独加密的一个或多个函数密文;控制进程虚拟机对当前待执行的目标函数的函数密文进行解密,得到当前待执行的目标函数明文;为当前待执行的目标函数明文分配内存;控制进程虚拟机运行内存中的目标函数明文;当目标函数明文运行结束时,清除内存中的目标函数明文。本发明专利技术使得在程序运行时,加大了攻击者对应用程序中涉及重要逻辑的字节码的识别难度,以及一次性完整窃取的难度。

【技术实现步骤摘要】
应用程序的运行方法和装置
本专利技术涉及计算机软件
,特别是涉及一种应用程序的运行方法和装置。
技术介绍
在相关技术中,在对进程虚拟机进行加固时,主要是通过将软件中涉及重要逻辑的字节码(例如账户登录逻辑、视频解密逻辑等等)进行一次性加密后整体存储在该软件中。那么在运行该软件的字节码之前,需要对加密后的字节码进行一次性解密,然后,将解密后的字节码在进程虚拟机中运行,以实现对软件中的加密字节码的运行。其中,进程虚拟机为单个进程的运行虚拟出的一个封闭环境。运行在虚拟机上的代码逻辑被局限在虚拟机提供的资源里,也就是说,它的权限不能超出它所处的虚拟环境。设计实现进程虚拟机的目的是封装操作系统与底层硬件的接口,给运行在其中的字节码一个独立封闭的运行环境。但是,传统技术中的进程虚拟机的加固方式存在着安全风险,如图1所示,首先,加密的字节码被加载到虚拟机中;然后,虚拟机将加密的字节码解密成明文的字节码,存储在虚拟机申请的内存中,此时攻击者可以拿到明文的字节码。(payload指明文的字节码);最后,虚拟机将明文字节码加载进内存并执行字节码的每个指令。即,在对加密的字节码进行一次性解密后的那个时本文档来自技高网...

【技术保护点】
1.一种应用程序的运行方法,其特征在于,包括:在运行所述应用程序的过程中,若执行到所述应用程序中的字节码密文,则将所述字节码密文载入启动的进程虚拟机,其中,所述进程虚拟机嵌设在所述应用程序中,所述字节码密文包括单独加密的一个或多个函数密文;控制所述进程虚拟机对当前待执行的目标函数的函数密文进行解密,得到当前待执行的目标函数明文;为所述当前待执行的目标函数明文分配内存;控制所述进程虚拟机运行所述内存中的所述目标函数明文;当所述目标函数明文运行结束时,清除所述内存中的所述目标函数明文。

【技术特征摘要】
1.一种应用程序的运行方法,其特征在于,包括:在运行所述应用程序的过程中,若执行到所述应用程序中的字节码密文,则将所述字节码密文载入启动的进程虚拟机,其中,所述进程虚拟机嵌设在所述应用程序中,所述字节码密文包括单独加密的一个或多个函数密文;控制所述进程虚拟机对当前待执行的目标函数的函数密文进行解密,得到当前待执行的目标函数明文;为所述当前待执行的目标函数明文分配内存;控制所述进程虚拟机运行所述内存中的所述目标函数明文;当所述目标函数明文运行结束时,清除所述内存中的所述目标函数明文。2.根据权利要求1所述的方法,其特征在于,所述为所述当前待执行的目标函数明文分配内存,包括:根据当前待执行的目标函数明文的函数逻辑,分配多个寄存器以运行所述目标函数明文。3.根据权利要求1所述的方法,其特征在于,当所述进程虚拟机嵌设有所述字节码密文对应的每个单独加密的函数的解密信息时,所述控制所述进程虚拟机对当前待执行的目标函数的函数密文进行解密,得到当前待执行的目标函数明文,包括:控制所述进程虚拟机根据当前待执行的目标函数的解密信息对所述目标函数的函数密文进行解密,得到当前待执行的目标函数明文。4.根据权利要求1所述的方法,其特征在于,所述运行所述应用程序之前,所述方法还包括:确定待发布的应用程序中待加密程序代码;对所述待加密程序代码中的每个函数进行单独加密,得到字节码密文,其中,所述字节码密文包括单独加密的一个或多个函数密文;获取单独加密的每个函数对应的解密信息;根据进程虚拟机、所述字节码密文、所述每个函数对应的解密信息,对所述待发布的应用程序中所述待加密程序代码进行替换处理;发布替换处理后的所述应用程序。5.根据权利要求4所述的方法,其特征在于,所述根据进程虚拟机、所述字节码密文、所述每个函数对应的解密信息,对所述待发布的应用程序中所述待加密程序代码进行替换处理,包括:将所述每个函数对应的解密信息嵌入进程虚拟机;将所述待发布的应用程序中所述待加密程序代码替换为所述字节码密文和嵌设有所述解密信息的所述进程虚拟机。6.根据权利要求4所述的方法,其特征在于,所述根据进程虚拟机、所述字节码密文、所述每个函数对应的解密信息,对所述待发布的应用程序中所述待加密程序代码进行替换处理,还包括:将所述待发布的应用程序中所述待加密程序代码替换为进程虚拟机、所述字节码密文和所述每个函数对应的解密信息。7.根据权利要求4所述的方法,其特征在于,所述确定待发布的应用程序中待加密程序代码,包括:确定待发布的应用程序中待加密代码;对所述待加密代码作词法和语法分析,得到抽象语法树;...

【专利技术属性】
技术研发人员:陈钢陈赫
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1