CN105159738A - 一种热补丁实现方法及系统 - Google Patents
一种热补丁实现方法及系统 Download PDFInfo
- Publication number
- CN105159738A CN105159738A CN201510514816.0A CN201510514816A CN105159738A CN 105159738 A CN105159738 A CN 105159738A CN 201510514816 A CN201510514816 A CN 201510514816A CN 105159738 A CN105159738 A CN 105159738A
- Authority
- CN
- China
- Prior art keywords
- patch
- function
- dynamic link
- link library
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明提供一种热补丁实现方法及系统。所述热补丁实现方法包括:将补丁源文件编译成动态链接库文件,所述补丁源文件包括补丁函数;将所述动态链接库文件加载到内存中;获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址,修改所述被补丁函数地址的入口指令为跳转到所述补丁函数地址。本发明的一种热补丁实现方法及系统可以基于操作系统的动态库机制来实现应用程序热补丁的大部分工作。与现有的技术相比,本发明有方案复杂度低,大大减少了开发人员的工作量,效率高且稳定性更好。
Description
技术领域
本发明涉及一种计算机技术,特别是涉及一种热补丁实现方法及系统。
背景技术
热补丁(hotfix),又称为patch,指能够修复软件漏洞的一些代码,是一种快速、低成本修复产品软件版本缺陷的方式。通过电子邮件或者其他途径来通知用户有关热补丁的消息,一般在软件供应商的网站上可以免费下载补丁程序。和升级软件版本相比,热补丁的主要优势是不会使设备当前正在运行的业务中断,即在不重启设备的情况下,可以对设备当前软件版本的缺陷进行修复。每个补丁都有自身的状态,只有在用户命令行的干预下才能发生切换。补丁状态包括IDLE、DEACTIVE、ACTIVE和RUNNING等不同状态,对补丁的操作包括加载、临时运行、确认运行、停止运行、删除、安装、卸载等,分别对应命令patchload、patchactive、patchrun、patchdeactive、patchdelete和patchinstall、undopatchinstall。热补丁的实现大部分工作在于补丁文件加载和补丁文件未定义符号的重定位处理。现有热补丁实现方法是通过开发人员编码完成这部分工作,工作量大且容易出错。
鉴于此,如何找到一种更好的实现热补丁的技术方案就成为了本领域技术人员亟待解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种热补丁实现方法及系统,用于解决现有技术中通过开发人员编码完成热补丁实现工作,工作量大且容易出错的问题。
为实现上述目的及其他相关目的,本发明提供一种热补丁实现方法,所述热补丁实现方法包括:将补丁源文件编译成动态链接库文件,所述补丁源文件包括补丁函数;将所述动态链接库文件加载到内存中;获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址,修改所述被补丁函数地址的入口指令为跳转到所述补丁函数地址。
可选地,将所述动态链接库文件加载到内存中的具体实现包括:通过dlopen函数打开所述动态链接库文件。
可选地,获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址的具体实现包括:通过dlsym函数分别获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址。
可选地,所述热补丁实现方法还包括:将所述被补丁函数的入口指令还原,关闭所述动态链接库文件。
可选地,关闭所述动态链接库文件的具体实现包括:通过dlclose函数关闭所述动态链接库文件。
本发明提供一种热补丁实现系统,所述热补丁实现系统包括:补丁文件生成模块,用于将补丁源文件编译成动态链接库文件,所述补丁源文件包括补丁函数;补丁文件加载模块,用于将所述动态链接库文件加载到内存中;补丁文件激活模块,用于获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址,修改所述被补丁函数地址的入口指令为跳转到所述补丁函数地址。
可选地,将所述动态链接库文件加载到内存中的具体实现包括:通过dlopen函数打开所述动态链接库文件。
可选地,获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址的具体实现包括:通过dlsym函数分别获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址。
可选地,所述热补丁实现系统还包括补丁文件卸载模块,用于将所述被补丁函数的入口指令还原,关闭所述动态链接库文件。
可选地,关闭所述动态链接库文件的具体实现包括:通过dlclose函数关闭所述动态链接库文件。
如上所述,本发明的一种热补丁实现方法及系统,具有以下有益效果:基于操作系统的动态库机制,包括使用操作系统提供的函数库函数来实现应用程序热补丁的大部分工作。与现有的技术相比,本发明有方案复杂度低,大大减少了开发人员的工作量,效率高且稳定性更好。
附图说明
图1显示为本发明的热补丁实现方法的一实施例的流程示意图。
图2显示为本发明的热补丁实现系统的一实施例的模块示意图。
元件标号说明
1热补丁实现系统
11补丁文件生成模块
12补丁文件加载模块
13补丁文件激活模块
S1~S3步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明提供一种热补丁实现方法。所述热补丁实现方法可以应用于采用动态链接库技术的操作系统中,例如linux操系统。在一个实施例中,如图1所示,所述热补丁实现方法包括:
步骤S1,将补丁源文件编译成动态链接库文件,所述补丁源文件包括补丁函数。在一个实施例中,生成补丁就是把补丁源文件编译、链接成linux系统的动态链接库文件。动态链接库文件,是一种不可执行的二进制程序文件,它允许程序共享执行特殊任务所必需的代码和其他资源。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。例如,补丁源文件patch.c的内容如下所示:
在patch.c(补丁源文件)实现了补丁函数patch_raw_getname。则将patch.c通过编译、链接生成二进制的动态链接库文件(patch.so)。该动态链接库文件(patch.so)也可称为补丁文件。
步骤S2,将所述动态链接库文件加载到内存中。在一个实施例中,linux应用程序在收到加载补丁的指令后,调用dlopen函数打开动态链接库文件(patch.so文件)。dlopen函数是linux系统glibc库提供的库函数,功能是将补丁文件(代码段、数据段、BSS段)加载到应用程序的进程空间,并完成补丁文件中未定义符号的重定位处理。dlopen作为一个库函数,函数现实的效率及稳定性都有保证。其相关的主要代码如下所示:
handle=dlopen(“patch.so”,RTLD_NOW);
if(!handle){
printf(“%s\n”,dlerror());
return-1;
}
步骤S3,获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址,修改所述被补丁函数地址的入口指令为跳转到所述补丁函数地址。激活补丁要完成被补丁函数到补丁函数的跳转。在补丁源文件中,补丁函数名是在被补丁函数名前加“patch_”前缀标识。如patch.c中补丁函数patch_raw_getname就是在被补丁函数raw_getname加了“patch_”前缀。使用dlsym函数分别传入补丁函数名和被补丁函数名作为参数,可以得到补丁函数和被补丁函数在应用程序进程空间的地址。有了地址便可以实现被补丁函数到补丁函数的跳转。在一个实施例中,这部分处理伪编码如下所示:
/*获取补丁函数地址*/
patch_fun=dlsym(handle,“patch_raw_getname”);
/*获取被补丁函数地址*/
patched_fun=dlsym(handle,“raw_getname”);
/*修改被补丁函数入口指令,跳转到补丁函数执行;即将被补丁函数入口处的指令修改成跳转到补丁函数入口的跳转指令机器码。下面假定跳转指令机器码为0x12345678,具体需要根据具体CPU填充*/
*patched_fun=0x12345678;
执行以上激活补丁动作后,CPU在执行到被补丁函数时,将直接执行跳转指令,跳转补丁函数执行,从而执行补丁函数的指令。
在一个实施例中,所述热补丁实现方法还包括:将所述被补丁函数的入口指令还原,关闭所述动态链接库文件。关闭所述动态链接库文件的具体实现包括:通过dlclose函数关闭所述动态链接库文件。在一个实施例中,应用程序接收到卸载补丁的指令后,将激活补丁时修改被补丁函数(raw_getname)的代码指令还原,然后通过通过dlclose函数关闭补丁文件(如patch.so)。dlclose函数会将patch.so的代码段、数据段从应用程序的进程空间中移除。
本发明提供一种热补丁实现系统。所述热补丁实现系统可以应用于采用动态链接库技术的操作系统中,例如linux操系统。在一个实施例中,如图2所示,所述热补丁实现系统1包括补丁文件生成模块11、补丁文件加载模块12以及补丁文件激活模块13。其中:
补丁文件生成模块11用于将补丁源文件编译成动态链接库文件,所述补丁源文件包括补丁函数。在一个实施例中,补丁文件生成模块11把补丁源文件编译、链接成linux系统的动态链接库文件。动态链接库文件,是一种不可执行的二进制程序文件,它允许程序共享执行特殊任务所必需的代码和其他资源。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。例如,补丁源文件patch.c的内容如下所示:
在patch.c(补丁源文件)实现了补丁函数patch_raw_getname。则将patch.c通过编译、链接生成二进制的动态链接库文件(patch.so)。该动态链接库文件(patch.so)也可称为补丁文件。
补丁文件加载模块12与补丁文件生成模块11相连,用于将所述动态链接库文件加载到内存中。具体地,补丁文件加载模块12将补丁文件生成模块11生成的所述动态链接库文件加载到内存中。在一个实施例中,linux应用程序在收到加载补丁的指令后,补丁文件加载模块12调用dlopen函数打开动态链接库文件(patch.so文件)。dlopen函数是linux系统glibc库提供的库函数,功能是将补丁文件(代码段、数据段、BSS段)加载到应用程序的进程空间,并完成补丁文件中未定义符号的重定位处理。dlopen作为一个库函数,函数现实的效率及稳定性都有保证。其相关的主要代码如下所示:
handle=dlopen(“patch.so”,RTLD_NOW);
if(!handle){
printf(“%s\n”,dlerror());
return-1;
}
补丁文件激活模块13与补丁文件加载模块12相连,用于获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址,修改所述被补丁函数地址的入口指令为跳转到所述补丁函数地址。激活补丁要完成被补丁函数到补丁函数的跳转。在补丁源文件中,补丁函数名是在被补丁函数名前加“patch_”前缀标识。如patch.c中补丁函数patch_raw_getname就是在被补丁函数raw_getname加了“patch_”前缀。补丁文件激活模块13使用dlsym函数分别传入补丁函数名和被补丁函数名作为参数,可以得到补丁函数和被补丁函数在应用程序进程空间的地址。有了地址便可以被补丁函数到补丁函数的跳转。在一个实施例中,这部分处理伪编码如下所示:
/*获取补丁函数地址*/
patch_fun=dlsym(handle,“patch_raw_getname”);
/*获取被补丁函数地址*/
patched_fun=dlsym(handle,“raw_getname”);
/*修改被补丁函数入口指令,跳转到补丁函数执行;即将被补丁函数入口处的指令修改成跳转到补丁函数入口的跳转指令机器码。下面假定跳转指令机器码为0x12345678,具体需要根据具体CPU填充*/
*patched_fun=0x12345678;
补丁文件激活模块13执行以上激活补丁动作后,应用程序在执行到被补丁函数时,将直接执行跳转指令,跳转补丁函数执行,从而执行补丁函数的指令。
在一个实施例中,所述热补丁实现系统1还包括补丁文件卸载模块,补丁文件卸载模块与所述补丁文件激活模块13相连,用于将所述被补丁函数的入口指令还原,关闭所述动态链接库文件。在一个实施例中,关闭所述动态链接库文件的具体实现包括:通过dlclose函数关闭所述动态链接库文件。在一个实施例中,应用程序接收到卸载补丁的指令后,补丁文件卸载模块将激活补丁时修改被补丁函数(raw_getname)的代码指令还原,然后通过通过dlclose函数关闭补丁文件(如patch.so)。dlclose函数会将patch.so的代码段、数据段从应用程序的进程空间中移除。
综上所述,本发明的一种热补丁实现方法及系统基于操作系统的动态库机制,包括使用linux提供的函数库函数(dlopen、dlsym、dlopen、dlclose)来实现linux应用程序热补丁的大部分工作。与现有的技术相比,本发明有方案复杂度低,大大减少了开发人员的工作量,效率高且稳定性更好。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种热补丁实现方法,其特征在于,所述热补丁实现方法包括:
将补丁源文件编译成动态链接库文件,所述补丁源文件包括补丁函数;
将所述动态链接库文件加载到内存中;
获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址,修改所述被补丁函数地址的入口指令为跳转到所述补丁函数地址。
2.根据权利要求1所述的热补丁实现方法,其特征在于:将所述动态链接库文件加载到内存中的具体实现包括:通过dlopen函数打开所述动态链接库文件。
3.根据权利要求1所述的热补丁实现方法,其特征在于:获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址的具体实现包括:通过dlsym函数分别获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址。
4.根据权利要求1所述的热补丁实现方法,其特征在于:所述热补丁实现方法还包括:将所述被补丁函数的入口指令还原,关闭所述动态链接库文件。
5.根据权利要求4所述的热补丁实现方法,其特征在于:关闭所述动态链接库文件的具体实现包括:通过dlclose函数关闭所述动态链接库文件。
6.一种热补丁实现系统,其特征在于:所述热补丁实现系统包括:
补丁文件生成模块,用于将补丁源文件编译成动态链接库文件,所述补丁源文件包括补丁函数;
补丁文件加载模块,用于将所述动态链接库文件加载到内存中;
补丁文件激活模块,用于获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址,修改所述被补丁函数地址的入口指令为跳转到所述补丁函数地址。
7.根据权利要求6所述的热补丁实现系统,其特征在于:将所述动态链接库文件加载到内存中的具体实现包括:通过dlopen函数打开所述动态链接库文件。
8.根据权利要求6所述的热补丁实现系统,其特征在于:获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址的具体实现包括:通过dlsym函数分别获取所述动态链接库文件中的补丁函数地址以及应用程序中的被补丁函数地址。
9.根据权利要求6所述的热补丁实现系统,其特征在于:所述热补丁实现系统还包括补丁文件卸载模块,用于将所述被补丁函数的入口指令还原,关闭所述动态链接库文件。
10.根据权利要求9所述的热补丁实现系统,其特征在于:关闭所述动态链接库文件的具体实现包括:通过dlclose函数关闭所述动态链接库文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510514816.0A CN105159738A (zh) | 2015-08-20 | 2015-08-20 | 一种热补丁实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510514816.0A CN105159738A (zh) | 2015-08-20 | 2015-08-20 | 一种热补丁实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105159738A true CN105159738A (zh) | 2015-12-16 |
Family
ID=54800602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510514816.0A Pending CN105159738A (zh) | 2015-08-20 | 2015-08-20 | 一种热补丁实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105159738A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775671A (zh) * | 2016-11-30 | 2017-05-31 | 武汉虹信通信技术有限责任公司 | 一种用于通信系统linux环境中的热补丁修复方法 |
CN107357622A (zh) * | 2017-07-17 | 2017-11-17 | 迈普通信技术股份有限公司 | 热补丁实现方法及通信设备 |
CN108037947A (zh) * | 2017-12-11 | 2018-05-15 | 北京奇虎科技有限公司 | 补丁包加载方法及其装置、终端 |
CN108874438A (zh) * | 2018-06-25 | 2018-11-23 | 南京中感微电子有限公司 | 补丁生成方法、装置、电子设备及计算机程序产品 |
CN109597631A (zh) * | 2017-09-28 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 一种进程的升级方法、装置及电子设备 |
CN110287051A (zh) * | 2019-06-21 | 2019-09-27 | 四川盛趣时代网络科技有限公司 | 基于windows异常处理机制的主动防护方法 |
CN110543322A (zh) * | 2019-07-19 | 2019-12-06 | 浪潮思科网络科技有限公司 | 一种针对龙芯平台的热补丁方法及装置 |
CN110928569A (zh) * | 2019-11-20 | 2020-03-27 | 杭州依赛通信有限公司 | 一种通信设备Live Update功能实现的方法 |
CN111324491A (zh) * | 2020-03-18 | 2020-06-23 | 深圳Tcl数字技术有限公司 | 程序漏洞修复方法、装置及计算机可读存储介质 |
WO2021249518A1 (zh) * | 2020-06-12 | 2021-12-16 | 中兴通讯股份有限公司 | 热补丁文件生成、一致性检测方法、装置、设备和介质 |
CN115640037A (zh) * | 2022-09-09 | 2023-01-24 | 北京畅游创想软件技术有限公司 | 程序更新方法和装置 |
CN115756563A (zh) * | 2022-11-23 | 2023-03-07 | 广州海量数据库技术有限公司 | 一种为OpenGauss数据库打热补丁的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467394A (zh) * | 2010-11-12 | 2012-05-23 | 中兴通讯股份有限公司 | 多核热补丁的实现方法及系统 |
CN102609241A (zh) * | 2012-01-19 | 2012-07-25 | 中兴通讯股份有限公司 | 热补丁方法及装置 |
CN103197942A (zh) * | 2013-03-18 | 2013-07-10 | 华为技术有限公司 | 一种补丁的生成方法、打补丁的方法及装置 |
CN103345412A (zh) * | 2013-07-10 | 2013-10-09 | 华为技术有限公司 | 打补丁的方法及装置 |
CN103942073A (zh) * | 2014-04-08 | 2014-07-23 | 北京奇虎科技有限公司 | 实现系统热补丁的方法及装置 |
-
2015
- 2015-08-20 CN CN201510514816.0A patent/CN105159738A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467394A (zh) * | 2010-11-12 | 2012-05-23 | 中兴通讯股份有限公司 | 多核热补丁的实现方法及系统 |
CN102609241A (zh) * | 2012-01-19 | 2012-07-25 | 中兴通讯股份有限公司 | 热补丁方法及装置 |
CN103197942A (zh) * | 2013-03-18 | 2013-07-10 | 华为技术有限公司 | 一种补丁的生成方法、打补丁的方法及装置 |
CN103345412A (zh) * | 2013-07-10 | 2013-10-09 | 华为技术有限公司 | 打补丁的方法及装置 |
CN103942073A (zh) * | 2014-04-08 | 2014-07-23 | 北京奇虎科技有限公司 | 实现系统热补丁的方法及装置 |
Non-Patent Citations (1)
Title |
---|
徐千洋: "《Linux C函数库参考手册》", 31 January 2002 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775671A (zh) * | 2016-11-30 | 2017-05-31 | 武汉虹信通信技术有限责任公司 | 一种用于通信系统linux环境中的热补丁修复方法 |
CN107357622A (zh) * | 2017-07-17 | 2017-11-17 | 迈普通信技术股份有限公司 | 热补丁实现方法及通信设备 |
CN109597631B (zh) * | 2017-09-28 | 2022-04-05 | 阿里巴巴集团控股有限公司 | 一种进程的升级方法、装置及电子设备 |
CN109597631A (zh) * | 2017-09-28 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 一种进程的升级方法、装置及电子设备 |
CN108037947A (zh) * | 2017-12-11 | 2018-05-15 | 北京奇虎科技有限公司 | 补丁包加载方法及其装置、终端 |
CN108037947B (zh) * | 2017-12-11 | 2021-09-07 | 北京奇虎科技有限公司 | 补丁包加载方法及其装置、终端 |
CN108874438B (zh) * | 2018-06-25 | 2021-09-21 | 南京中感微电子有限公司 | 补丁生成方法、装置、电子设备及计算机存储介质 |
CN108874438A (zh) * | 2018-06-25 | 2018-11-23 | 南京中感微电子有限公司 | 补丁生成方法、装置、电子设备及计算机程序产品 |
CN110287051A (zh) * | 2019-06-21 | 2019-09-27 | 四川盛趣时代网络科技有限公司 | 基于windows异常处理机制的主动防护方法 |
CN110543322A (zh) * | 2019-07-19 | 2019-12-06 | 浪潮思科网络科技有限公司 | 一种针对龙芯平台的热补丁方法及装置 |
CN110928569A (zh) * | 2019-11-20 | 2020-03-27 | 杭州依赛通信有限公司 | 一种通信设备Live Update功能实现的方法 |
CN111324491A (zh) * | 2020-03-18 | 2020-06-23 | 深圳Tcl数字技术有限公司 | 程序漏洞修复方法、装置及计算机可读存储介质 |
WO2021249518A1 (zh) * | 2020-06-12 | 2021-12-16 | 中兴通讯股份有限公司 | 热补丁文件生成、一致性检测方法、装置、设备和介质 |
CN115640037A (zh) * | 2022-09-09 | 2023-01-24 | 北京畅游创想软件技术有限公司 | 程序更新方法和装置 |
CN115640037B (zh) * | 2022-09-09 | 2023-08-11 | 北京畅游创想软件技术有限公司 | 程序更新方法和装置 |
CN115756563A (zh) * | 2022-11-23 | 2023-03-07 | 广州海量数据库技术有限公司 | 一种为OpenGauss数据库打热补丁的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105159738A (zh) | 一种热补丁实现方法及系统 | |
CN107092488B (zh) | 一种对应用进行无侵入化埋点的实现方法及系统 | |
CN106933609B (zh) | Android应用程序安装包的生成方法及装置 | |
CN105630557B (zh) | 热补丁方法和装置 | |
CN107168749B (zh) | 一种编译方法、装置、设备和计算机可读存储介质 | |
CN107391104B (zh) | 一种客户端与react native代码的更新依赖管理方法、装置及系统 | |
CN107451474B (zh) | 用于终端的软件漏洞修复方法和装置 | |
CN106055368B (zh) | 应用更新方法和装置 | |
CN111694564B (zh) | Flutter混合模式的编译方法、装置、设备和介质 | |
CN105446712B (zh) | 一种应用程序缺陷修补方法及装置 | |
TW201541353A (zh) | 載入驅動程式的方法及嵌入式設備 | |
CN107480476B (zh) | 一种基于ELF感染的Android本地层指令编译虚拟化加壳方法 | |
CN104461625A (zh) | 一种热补丁实现方法和系统 | |
CN104866293B (zh) | 一种对Android应用程序扩展功能的方法及装置 | |
CN105975816A (zh) | 移动终端下基于虚拟技术的代码保护方法及系统 | |
CN107038060B (zh) | 一种页面着色器代码调试方法、装置 | |
US20180203676A1 (en) | Removing library objects from a static library | |
CN106020905A (zh) | 一种微控制器固件开发与更新的方法及系统 | |
WO2015032311A1 (zh) | 一种代码生成方法、编译器、调度方法、装置及调度系统 | |
CN104615933A (zh) | 防软件反编译的方法、防反编译软件启动的方法和装置 | |
CN105260184B (zh) | 一种恢复镜像文件的调试方法及装置 | |
KR102141749B1 (ko) | App 프로그램 실행 방법 및 장치 | |
CN110018831B (zh) | 程序处理方法、装置及计算机可读存储介质 | |
CN111381816A (zh) | 应用程序的获取方法、装置、设备及存储介质 | |
CN109408073B (zh) | 一种Android非侵入式应用重打包方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151216 |