CN103309683A - 硬件设备的软件补丁嵌入方法及装置 - Google Patents
硬件设备的软件补丁嵌入方法及装置 Download PDFInfo
- Publication number
- CN103309683A CN103309683A CN2012100581941A CN201210058194A CN103309683A CN 103309683 A CN103309683 A CN 103309683A CN 2012100581941 A CN2012100581941 A CN 2012100581941A CN 201210058194 A CN201210058194 A CN 201210058194A CN 103309683 A CN103309683 A CN 103309683A
- Authority
- CN
- China
- Prior art keywords
- patch
- program
- software
- address
- function
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了硬件设备的软件补丁嵌入方法及装置。该方法包括:根据软件更新的需求建立补丁程序,为所述补丁程序配置编译信息;对所述补丁程序进行编译,获取补丁目标程序;从所述补丁目标程序中提取各个补丁函数的地址,并从原烧录程序中分解出受影响的函数调用指令;采用无条件跳转到补丁函数的指令替换所述受影响的函数调用指令,获取更新后的新应用程序;将所述新应用程序、所述补丁目标程序进行合并,获取新的烧录文件或下载文件。采用本发明,可以将补丁直接嵌入程序现有的软件环境,具有很好的兼容性,能够简单、高效地对硬件设备进行批量更新,能够广泛适用于各类型的硬件设备。
Description
技术领域
本发明涉及设备的软件系统更新技术,尤其涉及硬件设备的软件补丁嵌入方法及装置。
背景技术
直放站监控系统属于嵌入式系统的实际应用,由硬件和软件两个部分组成,实现直放站系统的控制、监视和管理。在直放站系列化产品中监控系统具有软硬件部分复用的特点,软硬件均可实现平台化管理。当出现对各直放站软件批量更新的需求时,如硬件芯片停产或供货困难,市面上只有硬件兼容但软件不兼容的芯片做替换,或某个公共的软件功能需要修改,现有的解决方案只能通过更新软件平台,对各个直放站软件逐个编译并生成烧写和下载文件,经过质量部门验证后输出到生产和工程。由于涉及直放站机型众多,现有的技术方案存在耗用人力等各项资源大、周期长、效率低下等问题。同时,由于直放站是重要的通信设备,不能因软件更新而长期处于停机状态,而现行方案对各个软件进行逐个修改和编译,时间的紧急与历史软件状态的复杂性产生了矛盾,若质量控制不到位或其它原因产生了错误则可能发生软件冲突的问题。
对于现有的嵌入补丁的技术,只能应用中高端嵌入式系统,如大型通信交换机设备等,这类高端嵌入式操作系统能支持文件系统(如嵌入式LINUX、vxworks 、windows ce操作系统等);但对于中低端的嵌入式系统,如采用MCS51单片机、ARM7、CORTEX-M3等硬件平台的嵌入式系统(内存小、处理器速度较低、功能相对单一是其显著特点),则现有打补丁技术不能适用。
发明内容
为了解决上述技术问题,本发明提供了硬件设备的软件补丁嵌入方法及装置,能够实现简单、高效地嵌入补丁,具有广泛的适用性。
本发明提供了硬件设备的软件补丁嵌入方法,包括:
根据软件更新的需求建立补丁程序,为所述补丁程序配置编译信息;
对所述补丁程序进行编译,获取补丁目标程序;
从所述补丁目标程序中提取各个补丁函数的地址,并从原烧录程序中分解出受影响的函数调用指令;
采用无条件跳转到补丁函数的指令替换所述受影响的函数调用指令,获取更新后的新应用程序;
将所述新应用程序、所述补丁目标程序进行合并,获取新的烧录文件或下载文件。
相应地,本发明还提供了硬件设备的软件补丁嵌入装置,包括:
补丁程序建立单元,用于根据软件更新的需求建立补丁程序,为所述补丁程序配置编译信息;
与所述补丁程序建立单元相连的目标程序获取单元,用于对所述补丁程序进行编译,获取补丁目标程序;
与所述目标程序获取单元、原烧录程序单元分别相连的指令提取单元,用于从所述补丁目标程序中提取各个补丁函数的地址,并从原烧录程序中分解出受影响的函数调用指令;
与所述原烧录程序单元、所述指令提取单元分别相连的应用程序获取单元,用于采用无条件跳转到补丁函数的指令替换所述受影响的函数调用指令,获取更新后的新应用程序;
与所述应用程序获取单元、所述目标程序获取单元分别相连的程序合并单元,用于将所述新应用程序、所述补丁目标程序进行合并,获取新的烧录文件或下载文件。
相应地,本发明还提供了硬件设备的软件补丁嵌入系统,包括如前项所述的硬件设备的软件补丁嵌入装置,以及与该硬件设备的软件补丁嵌入装置相连的文件烧录装置和/或软件升级装置;
所述文件烧录装置,用于应用所述烧录文件烧录新的嵌入式系统;
所述软件升级装置,用于应用所述下载文件对现有的嵌入式系统进行软件升级。
实施本发明,具有如下有益效果:
本发明将补丁直接嵌入程序,不影响现有的软件环境,具有很好的兼容性,能够简单、高效地对硬件设备进行批量更新。另外,本发明不要求嵌入式系统具备文件系统,广泛适用于各类型的硬件设备。
附图说明
图1是本发明硬件设备的软件补丁嵌入方法的流程图;
图2是本发明硬件设备的软件补丁嵌入方法的实施例流程图;
图3是本发明硬件设备的软件补丁嵌入方法的实施例示意图;
图4是本发明硬件设备的软件补丁嵌入装置的示意图;
图5是本发明硬件设备的软件补丁嵌入装置的实施例示意图;
图6是本发明硬件设备的软件补丁嵌入系统的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
图1是本发明硬件设备的软件补丁嵌入方法的流程图,包括:
S101:根据软件更新的需求建立补丁程序,为所述补丁程序配置编译信息;
S102:对所述补丁程序进行编译,获取补丁目标程序;
S103:从所述补丁目标程序中提取各个补丁函数的地址,并从原烧录程序中分解出受影响的函数调用指令;
S104:采用无条件跳转到补丁函数的指令替换所述受影响的函数调用指令,获取更新后的新应用程序;
S105:将所述新应用程序、所述补丁目标程序进行合并,获取新的烧录文件或下载文件。
本发明适用于硬件设备的公共软件部分的补丁嵌入,尤其适用于直放站设备的公共软件。首先,根据公共部分软件的更新需求建立补丁程序,为所述补丁程序配置编译信息。该编译信息的作用在于让编译器知道最终所用硬件存储空间的大小、范围和地址,也可以指定存储规则。
通过编译器将补丁程序和编译信息进行编译,获得补丁目标程序。上述补丁程序为源代码程序;补丁目标程序为编译链接后的目标程序。
从所述补丁目标程序中提取各个补丁函数的地址,并从原烧录程序中分解出受影响的函数调用指令;采用无条件跳转到补丁函数的指令替换所述受影响的函数调用指令,获取更新后的新应用程序。新应用程序也是目标程序,只不过是从旧烧录文件中分离出来并做了必要的修改。
将所述新应用程序、所述补丁目标程序进行合并,获取新的烧录文件或下载文件。采用本发明,不仅适用于高端嵌入式操作系统能支持文件系统(如嵌入式LINUX、vxworks 、windows ce操作系统等);而且对于中低端的不支持文件系统的嵌入式系统也适用,如采用MCS51单片机、ARM7、CORTEX-M3等硬件平台的嵌入式系统(内存小、处理器速度较低、功能相对单一是其显著特点)。
图2是本发明硬件设备的软件补丁嵌入方法的实施例流程图。与图1相比,图2是优选实施例的流程图。
S201:根据软件更新的需求建立补丁程序,为所述补丁程序配置编译信息。
S202:对所述补丁程序进行编译,获取补丁目标程序。
步骤S201、S202与步骤S101、S102相同,在此不在赘述。需要补充说明的是,所述补丁目标程序内的新实现函数,如图3所示的function1_new新增代码,用于替代原烧录程序的部分自身实现代码,故此,其接口定义必须与原烧录程序完全相同;同时,代码在实现上尽量减少使用全局变量或局部静态变量,地址分配时可将其分配在空闲内存的高端地址区域。这样能使新旧程序相互兼容,涉及到变量内存的地址分配也不会与旧系统有重叠。
S203:编译加载程序,获取加载目标程序;当所述补丁程序的加载地址和运行地址不一致时,所述加载程序为重构的加载程序;当所述补丁程序的加载地址和运行地址一致时,所述加载程序为所述原烧录程序的加载程序。
所述加载程序其功能是指系统启动后把程序数据拷贝到RAM中,然后初始化应用程序运行所需环境,最后转跳到应用程序在RAM中的入口地址完成加载工作。在本发明中,首先在设备上电时执行的一段程序,然后将加载地址处的程序搬运到运行地址处。如果目标程序的加载和运行时域地址不同的话,就需要重构加载程序,否则不需要。因为原来的原烧录程序,可能有加载程序,也可能没有加载程序。不管是地址一致不用修改的加载程序,还是地址不一致,修改了的重构的加载程序,这里都需要编辑,以获取加载目标程序。
S204:从所述补丁目标程序中提取各个补丁函数的地址,并从原烧录程序中分解出受影响的函数调用指令。
补丁程序可能提供了不只一个新函数,所以需将各个地址都提取出来,再从原烧录程序中分解出受影响的函数调用指令,以便将新旧程序进行合并。
S205:采用无条件跳转到补丁函数的指令替换所述受影响的函数调用指令,获取更新后的新应用程序。
根据函数调用关系,生成无条件跳转到新处理函数指令并翻译为机器码,改写旧应用程序受影响函数地址处的数据,直接替换第一条指令即可。最后,根据要求修改软件版本信息,产生新的应用程序。
S206:当所述补丁目标程序调用原烧录程序内的原函数时,从所述原烧录程序中获取所述原函数的地址。
编译器都是有一定的规则的,如ARM的ADS编译器就遵循ATPCS规则。旧程序调用旧函数前已保存好了现场,且传递的参数和返回值处理也符合标准的规则,在旧函数入口的地方,此处直接通过无条件跳转到补丁程序提供的新处理函数地址的指令,该指令替代原函数的第一条指令,写入翻译后的机器码,即实现了功能的替换,即代码执行到此处,将无条件跳转到新的处理函数中去运行,原函数内后面的功能代码实际上是不会运行的,无需做任何修改。
S207:计算调用所述原函数的新偏移地址,并修改所述补丁目标程序中的调用该原函数的指令。
新函数调用了现有的旧函数,对于调用处的地址需要提取出来,根据补丁程序调用其它函数的关系及其地址,计算出新偏移地址,合成调用指令的机器码,并对调用处的程序数据进行修改。
S208:将所述加载目标程序、所述新应用程序、所述补丁程序按照所述加载地址进行合并,获取新的烧录文件或下载文件。
应用所述烧录文件烧录新的嵌入式系统;应用所述下载文件对现有的嵌入式系统进行软件升级。
图3是本发明硬件设备的软件补丁嵌入方法的实施例示意图。下面结合图3对本发明实施例作具体说明。
现有技术中,需逐个对各直放站软件进行编译并生成烧录和下载文件。而本发明通过以下方式,实现硬件设备的公共软件部分的批量更新升级。
如图2、3所示,本直放站监控系统软件补丁的实现方法,包括如下步骤:根据公共软件部分的需求分析结果,新建补丁程序,在该程序上重新编码实现受影响需要修改的函数功能,如图3所示的function1_new和function2_new。其次,修改配置信息,为该程序单独分配加载和运行时域空间。最后,修改加载程序实现启动后的加载功能。
将加载程序、补丁程序输入计算机,通过编译器进行统一编译,输出目标加载程序和目标补丁程序。通过编译器从补丁程序中提取出各函数的地址,以及对补丁程序之外函数存在调用关系处的程序地址。再通过编译器分析旧输出的烧录文件中的原烧录程序,分解出受影响函数的地址和被补丁程序调用的函数的地址,一般旧的组合烧录文件除程序数据外还带有调试信息,可很容易分解出来。同时,通过编译器从原烧录程序中分解出旧应用程序数据。
根据函数调用关系,生成无条件跳转到新处理函数指令并翻译为机器码,改写原应用程序受影响函数地址处的数据,直接替换第一条指令即可,如图3所示,原应用程序某一部分的自身实现代码前嵌入了一条调用function_1new的指令。则程序运行到这里,可以直接跳转到补丁程序,而且不影响原有的软件环境。由于没有替换到原应用程序中的函数,所以对于补丁程序,还可以调用原应用程序中的函数。根据补丁程序调用其它函数的关系及其地址,计算出新偏移地址,合成调用指令的机器码,并对调用处的程序数据进行修改。最后,根据要求修改软件版本信息,产生新的应用程序。将加载程序、新应用程序、补丁程序按照加载地址进行合并,产生新的烧录文件和下载文件。
为了更好得实现本发明,补丁程序中替代原旧函数的新实现函数,其接口定义必须与旧函数完全相同。同时,源代码在实现上不要使用全局变量或局部静态变量。加载程序其功能是指系统启动后把程序数据拷贝到RAM中,然后初始化应用程序运行所需环境,最后转跳到应用程序在RAM中的入口地址完成加载工作。在旧程序调用旧处理函数前已保存好了现场,且传递的参数和返回值处理也符合标准的规则,在旧函数入口的地方,此处直接使用无条件跳转到补丁程序提供的新处理函数地址的指令,该指令替代原函数的第一条指令,写入翻译后的机器码,即实现了功能的替换,即代码执行到此处,将无条件跳转到新的处理函数中去运行,原函数内后面的功能代码实际上是不会运行的,无需做任何修改。
图4是本发明硬件设备的软件补丁嵌入装置的示意图,包括:
补丁程序建立单元,用于根据软件更新的需求建立补丁程序,为所述补丁程序配置编译信息;
与所述补丁程序建立单元相连的目标程序获取单元,用于对所述补丁程序进行编译,获取补丁目标程序;
与所述目标程序获取单元、原烧录程序单元分别相连的指令提取单元,用于从所述补丁目标程序中提取各个补丁函数的地址,并从原烧录程序中分解出受影响的函数调用指令;
与所述原烧录程序单元、所述指令提取单元分别相连的应用程序获取单元,用于采用无条件跳转到补丁函数的指令替换所述受影响的函数调用指令,获取更新后的新应用程序;
与所述应用程序获取单元、所述目标程序获取单元分别相连的程序合并单元,用于将所述新应用程序、所述补丁目标程序进行合并,获取新的烧录文件或下载文件。
图4与图1相对应,上述各个单元的运行方式与方法中的相同。
图5是本发明硬件设备的软件补丁嵌入装置的实施例示意图,与图4相比,图5是具体实施例的实施例示意图。
如图5所示,还包括连接在所述目标程序获取单元与所述指令提取单元之间的加载程序构建单元,所述加载程序构建单元,用于编译加载程序,获取加载目标程序。当所述补丁程序的加载地址和运行地址不一致时,所述加载程序为重构的加载程序;当所述补丁程序的加载地址和运行地址一致时,所述加载程序为所述原烧录程序的加载程序。
如图5所示,所述程序合并单元还与所述加载程序构建单元相连,用于将所述加载目标程序、所述新应用程序、所述补丁程序按照所述加载地址进行合并。
所述应用程序获取单元包括:
原函数调用单元,用于所述补丁目标程序调用原烧录程序内的原函数,从所述原烧录程序中获取所述原函数的地址;
与所述原函数调用单元相连的偏移地址获取单元,用于计算调用所述原函数的新偏移地址,并修改所述补丁目标程序中的调用该原函数的指令。
图5与图2相对应,上述各个单元的运行方式与方法中的相同。
图6是本发明硬件设备的软件补丁嵌入系统的示意图,包括如前项所述的硬件设备的软件补丁嵌入装置,以及与该硬件设备的软件补丁嵌入装置相连的文件烧录装置和/或软件升级装置;
所述文件烧录装置,用于应用所述烧录文件烧录新的嵌入式系统;
所述软件升级装置,用于应用所述下载文件对现有的嵌入式系统进行软件升级。
如图6所示,本发明不仅能应用中高端嵌入式系统(如大型通信交换机设备),也能适用于中低端嵌入式系统。对于高端嵌入式系统,此类产品所用操作系统能支持文件系统,典型的包括如LINUX、vxworks 、windows ce等操作系统,本发明能实现设备在线打补丁和离线打补丁,所述离线打补丁是通过原设备软件获取下载文件,运行一个单独的补丁任务,由该任务完成打补丁过程。对于低端嵌入式系统,此类产品所用操作系统不能支持文件系统,典型的包括如采用MCS51单片机、ARM7、CORTEX-M3等硬件平台的嵌入式系统(内存小、处理器速度较低、功能相对单一是其显著特点)。本发明能通过产品直接烧录打补丁后的新程序来实现离线打补丁。另外,还有一些嵌入式产品无操作系统,直接为前后台程序控制。而本发明作用于应用程序层面,并不涉及操作系统层面,所以,也能对此类无操作系统的产品进行软件升级。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
Claims (10)
1.一种硬件设备的软件补丁嵌入方法,其特征在于,包括:
根据软件更新的需求建立补丁程序,为所述补丁程序配置编译信息;
对所述补丁程序进行编译,获取补丁目标程序;
从所述补丁目标程序中提取各个补丁函数的地址,并从原烧录程序中分解出受影响的函数调用指令;
采用无条件跳转到补丁函数的指令替换所述受影响的函数调用指令,获取更新后的新应用程序;
将所述新应用程序、所述补丁目标程序进行合并,获取新的烧录文件或下载文件。
2.根据权利要求1所述的硬件设备的软件补丁嵌入方法,其特征在于,在获取补丁目标程序之后,从所述补丁程序中提取各个补丁函数的地址之前,还包括步骤:
编译加载程序,获取加载目标程序;当所述补丁程序的加载地址和运行地址不一致时,所述加载程序为重构的加载程序;当所述补丁程序的加载地址和运行地址一致时,所述加载程序为所述原烧录程序的加载程序。
3.根据权利要求2所述的硬件设备的软件补丁嵌入方法,其特征在于,将所述新应用程序、所述补丁目标程序进行合并的步骤,具体包括:
将所述加载目标程序、所述新应用程序、所述补丁程序按照所述加载地址进行合并。
4.根据权利要求1~3任一项所述的硬件设备的软件补丁嵌入方法,其特征在于,在获取更新后的新应用程序之后,在将所述新应用程序、所述补丁目标程序进行合并之前,还包括步骤:
当所述补丁目标程序调用原烧录程序内的原函数时,从所述原烧录程序中获取所述原函数的地址;
计算调用所述原函数的新偏移地址,并修改所述补丁目标程序中的调用该原函数的指令。
5.根据权利要求1~4任一项所述的硬件设备的软件补丁嵌入方法,其特征在于:
应用所述烧录文件烧录新的嵌入式系统;应用所述下载文件对现有的嵌入式系统进行软件升级。
6.一种硬件设备的软件补丁嵌入装置,其特征在于,包括:
补丁程序建立单元,用于根据软件更新的需求建立补丁程序,为所述补丁程序配置编译信息;
与所述补丁程序建立单元相连的目标程序获取单元,用于对所述补丁程序进行编译,获取补丁目标程序;
与所述目标程序获取单元、原烧录程序单元分别相连的指令提取单元,用于从所述补丁目标程序中提取各个补丁函数的地址,并从原烧录程序中分解出受影响的函数调用指令;
与所述原烧录程序单元、所述指令提取单元分别相连的应用程序获取单元,用于采用无条件跳转到补丁函数的指令替换所述受影响的函数调用指令,获取更新后的新应用程序;
与所述应用程序获取单元、所述目标程序获取单元分别相连的程序合并单元,用于将所述新应用程序、所述补丁目标程序进行合并,获取新的烧录文件或下载文件。
7.根据权利要求6所述的硬件设备的软件补丁嵌入装置,其特征在于,还包括:连接在所述目标程序获取单元与所述指令提取单元之间的加载程序构建单元,
所述加载程序构建单元,用于编译加载程序,获取加载目标程序。
8.根据权利要求7所述的硬件设备的软件补丁嵌入装置,其特征在于:
所述程序合并单元还与所述加载程序构建单元相连,用于将所述加载目标程序、所述新应用程序、所述补丁程序按照所述加载地址进行合并。
9.根据权利要求6~8任一项所述的硬件设备的软件补丁嵌入装置,其特征在于,所述应用程序获取单元包括:
原函数调用单元,用于所述补丁目标程序调用原烧录程序内的原函数,从所述原烧录程序中获取所述原函数的地址;
与所述原函数调用单元相连的偏移地址获取单元,用于计算调用所述原函数的新偏移地址,并修改所述补丁目标程序中的调用该原函数的指令。
10.一种硬件设备的软件补丁嵌入系统,其特征在于,包括:如权利要求6~9任一项所述的硬件设备的软件补丁嵌入装置,以及与该硬件设备的软件补丁嵌入装置相连的文件烧录装置和/或软件升级装置;
所述文件烧录装置,用于应用所述烧录文件烧录新的嵌入式系统;
所述软件升级装置,用于应用所述下载文件对现有的嵌入式系统进行软件升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210058194.1A CN103309683B (zh) | 2012-03-07 | 2012-03-07 | 硬件设备的软件补丁嵌入方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210058194.1A CN103309683B (zh) | 2012-03-07 | 2012-03-07 | 硬件设备的软件补丁嵌入方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103309683A true CN103309683A (zh) | 2013-09-18 |
CN103309683B CN103309683B (zh) | 2016-08-03 |
Family
ID=49134944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210058194.1A Expired - Fee Related CN103309683B (zh) | 2012-03-07 | 2012-03-07 | 硬件设备的软件补丁嵌入方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103309683B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239113A (zh) * | 2014-10-09 | 2014-12-24 | 浪潮通用软件有限公司 | 一种基于消息的多服务器程序补丁更新方法 |
CN104765634A (zh) * | 2015-05-06 | 2015-07-08 | 山东中孚信息产业股份有限公司 | 一种Linux系统内核新功能增加方法 |
CN105446712A (zh) * | 2014-08-08 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种应用程序缺陷修补方法及装置 |
CN105573788A (zh) * | 2015-12-15 | 2016-05-11 | 华为技术有限公司 | 补丁处理的方法和设备以及生成补丁的方法和设备 |
CN105787367A (zh) * | 2016-02-23 | 2016-07-20 | 华中科技大学 | 一种软件更新的补丁安全性检测方法及系统 |
WO2016116051A1 (en) * | 2015-01-22 | 2016-07-28 | Huawei Technologies Co., Ltd. | Systems and methods to update source code files |
CN106775893A (zh) * | 2016-12-30 | 2017-05-31 | 北京小米移动软件有限公司 | 对程序预编译的方法及装置 |
WO2017166448A1 (zh) * | 2016-03-30 | 2017-10-05 | 百度在线网络技术(北京)有限公司 | 内核漏洞修复方法和装置 |
CN107766263A (zh) * | 2017-10-12 | 2018-03-06 | 硅谷数模半导体(北京)有限公司 | 接口芯片的控制方法、装置、存储介质和处理器 |
CN108932407A (zh) * | 2018-05-22 | 2018-12-04 | 北京奇虎科技有限公司 | 一种程序安全保护方法及装置 |
CN110192178A (zh) * | 2017-09-08 | 2019-08-30 | 深圳市汇顶科技股份有限公司 | 程序打补丁的方法、装置、微控制单元和终端设备 |
CN110618824A (zh) * | 2018-06-20 | 2019-12-27 | 中移(杭州)信息技术有限公司 | 一种软件升级方法、装置、介质和设备 |
CN111552503A (zh) * | 2020-05-12 | 2020-08-18 | 重庆科技学院 | 工程文件处理方法、装置、计算机设备及存储介质 |
CN113342555A (zh) * | 2020-02-18 | 2021-09-03 | 炬芯科技股份有限公司 | 一种修复rom的方法、装置以及存储介质 |
WO2022194173A1 (zh) * | 2021-03-19 | 2022-09-22 | 华为技术有限公司 | 补丁方法及相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999063431A2 (en) * | 1998-06-01 | 1999-12-09 | Quality Consultants, Inc. | Preprocessor for encapsulating software source scripts |
US20020073398A1 (en) * | 1998-12-14 | 2002-06-13 | Jeffrey L. Tinker | Method and system for modifying executable code to add additional functionality |
CN1567232A (zh) * | 2003-07-10 | 2005-01-19 | 华为技术有限公司 | 嵌入式系统的测试装置及测试方法 |
CN101799763A (zh) * | 2009-02-10 | 2010-08-11 | 华为技术有限公司 | 内核在线补丁的方法、装置和系统 |
CN102156661A (zh) * | 2010-02-11 | 2011-08-17 | 华为技术有限公司 | 在线补丁的激活方法、装置及系统 |
-
2012
- 2012-03-07 CN CN201210058194.1A patent/CN103309683B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999063431A2 (en) * | 1998-06-01 | 1999-12-09 | Quality Consultants, Inc. | Preprocessor for encapsulating software source scripts |
US20020073398A1 (en) * | 1998-12-14 | 2002-06-13 | Jeffrey L. Tinker | Method and system for modifying executable code to add additional functionality |
CN1567232A (zh) * | 2003-07-10 | 2005-01-19 | 华为技术有限公司 | 嵌入式系统的测试装置及测试方法 |
CN101799763A (zh) * | 2009-02-10 | 2010-08-11 | 华为技术有限公司 | 内核在线补丁的方法、装置和系统 |
CN102156661A (zh) * | 2010-02-11 | 2011-08-17 | 华为技术有限公司 | 在线补丁的激活方法、装置及系统 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446712B (zh) * | 2014-08-08 | 2020-04-03 | 阿里巴巴集团控股有限公司 | 一种应用程序缺陷修补方法及装置 |
CN105446712A (zh) * | 2014-08-08 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种应用程序缺陷修补方法及装置 |
CN104239113A (zh) * | 2014-10-09 | 2014-12-24 | 浪潮通用软件有限公司 | 一种基于消息的多服务器程序补丁更新方法 |
WO2016116051A1 (en) * | 2015-01-22 | 2016-07-28 | Huawei Technologies Co., Ltd. | Systems and methods to update source code files |
US9569199B2 (en) | 2015-01-22 | 2017-02-14 | Futurewei Technologies, Inc. | Systems and methods to update source code files |
CN104765634B (zh) * | 2015-05-06 | 2017-12-08 | 中孚信息股份有限公司 | 一种Linux系统内核新功能增加方法 |
CN104765634A (zh) * | 2015-05-06 | 2015-07-08 | 山东中孚信息产业股份有限公司 | 一种Linux系统内核新功能增加方法 |
CN105573788A (zh) * | 2015-12-15 | 2016-05-11 | 华为技术有限公司 | 补丁处理的方法和设备以及生成补丁的方法和设备 |
CN105573788B (zh) * | 2015-12-15 | 2019-02-26 | 华为技术有限公司 | 补丁处理的方法和设备以及生成补丁的方法和设备 |
CN105787367A (zh) * | 2016-02-23 | 2016-07-20 | 华中科技大学 | 一种软件更新的补丁安全性检测方法及系统 |
CN105787367B (zh) * | 2016-02-23 | 2018-09-21 | 华中科技大学 | 一种软件更新的补丁安全性检测方法及系统 |
WO2017166448A1 (zh) * | 2016-03-30 | 2017-10-05 | 百度在线网络技术(北京)有限公司 | 内核漏洞修复方法和装置 |
CN106775893A (zh) * | 2016-12-30 | 2017-05-31 | 北京小米移动软件有限公司 | 对程序预编译的方法及装置 |
CN106775893B (zh) * | 2016-12-30 | 2020-03-17 | 北京小米移动软件有限公司 | 对程序预编译的方法及装置 |
CN110192178A (zh) * | 2017-09-08 | 2019-08-30 | 深圳市汇顶科技股份有限公司 | 程序打补丁的方法、装置、微控制单元和终端设备 |
CN107766263A (zh) * | 2017-10-12 | 2018-03-06 | 硅谷数模半导体(北京)有限公司 | 接口芯片的控制方法、装置、存储介质和处理器 |
CN108932407A (zh) * | 2018-05-22 | 2018-12-04 | 北京奇虎科技有限公司 | 一种程序安全保护方法及装置 |
CN110618824A (zh) * | 2018-06-20 | 2019-12-27 | 中移(杭州)信息技术有限公司 | 一种软件升级方法、装置、介质和设备 |
CN113342555A (zh) * | 2020-02-18 | 2021-09-03 | 炬芯科技股份有限公司 | 一种修复rom的方法、装置以及存储介质 |
CN113342555B (zh) * | 2020-02-18 | 2024-01-09 | 炬芯科技股份有限公司 | 一种修复rom的方法、装置以及存储介质 |
CN111552503A (zh) * | 2020-05-12 | 2020-08-18 | 重庆科技学院 | 工程文件处理方法、装置、计算机设备及存储介质 |
WO2022194173A1 (zh) * | 2021-03-19 | 2022-09-22 | 华为技术有限公司 | 补丁方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103309683B (zh) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103309683A (zh) | 硬件设备的软件补丁嵌入方法及装置 | |
CN106796522B (zh) | 用于更新源代码文件的系统和方法 | |
CN103701930A (zh) | 一种移动应用程序的实时更新方法及系统 | |
Koshy et al. | Remote incremental linking for energy-efficient reprogramming of sensor networks | |
CN111090433B (zh) | 一种数据处理的方法、装置和存储介质 | |
CN105446712B (zh) | 一种应用程序缺陷修补方法及装置 | |
CN102156643A (zh) | 软件集成方法及系统 | |
CN112558980A (zh) | 多软件包管理方法及装置 | |
CN102187313A (zh) | 高速缓存运行时生成的代码 | |
CN107291447B (zh) | 一种自动生成并发布sdk代码的方法 | |
CN102930190B (zh) | 一种在安卓系统中阻止用户获取超级用户权限的方法 | |
CN109324799A (zh) | 一种代码编译方法、计算机装置及计算机可读存储介质 | |
KR20080008969A (ko) | 무선 펌웨어 업데이트 개발 환경에서의 변경 로깅을수행하기 위한 방법 및시스템 | |
CN110673853A (zh) | 一种编译方法、装置及系统 | |
CN104866369A (zh) | 一种数据处理的方法以及装置 | |
CN111857777B (zh) | 基于双芯智能电表的系统更新方法、装置和计算机设备 | |
US20090172338A1 (en) | Feedback linker for increased delta performance | |
CN109032631A (zh) | 应用程序补丁包获取方法、装置、计算机设备及存储介质 | |
CN112148297A (zh) | 一种服务器智能加密打包方法和装置 | |
CN105260169A (zh) | 一种跨平台移植python程序的方法及装置 | |
CN111158743B (zh) | 大数据运维管理平台 | |
CN104536398A (zh) | 一种变频器监控方法和系统 | |
CN107844300A (zh) | 脚本处理方法及系统 | |
CN104881396A (zh) | 图形化程序的编译文件形成方法 | |
CN102768628A (zh) | 一种预安装第三方应用的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160803 Termination date: 20210307 |