CN112486555A - Software increment upgrading method, device, equipment and computer readable storage medium - Google Patents

Software increment upgrading method, device, equipment and computer readable storage medium Download PDF

Info

Publication number
CN112486555A
CN112486555A CN202011418155.9A CN202011418155A CN112486555A CN 112486555 A CN112486555 A CN 112486555A CN 202011418155 A CN202011418155 A CN 202011418155A CN 112486555 A CN112486555 A CN 112486555A
Authority
CN
China
Prior art keywords
signature
executable file
file
software
new
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
Application number
CN202011418155.9A
Other languages
Chinese (zh)
Inventor
高冉
蔡乐意
张煜
单立强
吴鹏
尘健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Nuonuo Network Technology Co ltd
Original Assignee
Zhejiang Nuonuo Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Nuonuo Network Technology Co ltd filed Critical Zhejiang Nuonuo Network Technology Co ltd
Priority to CN202011418155.9A priority Critical patent/CN112486555A/en
Publication of CN112486555A publication Critical patent/CN112486555A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses a software increment upgrading method, which comprises the steps of calculating a first signature corresponding to a function code of a new version executable file when the new version executable file is received, acquiring a second signature which is generated by adopting the same calculation rule with the first signature and corresponds to the function code of the current version executable file, comparing whether the first signature and the second signature are the same, refusing to adopt the new version executable file to carry out software upgrading if the first signature and the second signature are the same, and adopting the new version executable file to carry out software upgrading if the first signature and the second signature are not the same. The software increment upgrading method provided by the invention only upgrades the functional codes of the executable file by neglecting the changes of the non-functional parts such as the file version number, the signature timestamp and the like, thereby reducing unnecessary software upgrading and further improving the downloading efficiency and the upgrading success rate. The invention also discloses a software increment upgrading device, equipment and a computer readable storage medium, which have the beneficial effects.

Description

Software increment upgrading method, device, equipment and computer readable storage medium
Technical Field
The present invention relates to the field of software technologies, and in particular, to a method, an apparatus, a device, and a computer-readable storage medium for software incremental upgrade.
Background
Currently, the upgrading function of Windows software is usually to determine whether there is a change in files by the size, version number or MD5 value of the upgraded files and the existing files, and if there is a change, the upgrade is performed. However, because the degree of automation of the current compilation is higher and higher, the file version number, the certificate signature and the like are basically processed automatically in the compilation period, and the situations that the version number is increased, the timestamp of the certificate signature is changed, even the file size is changed and the like often occur. For example, different signatures of the same certificate may have different time stamps. These changes do not affect the function of file execution, but are updated as changed files, thereby increasing the amount of downloaded data, increasing the complexity of file replacement, and even the data amount is too large, possibly resulting in upgrade failure.
Disclosure of Invention
The invention aims to provide a software incremental upgrading method, a device, equipment and a computer readable storage medium, which are used for reducing unnecessary software upgrading in a software incremental upgrading scene and improving downloading efficiency and upgrading success rate.
In order to solve the above technical problem, the present invention provides a software increment upgrading method, which includes:
when a new executable file is received, calculating a first signature corresponding to a function code of the new executable file;
acquiring a second signature corresponding to the functional code of the executable file of the current version; the second signature and the first signature are generated by adopting the same calculation rule;
if the first signature is consistent with the second signature, refusing to adopt the new version executable file to carry out software upgrading;
and if the first signature is not consistent with the second signature, adopting the new version executable file to carry out software upgrading.
Optionally, the calculating a first signature corresponding to the function code of the new executable version specifically includes:
removing non-functional codes in the new executable file to obtain reconstructed content of the new executable file;
and calculating a first signature corresponding to the reconstructed content.
Optionally, the calculating a first signature corresponding to the function code of the new executable version specifically includes:
replacing non-functional codes in the new executable file with default codes to obtain reconstructed contents of the new executable file;
and calculating a first signature corresponding to the reconstructed content.
Optionally, the non-functional code specifically includes: debug directory, resource directory, and security directory.
Optionally, the calculating a first signature corresponding to the function code of the new executable version specifically includes:
modifying the timestamp in the NT file header structure of the new executable file into a first default timestamp;
traversing a substructure of a debugging node in a data directory in the NT extension optional structure of the new version executable file, and if an NB10 type file exists, modifying a globally unique identifier in the NB10 type file into a default identifier; if the RSDS type file exists, modifying a four-byte time stamp in the RSDS type file into a second default time stamp;
marking source path information of a program database file with a dynamic length in the new-version executable file and converting the source path information into an offset address, traversing a section table in a file mapping structure of the new-version executable file, if the section table contains a marked address, eliminating the marked address and recombining the section table, and modifying the data length in the file mapping structure and a pointer pointing to actual data in an associated structure of the section table according to the recombined section table;
traversing each hierarchy of the resource directory of the new-version executable file to acquire the version information of the new-version executable file, and changing the version information of the new-version executable file into default version information;
and calculating a first signature of the new version executable file after the content is reconstructed.
Optionally, the first signature and the second signature are both specifically message digest algorithm signatures.
Optionally, the method further includes:
traversing the system file;
when detecting a software upgrading file, detecting the type of the software upgrading file;
if the software upgrading file is an executable file, the step of calculating a first signature corresponding to the function code of the new version executable file is carried out;
if the software upgrading file is not the executable file, calculating a third signature of the software upgrading file;
acquiring a fourth signature of a non-executable file in the current system file;
if the third signature is consistent with the fourth signature, refusing to adopt the software upgrading file to carry out software upgrading;
and if the third signature is not consistent with the fourth signature, adopting the software upgrading file to upgrade the software.
In order to solve the above technical problem, the present invention further provides a software incremental upgrading apparatus, including:
the computing unit is used for computing a first signature corresponding to the function code of the new-version executable file when the new-version executable file is received;
the acquisition unit is used for acquiring a second signature corresponding to the functional code of the executable file of the current version; the second signature and the first signature are generated by adopting the same calculation rule;
the upgrading unit is used for refusing to adopt the new version executable file to carry out software upgrading if the first signature is consistent with the second signature; and if the first signature is not consistent with the second signature, adopting the new version executable file to carry out software upgrading.
In order to solve the above technical problem, the present invention further provides a software incremental upgrading apparatus, including:
a memory for storing instructions, said instructions comprising the steps of any of the software incremental upgrade methods described above;
a processor to execute the instructions.
To solve the above technical problem, the present invention further provides a computer-readable storage medium, on which a computer program is stored, wherein the computer program, when executed by a processor, implements the steps of the software incremental upgrading method according to any one of the above items.
According to the software increment upgrading method provided by the invention, when a new version executable file is received, a first signature corresponding to the function code of the new version executable file is calculated, a second signature which is generated by adopting the same calculation rule with the first signature and corresponds to the function code of the current version executable file is obtained, whether the first signature and the second signature are the same or not is compared, if the first signature and the second signature are the same, the new version executable file is refused to be adopted for software upgrading, and if the first signature and the second signature are not the same, the new version executable file is adopted for software upgrading. The software increment upgrading method provided by the invention only upgrades the functional codes of the executable file by neglecting the changes of the non-functional parts such as the file version number, the signature timestamp and the like, thereby reducing unnecessary software upgrading and further improving the downloading efficiency and the upgrading success rate.
The invention also provides a software increment upgrading device, equipment and a computer readable storage medium, which have the beneficial effects and are not described herein again.
Drawings
In order to more clearly illustrate the embodiments or technical solutions of the present invention, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained based on these drawings without creative efforts.
Fig. 1 is a flowchart of a software incremental upgrade method according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a software incremental upgrading apparatus according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of a software incremental upgrading device according to an embodiment of the present invention.
Detailed Description
The core of the invention is to provide a software increment upgrading method, a device, equipment and a computer readable storage medium, which are used for reducing unnecessary software upgrading in a software increment upgrading scene and improving downloading efficiency and upgrading success rate.
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Fig. 1 is a flowchart of a software incremental upgrade method according to an embodiment of the present invention.
As shown in fig. 1, a software incremental upgrading method provided in an embodiment of the present invention includes:
s101: and when the new executable file is received, calculating a first signature corresponding to the function code of the new executable file.
S102: acquiring a second signature corresponding to the functional code of the executable file of the current version; wherein the second signature and the first signature are generated by adopting the same calculation rule.
S103: judging whether the first signature and the second signature are consistent; if yes, go to step S104; if not, the process proceeds to step S105.
S104: and refusing to adopt the new executable file to upgrade the software.
S105: and upgrading the software by adopting the executable file of the new version.
Compared with the prior art that software upgrading is carried out when file size change, version number change, signature timestamp change, full-document MD5 value change and the like are detected, the software increment upgrading method provided by the embodiment of the invention does not directly carry out upgrading when the changes are detected, but calculates the first signature of the functional codes in the new-version executable file, compares the first signature with the second signature of the functional codes of the current-version executable file, refuses the upgrading if the first signature is consistent with the second signature of the functional codes of the current-version executable file, and carries out upgrading if the first signature is inconsistent with the second signature.
In a specific implementation, files in the system file are periodically traversed, and whether a new version executable file exists is checked. Executable files typically include exe files and dll files. And traversing the file regularly, and when the software upgrading file is detected, judging whether the software upgrading file is an executable file or not by extracting a DOS mark (e _ magic) in a DOS image structure in an executable file structure and an NT mark (optional header. magic) in an NT extension structure.
And when the new version executable file is detected, calculating a first signature corresponding to the function code of the new version executable file, and comparing the first signature with a second signature of the current version executable file. Wherein the first signature and the second signature may both be message digest algorithm signatures (MD 5). The second signature may be pre-computed and stored at a specified location, such as a specified location in the current executable file, or another specified location.
As opposed to functional code, non-functional code. In practical applications, the non-functional code of the executable file generally includes a debug directory (debug directory), a resource directory (resource directory), and a security directory (security directory). The compiling information, the time information and the version information of the new version executable file and the current version executable file are unified by modifying the debugging directory and the resource directory, the non-functional codes such as certificate information of the safety directory and the like are ignored, the new version executable file is reconstructed, and a unique signature is generated for the reconstructed content to solve the problem of consistency of file codes. For example, the PE signature in the NT header is cleared, thereby achieving the purpose of rejecting dynamically changing non-functional information.
In step S101, calculating a first signature corresponding to the function code of the new version executable file may specifically include:
removing non-functional codes in the executable file of the new version to obtain reconstructed content of the executable file of the new version;
and calculating a first signature corresponding to the reconstructed content.
Or, in step S101, calculating a first signature corresponding to the function code of the new version executable file specifically includes:
replacing non-functional codes in the executable file of the new version with default codes to obtain reconstructed contents of the executable file of the new version;
and calculating a first signature corresponding to the reconstructed content.
According to the software increment upgrading method provided by the embodiment of the invention, when the new version executable file is received, the first signature corresponding to the function code of the new version executable file is calculated, the second signature which is corresponding to the function code of the current version executable file and is generated by adopting the same calculation rule as the first signature is obtained, whether the first signature and the second signature are the same or not is compared, if the first signature and the second signature are the same, the new version executable file is refused to be adopted for software upgrading, and if the first signature and the second signature are not the same, the new version executable file is adopted for software upgrading. The software increment upgrading method provided by the invention only upgrades the functional codes of the executable file by neglecting the changes of the non-functional parts such as the file version number, the signature timestamp and the like, thereby reducing unnecessary software upgrading and further improving the downloading efficiency and the upgrading success rate.
On the basis of the foregoing embodiment, a specific implementation of calculating a first signature corresponding to a function code of a new version executable file in step S101 in fig. 1 according to an embodiment of the present invention specifically includes:
modifying a timestamp (NTHeader FileHeader TimeDataStamp) in an NT file header structure of the new version executable file into a first default timestamp;
traversing a substructure of a debugging node in a data Directory in an NT extension optional structure of a new version executable file (Option header. data Directory [ IMAGE _ direct _ ENTRY _ DEBUG ]), and if an NB10 (program database file format) type file exists, modifying a global unique identifier in the NB10 type file into a default identifier; if the RSDS (program database file format) type file exists, modifying a four-byte time stamp in the RSDS type file into a second default time stamp;
marking source path information Of a program database file (PDB) with a dynamic length in the new executable file and converting the source path information into an offset address, traversing a SECTION table (SECTION _ HEADER) in a file mapping structure Of the new executable file, if the SECTION table contains the marked address, eliminating the marked address and recombining the SECTION table (for example, after eliminating a marked memory 'B' block in a SECTION Of continuous memory 'A + B + C', rearranging the residual content, and shifting a 'C' block forward by the length Of the 'B' block), and modifying the Data length (Size Of Raw Data, for example, modifying the length Of the 'A + B + C' into the length Of the 'A + C') in the file mapping structure and a pointer pointing to actual Data in an association structure Of the SECTION table according to the recombined SECTION table;
traversing each hierarchy of a RESOURCE DIRECTORY (IMAGE _ RESOURCE _ direct) of the new version executable file to acquire version information of the new version executable file (the version information of a content mark of 0x0e can be searched), and changing the version information of the new version executable file into default version information;
a first signature of a new version of the executable file (including the content of all SECTIONs (sessions), reduced and modified SECTIONs) after the above content reconstruction is computed.
On the basis of the foregoing embodiment, the software incremental upgrading method provided in the embodiment of the present invention may further include:
traversing the system file;
when detecting the software upgrading file, detecting the type of the software upgrading file;
if the software upgrading file is an executable file, entering a step of calculating a first signature corresponding to the function code of the new-version executable file;
if the software upgrading file is not an executable file, calculating a third signature of the software upgrading file;
acquiring a fourth signature of a non-executable file in the current system file;
if the third signature is consistent with the fourth signature, refusing to adopt the software upgrading file to carry out software upgrading;
and if the third signature is not consistent with the fourth signature, software upgrading is carried out by adopting the software upgrading file.
In system files, non-executable files typically include data stores, such as pictures, videos, documents, and the like, in addition to executable files. For such non-executable files, a full-scale comparison mode is usually adopted, that is, the third signature of the software upgrading file is calculated and compared with the fourth signature of the non-executable file in the current system file, and if the third signature and the fourth signature are not consistent, the software upgrading is carried out.
Wherein, the third signature and the fourth signature can also be signed by using message digest algorithm (MD 5).
On the basis of the above detailed description of the embodiments corresponding to the software increment upgrading method, the invention also discloses a software increment upgrading device, equipment and a computer readable storage medium corresponding to the method.
Fig. 2 is a schematic structural diagram of a software incremental upgrading apparatus according to an embodiment of the present invention.
As shown in fig. 2, the software incremental upgrading apparatus provided in the embodiment of the present invention includes:
the computing unit 201 is configured to compute a first signature corresponding to a function code of the new version executable file when the new version executable file is received;
an obtaining unit 202, configured to obtain a second signature corresponding to a function code of the current version executable file; the second signature and the first signature are generated by adopting the same calculation rule;
the upgrading unit 203 is used for refusing to adopt the new version executable file to carry out software upgrading if the first signature is consistent with the second signature; and if the first signature is inconsistent with the second signature, adopting the new version executable file to update the software.
Further, the software incremental upgrading apparatus provided in the embodiment of the present invention may further include:
the traversing unit is used for traversing the system file;
the detection unit is used for detecting the type of the software upgrading file when the software upgrading file is detected;
the judging unit is used for entering the upgrading unit 103 to calculate a first signature corresponding to the function code of the executable file of the new version if the software upgrading file is an executable file; if the software upgrading file is not an executable file, calculating a third signature of the software upgrading file; acquiring a fourth signature of a non-executable file in the current system file; if the third signature is consistent with the fourth signature, refusing to adopt the software upgrading file to carry out software upgrading; and if the third signature is not consistent with the fourth signature, software upgrading is carried out by adopting the software upgrading file.
Since the embodiments of the apparatus portion and the method portion correspond to each other, please refer to the description of the embodiments of the method portion for the embodiments of the apparatus portion, which is not repeated here.
Fig. 3 is a schematic structural diagram of a software incremental upgrading device according to an embodiment of the present invention.
As shown in fig. 3, the software incremental upgrading apparatus provided in the embodiment of the present invention includes:
a memory 310 for storing instructions, the instructions including the steps of the software incremental upgrade method according to any one of the above embodiments;
a processor 320 for executing the instructions.
Processor 320 may include one or more processing cores, such as a 3-core processor, an 8-core processor, and so forth. The processor 320 may be implemented in at least one hardware form of a digital Signal processing (dsp), a Field-Programmable Gate Array (FPGA), a Programmable Logic Array (pla), or a digital Signal processing (dsp). The processor 320 may also include a main processor and a coprocessor, where the main processor is a processor for Processing data in an awake state, and is also called a central Processing unit (cpu); a coprocessor is a low power processor for processing data in a standby state. In some embodiments, the processor 320 may be integrated with an image processor GPU (graphics Processing unit), which is responsible for rendering and drawing the content that the display screen needs to display. In some embodiments, processor 320 may also include an Artificial Intelligence (AI) (artificial intelligence) processor for processing computational operations related to machine learning.
Memory 310 may include one or more computer-readable storage media, which may be non-transitory. Memory 310 may also include high speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In this embodiment, the memory 310 is at least used for storing a computer program 311, wherein after the computer program 311 is loaded and executed by the processor 320, the relevant steps in the software incremental upgrade method disclosed in any of the foregoing embodiments can be implemented. In addition, the resources stored by the memory 310 may also include an operating system 312, data 313, and the like, and the storage may be transient storage or persistent storage. The operating system 312 may be Windows, among others. Data 313 may include, but is not limited to, data involved in the above-described methods.
In some embodiments, the software incremental upgrade device may further include a display 330, a power supply 340, a communication interface 350, an input output interface 360, sensors 370, and a communication bus 380.
Those skilled in the art will appreciate that the configuration shown in FIG. 3 does not constitute a limitation of the software incremental upgrade apparatus and may include more or fewer components than those shown.
The software increment upgrading device provided by the embodiment of the application comprises the memory and the processor, and the processor can realize the software increment upgrading method when executing the program stored in the memory, and the effect is the same as that of the software increment upgrading method.
It should be noted that the above-described embodiments of the apparatus and device are merely illustrative, for example, the division of modules is only one division of logical functions, and there may be other divisions when actually implementing, for example, a plurality of modules or components may be combined or integrated into another system, or some features may be omitted or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or modules, and may be in an electrical, mechanical or other form. Modules described as separate parts may or may not be physically separate, and parts displayed as modules may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment.
In addition, functional modules in the embodiments of the present application may be integrated into one processing module, or each of the modules may exist alone physically, or two or more modules are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode.
The integrated module, if implemented in the form of a software functional module and sold or used as a separate product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and performs all or part of the steps of the methods according to the embodiments of the present invention, or all or part of the technical solution.
To this end, an embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the computer program implements the steps of the software incremental upgrading method.
The computer-readable storage medium may include: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory ROM (Read-Only Memory), a random Access Memory ram (random Access Memory), a magnetic disk, or an optical disk.
The computer program contained in the computer-readable storage medium provided in this embodiment can implement the steps of the software incremental upgrade method described above when being executed by the processor, and the effect is the same as that described above.
The method, the device, the equipment and the computer readable storage medium for software incremental upgrade provided by the invention are described in detail above. The embodiments are described in a progressive manner in the specification, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other. The device, the apparatus and the computer-readable storage medium disclosed in the embodiments correspond to the method disclosed in the embodiments, so that the description is simple, and the relevant points can be referred to the description of the method. It should be noted that, for those skilled in the art, it is possible to make various improvements and modifications to the present invention without departing from the principle of the present invention, and those improvements and modifications also fall within the scope of the claims of the present invention.
It is further noted that, in the present specification, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.

Claims (10)

1. A method for upgrading software increments, comprising:
when a new executable file is received, calculating a first signature corresponding to a function code of the new executable file;
acquiring a second signature corresponding to the functional code of the executable file of the current version; the second signature and the first signature are generated by adopting the same calculation rule;
if the first signature is consistent with the second signature, refusing to adopt the new version executable file to carry out software upgrading;
and if the first signature is not consistent with the second signature, adopting the new version executable file to carry out software upgrading.
2. The software incremental upgrade method according to claim 1, wherein the calculating a first signature corresponding to the function code of the new version executable file specifically includes:
removing non-functional codes in the new executable file to obtain reconstructed content of the new executable file;
and calculating a first signature corresponding to the reconstructed content.
3. The software incremental upgrade method according to claim 1, wherein the calculating a first signature corresponding to the function code of the new version executable file specifically includes:
replacing non-functional codes in the new executable file with default codes to obtain reconstructed contents of the new executable file;
and calculating a first signature corresponding to the reconstructed content.
4. The software incremental upgrade method according to claim 2 or 3, wherein the non-functional code specifically includes: debug directory, resource directory, and security directory.
5. The software incremental upgrade method according to claim 1, wherein the calculating a first signature corresponding to the function code of the new version executable file specifically includes:
modifying the timestamp in the NT file header structure of the new executable file into a first default timestamp;
traversing a substructure of a debugging node in a data directory in the NT extension optional structure of the new version executable file, and if an NB10 type file exists, modifying a globally unique identifier in the NB10 type file into a default identifier; if the RSDS type file exists, modifying a four-byte time stamp in the RSDS type file into a second default time stamp;
marking source path information of a program database file with a dynamic length in the new-version executable file and converting the source path information into an offset address, traversing a section table in a file mapping structure of the new-version executable file, if the section table contains a marked address, eliminating the marked address and recombining the section table, and modifying the data length in the file mapping structure and a pointer pointing to actual data in an associated structure of the section table according to the recombined section table;
traversing each hierarchy of the resource directory of the new-version executable file to acquire the version information of the new-version executable file, and changing the version information of the new-version executable file into default version information;
and calculating a first signature of the new version executable file after the content is reconstructed.
6. The incremental upgrade method according to claim 1, wherein the first signature and the second signature are each a message digest algorithm signature.
7. The incremental software upgrade method according to claim 1, further comprising:
traversing the system file;
when detecting a software upgrading file, detecting the type of the software upgrading file;
if the software upgrading file is an executable file, the step of calculating a first signature corresponding to the function code of the new version executable file is carried out;
if the software upgrading file is not the executable file, calculating a third signature of the software upgrading file;
acquiring a fourth signature of a non-executable file in the current system file;
if the third signature is consistent with the fourth signature, refusing to adopt the software upgrading file to carry out software upgrading;
and if the third signature is not consistent with the fourth signature, adopting the software upgrading file to upgrade the software.
8. An apparatus for incremental upgrading of software, comprising:
the computing unit is used for computing a first signature corresponding to the function code of the new-version executable file when the new-version executable file is received;
the acquisition unit is used for acquiring a second signature corresponding to the functional code of the executable file of the current version; the second signature and the first signature are generated by adopting the same calculation rule;
the upgrading unit is used for refusing to adopt the new version executable file to carry out software upgrading if the first signature is consistent with the second signature; and if the first signature is not consistent with the second signature, adopting the new version executable file to carry out software upgrading.
9. A software incremental upgrade device, comprising:
a memory for storing instructions, said instructions comprising the steps of the software incremental upgrade method of any one of claims 1 to 7;
a processor to execute the instructions.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the software incremental upgrade method according to any one of claims 1 to 7.
CN202011418155.9A 2020-12-07 2020-12-07 Software increment upgrading method, device, equipment and computer readable storage medium Pending CN112486555A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011418155.9A CN112486555A (en) 2020-12-07 2020-12-07 Software increment upgrading method, device, equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011418155.9A CN112486555A (en) 2020-12-07 2020-12-07 Software increment upgrading method, device, equipment and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN112486555A true CN112486555A (en) 2021-03-12

Family

ID=74940282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011418155.9A Pending CN112486555A (en) 2020-12-07 2020-12-07 Software increment upgrading method, device, equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN112486555A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117055936A (en) * 2023-02-27 2023-11-14 武汉路特斯科技有限公司 Incremental upgrade method, system, computer device and readable storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053853A (en) * 2010-12-30 2011-05-11 北京像素软件科技股份有限公司 Version updating method of online game
CN104636172A (en) * 2015-03-09 2015-05-20 联想(北京)有限公司 Application upgrading method and device
CN105488405A (en) * 2014-12-25 2016-04-13 哈尔滨安天科技股份有限公司 PDB debug information based malicious code analysis method and system
CN106547572A (en) * 2016-12-06 2017-03-29 恒生电子股份有限公司 A kind of program file control methods and device
CN107506221A (en) * 2017-09-28 2017-12-22 阿里巴巴集团控股有限公司 Application program updating method, apparatus and equipment
CN108052344A (en) * 2017-12-11 2018-05-18 北京奇虎科技有限公司 A kind of kernel difference detecting method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053853A (en) * 2010-12-30 2011-05-11 北京像素软件科技股份有限公司 Version updating method of online game
CN105488405A (en) * 2014-12-25 2016-04-13 哈尔滨安天科技股份有限公司 PDB debug information based malicious code analysis method and system
CN104636172A (en) * 2015-03-09 2015-05-20 联想(北京)有限公司 Application upgrading method and device
CN106547572A (en) * 2016-12-06 2017-03-29 恒生电子股份有限公司 A kind of program file control methods and device
CN107506221A (en) * 2017-09-28 2017-12-22 阿里巴巴集团控股有限公司 Application program updating method, apparatus and equipment
CN108052344A (en) * 2017-12-11 2018-05-18 北京奇虎科技有限公司 A kind of kernel difference detecting method and device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117055936A (en) * 2023-02-27 2023-11-14 武汉路特斯科技有限公司 Incremental upgrade method, system, computer device and readable storage medium

Similar Documents

Publication Publication Date Title
CN109918055B (en) Application program generation method and device
CN109542461A (en) Dissemination method, terminal device and the medium of application installation package
EP4009162A1 (en) Code change method and device
CN110968325A (en) Applet conversion method and device
CN111176717B (en) Method and device for generating installation package and electronic equipment
CN108491207B (en) Expression processing method, device, equipment and computer readable storage medium
CN110377580B (en) Data migration method, device and equipment
CN111008034B (en) Patch generation method and device
US11474796B1 (en) Build system for distributed applications
CN111046311A (en) Method and device for realizing traceless iteration version of PC (personal computer) end, computer equipment and storage medium
CN111343267B (en) Configuration management method and system
CN112256670A (en) Data migration method, terminal device and readable storage medium
US20160055074A1 (en) Program analysis device, program analysis method, and program analysis program
CN112486555A (en) Software increment upgrading method, device, equipment and computer readable storage medium
CN111124382A (en) Attribute assignment method and device in Java and server
CN105404522A (en) Method for building intelligent terminal application program, device for building intelligent terminal application program and intelligent terminal
CN107092472B (en) Dynamic publishing method and device
CN112068874A (en) Software project continuous integration method and device, terminal equipment and storage medium
CN112000334A (en) Page development method, device, server and storage medium
CN110688320A (en) Global variable detection method and device and terminal equipment
CN115729590A (en) Service deployment method, device, equipment and computer readable storage medium
US20230289178A1 (en) Image configuration method, device and system, and storage medium
CN113849516A (en) Digital map updating method and device, electronic equipment and storage medium
CN113760237A (en) Compiling address updating method and device, terminal equipment and readable storage medium
CN111428209B (en) Application program confusion method, device and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210312

RJ01 Rejection of invention patent application after publication