[发明专利]应用程序的字节码文件获取方法及装置有效
申请号: | 201910854832.2 | 申请日: | 2019-09-10 |
公开(公告)号: | CN110597496B | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 郑升;黄斌;王烨坤;袁明凯;罗章龙;严明 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/41;G06F8/61;G06F9/445;G06F11/36 |
代理公司: | 深圳市隆天联鼎知识产权代理有限公司 44232 | 代理人: | 刘抗美 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 字节 文件 获取 方法 装置 | ||
本公开涉及一种应用程序的字节码文件获取方法及装置。该方法包括:基于应用程序的安装包运行所述应用程序;在确定所述应用程序的预定库文件被加载后,获取预定接口的地址;通过钩子函数获取由所述预定接口地址传输的接口参数;以及对所述接口参数进行解析以获取所述应用程序的字节码文件。本公开涉及的应用程序的字节码文件获取方法及装置,能够自动快速的获取应用程序的字节码文件,从而高效的利用字节码文件进行应用程序的开发和测试,降低开发和测试的成本。
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种应用程序的字节码文件获取方法及装置。
背景技术
Lua是一个小巧的脚本语言,其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能,特别是在游戏类的应用程序中,Lua语言的使用非常广泛。字节码(Byte-code)是一种包含执行程序、由一序列op代码/数据对组成的二进制文件。字节码是一种中间码,经常被看作是包含一个执行程序的二进制文件。字节码由于被预处理过,所以比一般的解释代码要快,经常被存储在各种应用程序的安装包中,以供应用程序在执行的时候调用。Lua字节码是lua编译后生成的字节码文件。当前大部分游戏中使用了lua代码来控制游戏的逻辑处理,因为lua来处理游戏逻辑的话,在遇到问题的时候能够快速的热更小版本来解决问题。
基于游戏的lua源代码获取lua字节码,从而利用字节码文件进行应用程序的二次开发和测试,是当前常用的技术手段,但是受限于不同的游戏应用开发的团队和开发流程,不同的游戏应用的lua字节码加密方式更不相同,现有技术中只能依靠开发人员手动破解,费时费力。
因此,需要一种新的应用程序的字节码文件获取方法及装置。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种应用程序的字节码文件获取方法及装置,能够自动快速的获取应用程序的字节码文件,从而合理快速的利用字节码文件进行应用程序的开发和测试,降低开发和测试的成本。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种应用程序的字节码文件获取方法,该方法包括:基于应用程序的安装包运行应用程序;在确定应用程序的预定库文件被加载后,获取预定接口的地址;通过钩子函数获取由预定接口地址传输的接口参数;以及对接口参数进行解析以获取应用程序的字节码文件。
根据本公开的一方面,提出一种应用程序的字节码文件获取装置,该装置包括:运行模块,用于基于应用程序的安装包运行应用程序;监听模块,用于在确定应用程序的预定库文件被加载后,获取预定接口的地址;钩子模块,用于通过钩子函数获取由预定接口地址传输的接口参数;以及解析模块,用于对接口参数进行解析以获取应用程序的字节码文件。
在一个实施例中,运行模块包括:解码单元,用于对所述安装包进行静态解码以确定所述字节码文件的加密方式;以及运行单元,用于在所述加密方式为私有加密方式时,基于应用程序的安装包运行所述应用程序。
在一个实施例中,运行模块还包括:解析单元,用于在所述加密方式为非私有加密方式时,对所述安装包中的预定文件夹中的资源数据进行解析以获取所述字节码文件。
在一个实施例中,解析单元包括:秘钥子单元,用于基于所述安装包中预定文件夹中的资源数据的头文件确定解密秘钥;以及解密子单元,用于通过所述解密秘钥对所述资源数据进行解密以获取所述应用程序的字节码。
在一个实施例中,运行模块包括:虚拟单元,用于通过所述安装包在虚拟空间中创建所述应用程序;以及通过虚拟化引擎方式运行所述应用程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910854832.2/2.html,转载请声明来源钻瓜专利网。