[发明专利]一种在已发布程序中增加参数的方法和装置在审
申请号: | 202010428067.0 | 申请日: | 2020-05-20 |
公开(公告)号: | CN113760379A | 公开(公告)日: | 2021-12-07 |
发明(设计)人: | 周志刚 | 申请(专利权)人: | 武汉斗鱼鱼乐网络科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 梁凯 |
地址: | 430000 湖北省武汉市东湖新技术开发区软件园东路*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 发布 程序 增加 参数 方法 装置 | ||
本发明涉及计算机技术领域,具体涉及一种在已发布程序中增加参数的方法和装置,该方法包括:从关联的服务程序中获取目标参数信息;获取目标参数所属的目标函数在内存中的第一地址;根据第一地址从内存中读取待修改参数的汇编代码,并将汇编代码拷贝至代码内存空间;将待修改参数拷贝至数据内存空间,在数据内存空间内的待修改参数中增加目标参数;将内存中的汇编代码修改为跳转至代码内存空间的jump指令。通过服务程序接收服务器在任意时刻发送的数据,能够及时将目标参数信息发送给已经发布的客户端,根据目标参数信息可快速在客户端程序的特定位置增加目标参数,不需要发布客户端版本,极大节省了整个参数增加功能的发布流程。
技术领域
本发明涉及计算机技术领域,具体涉及一种在已发布程序中增加参数的方法和装置。
背景技术
目前在windows系统中开发软件程序,有时会碰到一些特别紧急的需求,需要对已经发布的程序增加一个参数,该参数可以是某个数据,或者是某个字段。例如我们直播平台,我们想对点播程序进行分类,点播程序有两种,一种是点播,另一种是新开发的新功能:发现页面的短视频功能,由于两种都属于点播程序,服务器无法进行区分。因此需要在客户端增加一个字段告知服务器是点播还是发现页面的短视频功能。
对于增加一个参数,传统方案是重新开放程序,增加参数后重新发布新的程序,并且整个程序需要进行功能开发、功能测试、集成测试、功能验收以及版本签名打包发布等等一系列的流程,服务器也需要申请大量带宽进行版本更新。因此,现有技术中存在程序在小改动时修改过程比较繁琐的技术问题。
发明内容
本发明的目的是提供一种在已发布程序中增加参数的方法和装置,以解决现有技术中程序在小改动时修改过程比较繁琐的问题。
本发明实施例提供了以下方案:
依据本发明的第一个方面,本发明实施例提供一种在已发布程序中增加参数的方法,包括:
从关联的服务程序中获取目标参数信息;
从所述目标参数信息中提取目标参数和所述目标参数的数据类型,并根据所述目标参数信息获取所述目标参数所属的目标函数在内存中的第一地址;
根据所述数据类型获得所述目标参数的数据大小,并根据所述数据大小为所述目标参数分配相应大小的数据内存空间;
分配一段与所述数据内存空间对应的代码内存空间,并将所述代码内存空间的属性设置为PAGE_EXECUTE_READWRITE;
根据所述第一地址从所述内存中读取待修改参数的汇编代码,并将所述汇编代码拷贝至所述代码内存空间;
将所述待修改参数拷贝至所述数据内存空间,在所述数据内存空间内的待修改参数中增加所述目标参数;
将所述内存中的汇编代码修改为跳转至所述代码内存空间的jump指令。
优选的,所述将所述待修改参数拷贝至所述数据内存空间,在所述数据内存空间内的待修改参数中增加所述目标参数,包括:
从所述目标参数信息中提取所述待修改参数在所述目标函数中的第二地址和所述目标参数在所述待修改参数中的第三地址;
根据所述第二地址获取待修改参数,并将所述待修改参数拷贝至所述数据内存空间;
在所述数据内存空间内的待修改参数中定位所述第三地址,并在所述第三地址处增加所述目标函数。
优选的,所述根据所述目标参数信息获取所述目标参数所属的目标函数在内存中的第一地址,包括:
从所述目标参数信息中提取目标模块的模块名称、目标函数的相对偏移地址和代码长度,所述目标模块包括所述目标函数;
根据所述模块名称获得所述目标模块在所述内存中的起始地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼鱼乐网络科技有限公司,未经武汉斗鱼鱼乐网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010428067.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种隧道巡检设备和隧道巡检方法
- 下一篇:压力平衡装置