CN111651188B - 差分包的数据结果确定方法、装置、设备及存储介质 - Google Patents

差分包的数据结果确定方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111651188B
CN111651188B CN202010484639.7A CN202010484639A CN111651188B CN 111651188 B CN111651188 B CN 111651188B CN 202010484639 A CN202010484639 A CN 202010484639A CN 111651188 B CN111651188 B CN 111651188B
Authority
CN
China
Prior art keywords
file
decompilation
new
original
data result
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.)
Active
Application number
CN202010484639.7A
Other languages
English (en)
Other versions
CN111651188A (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.)
Shanghai Abup Intelligent Technology Co ltd
Original Assignee
Shanghai Abup Intelligent 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 Shanghai Abup Intelligent Technology Co ltd filed Critical Shanghai Abup Intelligent Technology Co ltd
Priority to CN202010484639.7A priority Critical patent/CN111651188B/zh
Publication of CN111651188A publication Critical patent/CN111651188A/zh
Application granted granted Critical
Publication of CN111651188B publication Critical patent/CN111651188B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种差分包的数据结果确定方法、装置、设备及存储介质。该方法包括:获取原始二进制文件和更新后的新二进制文件;基于反编译规则,对所述原始二进制文件和所述新二进制文件进行反编译,得到原始反编译文件和新反编译文件;根据所述原始反编译文件,对所述新反编译文件进行调整,以得到调整后的新反编译文件;比较所述原始反编译文件和所述调整后的新反编译文件,得到最终差分包的数据结果。上述技术方案能够实现有效减少差分包大小以适应小内存设备。

Description

差分包的数据结果确定方法、装置、设备及存储介质
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种差分包的数据结果确定方法、装置、设备及存储介质。
背景技术
目前,随着计算机的快速发展,IOT(The Internet of Things,物联网)嵌入式操作系统被广泛的用于各个领域,同时为了适应业务更新,终端系统的更新换代也是不可避免的。
但是目前,由于终端系统的应用在更新时的差分包比较大,进而无法存储在内存较小的设备中。因此,亟需一种更新方法,能够使得差分包内存变小以适应小内存设备。
发明内容
本发明提供了一种差分包的数据结果确定方法、装置、设备及存储介质,以实现有效减少差分包大小以适应小内存设备。
第一方面,本发明实施例提供了一种差分包的数据结果确定方法,包括:
获取原始二进制文件和更新后的新二进制文件;
基于反编译规则,对所述原始二进制文件和所述新二进制文件进行反编译,得到原始反编译文件和新反编译文件;
根据所述原始反编译文件,对所述新反编译文件进行调整,以得到调整后的新反编译文件;
比较所述原始反编译文件和所述调整后的新反编译文件,得到最终差分包的数据结果。
第二方面,本发明实施例还提供了一种差分包的数据结果确定装置,包括:
二进制文件获取模块,用于获取原始二进制文件和更新后的新二进制文件;
反编译文件获取模块,用于基于反编译规则,对所述原始二进制文件和所述新二进制文件进行反编译,得到原始反编译文件和新反编译文件;
新反编译文件调整模块,用于根据所述原始反编译文件,对所述新反编译文件进行调整,以得到调整后的新反编译文件;
最终差分包的数据结果计算模块,用于比较所述原始反编译文件和所述调整后的新反编译文件,得到最终差分包的数据结果。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的差分包的数据结果确定方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的差分包的数据结果确定方法。
本发明通过获取原始二进制文件和更新后的新二进制文件;基于反编译规则,对所述原始二进制文件和所述新二进制文件进行反编译,得到原始反编译文件和新反编译文件;根据所述原始反编译文件,对所述新反编译文件进行调整,以得到调整后的新反编译文件;比较所述原始反编译文件和所述调整后的新反编译文件,得到最终差分包的数据结果。通过上述技术方案能够实现有效减少差分包大小以适应小内存设备。
附图说明
图1a是本发明实施例一中提供的一种差分包的数据结果确定方法的流程示意图;
图1b是本发明实施例一中提供的一种新反编译文件调整过程的示意图;
图2是本发明实施例二中提供的一种差分包的数据结果确定装置的结构示意图;
图3是本发明实施例三中提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等。
实施例一
图1a是本发明实施例一提供的一种差分包的数据结果确定方法的流程示意图,本实施例可适用于内存有严格限制的嵌入式操作系统升级的情况,该方法可以由一种差分包的数据结果确定装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成于电子设备中,具体包括如下步骤:
S110、获取原始二进制文件和更新后的新二进制文件。
本实施例中,原始二进制文件是指待更新的二进制文件,更新后的新二进制文件是进行了升级更新的二进制文件。其中,更新后的新二进制文件是在原始二进制文件的基础上进行部分调整得到的。
S120、基于反编译规则,对所述原始二进制文件和所述新二进制文件进行反编译,得到原始反编译文件和新反编译文件。
本实施例中,反编译规则是指反编译工具和反编译算法,具体的,反编译是将原始二进制文件和新二进制文件转换成相应汇编语言的文件,以尽可能多地引用原始反编译文件中的内容。
S130、根据所述原始反编译文件,对所述新反编译文件进行调整,以得到调整后的新反编译文件。
本实施例中,可选的,所述根据所述原始反编译文件,对所述新反编译文件进行调整,包括:
根据所述原始反编译文件中的地址引用跳转关系,对所述新反编译文件进行调整。
具体的,在对原始二进制文件和新二进制文件进行反编译时,只对两个文件中的地址引用跳转部分进行反编译,并获取原始反编译文件中的地址引用跳转关系以及新反编译文件中的地址引用跳转关系。
具体的,所述根据所述原始反编译文件中的地址引用跳转关系,对所述新反编译文件进行调整,包括:
根据所述原始反编译文件中的地址引用跳转关系中地址跳转的内容,确定所述地址跳转内容在所述新反编译文件中的地址;
根据所述新反编译文件中的地址,对所述新反编译文件进行调整。
由于新反编译文件中的地址引用跳转关系与原始反编译文件中的地址引用跳转关系的内容是相同的,但是新反编译文件中的地址引用跳转关系并不适用于新反编译文件,因此,需要对新反编译文件中的地址引用跳转关系进行调整。
具体的,通过确定原始反编译文件中的地址引用跳转关系中地址跳转内容,根据上述内容在新反编译文件中的地址,将新反编译文件中的地址修改至新反编译文件中的地址引用跳转关系中。示例性的,原始反编译文件中的地址引用跳转关系中为地址4引用地址2,新反编译文件中在2位置插入了新的内容,但是目前新反编译文件中的地址引用跳转关系为地址4引用地址2,其实质为错误的跳转引用关系,则根据原始反编译文件中地址4和地址2的跳转内容确定跳转内容在新反编译文件中为地址5和地址3,修改新反编译文件,得到调整后的新反编译文件。如图1b示出了一种新反编译文件调整过程的示意图。
S140、比较所述原始反编译文件和所述调整后的新反编译文件,得到最终差分包的数据结果。
本实施例中,将原始反编译文件与调整后的新反编译文件进行近似匹配,将不同的部分计算差分。具体的,计算差分时是以双字节为单位,如果双字节相同,则忽略;如果双字节不同,检查高字节是否相同,高字节相同时,记录一个字节的差值和偏移量,如果高字节不相同,则记录两个两个字节的差值和偏移量,并将结果作为最终差分包的数据结果。
可选的,所述比较所述原始反编译文件和所述调整后的新反编译文件,得到最终差分包的数据结果,包括:
将所述原始反编译文件与所述调整后的新反编译文件按照预设的长度进行正向作差,得到第一差分包的数据结果;
将所述原始反编译文件与所述调整后的新反编译文件按照预设的长度进行反向作差,得到第二差分包的数据结果;
将所述第一差分包的数据结果和所述第二差分包的数据结果中数据结果内存较小的作为最终差分包的数据结果。
本实施例中,由于设备内存的原因,在计算原始反编译文件与调整后的新反编译文件的差值时,是按照预设长度读取原始反编译文件与调整后的新反编译文件的。具体的,在比较原始反编译文件和调整后的新反编译文件时,可以通过将原始反编译文件与调整后的新反编译文件按照预设的长度正向作差,也可以通过将原始反编译文件与调整后的新反编译文件按照预设的长度反向作差,并比较第一差分包的数据结果与第二差分包的数据结果,将数值较小的作为最终差分包的数据结果。
可选的,所述将所述第一差分包的数据结果和所述第二差分包的数据结果中数据结果内存较小的作为最终差分包的数据结果之后,还包括:
比较所述最终差分包的数据结果与负载的大小,若所述最终差分包的数据结果小于所述负载的大小,则将所述最终差分包的数据结果存储至预设的存储空间;
若所述最终差分包的数据结果大于所述负载的大小,则缩小所述预设的长度,重新确定所述第一差分包的数据结果和所述第二差分包的数据结果。
本实施例中,负载的大小包括ROM(Read-Only Memory,只读存储器)和RAM(RandomAccess Memory,随机存取存储器)的大小,其中,ROM是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,并且资料不会因为电源关闭而消失。RAM是与CPU直接交换数据的内部存储器。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。若按照当前的预设的长度得到的最终差分包的数据结果无法与当前的负载大小相适应,则缩小预设的长度重新计算最终差分包的数据结果。
可选的,所述将所述最终差分包的数据结果存储至预设的存储空间,包括:
通过整数数组的混合打包压缩方法对所述最终差分包的数据结果进行压缩处理,并存储至所述预设的存储空间。
本实施例中,通过整数数组的混合打包压缩方法对最终差分包的数据结果进行压缩处理具体包括如下步骤:获取最终差分包的数据结果的整数数组,整数数组的各个整数存储长度是相同的;将上述整数数组转化为有符号的整数数组,将原整数取绝对值并左移一位,最低比特位用0和1来记录正负号,如果是无符号整数数组此步骤可省略;遍历整个整数绝对数数组求出中位数,用于启发搜索整数打包的基础存储比特数;分别使用两个不同打包基础存储比特数对整数数组进行打包,得到两个打包后的整数数组;用预定压缩算法分别对两个打包后的整数数组进行压缩;比较压缩后的数据文件大小,选取较小的压缩文件;在选定的压缩文件中记录打包的基础存储比特数,并将得到的最终结果存储至所述预设的存储空间。
本发明通过获取原始二进制文件和更新后的新二进制文件;基于反编译规则,对所述原始二进制文件和所述新二进制文件进行反编译,得到原始反编译文件和新反编译文件;根据所述原始反编译文件,对所述新反编译文件进行调整,以得到调整后的新反编译文件;比较所述原始反编译文件和所述调整后的新反编译文件,得到最终差分包的数据结果。通过上述技术方案能够实现有效减少差分包大小以适应小内存设备。
实施例二
图2是本发明实施例二提供的一种差分包的数据结果确定装置的结构示意图。本发明实施例所提供的一种差分包的数据结果确定装置可执行本发明任意实施例所提供的一种差分包的数据结果确定方法,具备执行方法相应的功能模块和有益效果。如图2所示,该装置包括:
二进制文件获取模块210,用于获取原始二进制文件和更新后的新二进制文件;
反编译文件获取模块220,用于基于反编译规则,对所述原始二进制文件和所述新二进制文件进行反编译,得到原始反编译文件和新反编译文件;
新反编译文件调整模块230,用于根据所述原始反编译文件,对所述新反编译文件进行调整,以得到调整后的新反编译文件;
最终差分包的数据结果计算模块240,用于比较所述原始反编译文件和所述调整后的新反编译文件,得到最终差分包的数据结果。
新反编译文件调整模块230,用于根据所述原始反编译文件中的地址引用跳转关系,对所述新反编译文件进行调整。
新反编译文件调整模块230,用于
根据所述原始反编译文件中的地址引用跳转关系中地址跳转的内容,确定所述地址跳转内容在所述新反编译文件中的地址;
根据所述新反编译文件中的地址,对所述新反编译文件进行调整。
最终差分包的数据结果计算模块240,用于将所述原始反编译文件与所述调整后的新反编译文件按照预设的长度进行正向作差,得到第一差分包的数据结果;
将所述原始反编译文件与所述调整后的新反编译文件按照预设的长度进行反向作差,得到第二差分包的数据结果;
将所述第一差分包的数据结果和所述第二差分包的数据结果中数据结果内存较小的作为最终差分包的数据结果。
所述装置还包括:
最终差分包的数据结果重新确定模块250,用于比较所述最终差分包的数据结果与负载的大小,若所述最终差分包的数据结果小于所述负载的大小,则将所述最终差分包的数据结果存储至预设的存储空间;
若所述最终差分包的数据结果大于所述负载的大小,则缩小所述预设的长度,重新确定所述第一差分包的数据结果和所述第二差分包的数据结果。
最终差分包的数据结果重新确定模块250,用于通过整数数组的混合打包压缩方法对所述最终差分包的数据结果进行压缩处理,并存储至所述预设的存储空间。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
实施例三
图3为本发明实施例三提供的一种设备的结构示意图,图3示出了适于用来实现本发明实施例实施方式的示例性设备的结构示意图。图3显示的设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,设备12以通用计算设备的形式表现。设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图3未显示,通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明实施例各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明实施例所描述的实施例中的功能和/或方法。
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图3所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种差分包的数据结果确定方法,包括:
获取原始二进制文件和更新后的新二进制文件;
基于反编译规则,对所述原始二进制文件和所述新二进制文件进行反编译,得到原始反编译文件和新反编译文件;
根据所述原始反编译文件,对所述新反编译文件进行调整,以得到调整后的新反编译文件;
比较所述原始反编译文件和所述调整后的新反编译文件,得到最终差分包的数据结果。
实施例四
本发明实施例四还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时可实现上述任意实施例所述的一种差分包的数据结果确定方法,包括:
获取原始二进制文件和更新后的新二进制文件;
基于反编译规则,对所述原始二进制文件和所述新二进制文件进行反编译,得到原始反编译文件和新反编译文件;
根据所述原始反编译文件,对所述新反编译文件进行调整,以得到调整后的新反编译文件;
比较所述原始反编译文件和所述调整后的新反编译文件,得到最终差分包的数据结果。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (7)

1.一种差分包的数据结果确定方法,其特征在于,包括:
获取原始二进制文件和更新后的新二进制文件;
基于反编译规则,对所述原始二进制文件和所述新二进制文件进行反编译,得到原始反编译文件和新反编译文件;
根据所述原始反编译文件中的地址引用跳转关系,对所述新反编译文件进行调整,以得到调整后的新反编译文件;
比较所述原始反编译文件和所述调整后的新反编译文件,得到最终差分包的数据结果;
其中,所述比较所述原始反编译文件和所述调整后的新反编译文件,得到最终差分包的数据结果,包括:
将所述原始反编译文件与所述调整后的新反编译文件按照预设的长度进行正向作差,得到第一差分包的数据结果;
将所述原始反编译文件与所述调整后的新反编译文件按照预设的长度进行反向作差,得到第二差分包的数据结果;
将所述第一差分包的数据结果和所述第二差分包的数据结果中数据结果内存较小的作为最终差分包的数据结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述原始反编译文件中的地址引用跳转关系,对所述新反编译文件进行调整,包括:
根据所述原始反编译文件中的地址引用跳转关系中地址跳转的内容,确定所述地址跳转内容在所述新反编译文件中的地址;
根据所述新反编译文件中的地址,对所述新反编译文件进行调整。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一差分包的数据结果和所述第二差分包的数据结果中数据结果内存较小的作为最终差分包的数据结果之后,还包括:
比较所述最终差分包的数据结果与负载的大小,若所述最终差分包的数据结果小于所述负载的大小,则将所述最终差分包的数据结果存储至预设的存储空间;
若所述最终差分包的数据结果大于所述负载的大小,则缩小所述预设的长度,重新确定所述第一差分包的数据结果和所述第二差分包的数据结果。
4.根据权利要求3所述的方法,其特征在于,所述将所述最终差分包的数据结果存储至预设的存储空间,包括:
通过整数数组的混合打包压缩方法对所述最终差分包的数据结果进行压缩处理,并存储至所述预设的存储空间。
5.一种差分包的数据结果确定装置,其特征在于,包括:
二进制文件获取模块,用于获取原始二进制文件和更新后的新二进制文件;
反编译文件获取模块,用于基于反编译规则,对所述原始二进制文件和所述新二进制文件进行反编译,得到原始反编译文件和新反编译文件;
新反编译文件调整模块,用于根据所述原始反编译文件,对所述新反编译文件进行调整,以得到调整后的新反编译文件;
最终差分包的数据结果计算模块,用于比较所述原始反编译文件和所述调整后的新反编译文件,得到最终差分包的数据结果;
其中,所述新反编译文件调整模块,还用于根据所述原始反编译文件中的地址引用跳转关系,对所述新反编译文件进行调整;
所述最终差分包的数据结果计算模块,还用于:
将所述原始反编译文件与所述调整后的新反编译文件按照预设的长度进行正向作差,得到第一差分包的数据结果;
将所述原始反编译文件与所述调整后的新反编译文件按照预设的长度进行反向作差,得到第二差分包的数据结果;
将所述第一差分包的数据结果和所述第二差分包的数据结果中数据结果内存较小的作为最终差分包的数据结果。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一所述的差分包的数据结果确定方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的差分包的数据结果确定方法。
CN202010484639.7A 2020-06-01 2020-06-01 差分包的数据结果确定方法、装置、设备及存储介质 Active CN111651188B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010484639.7A CN111651188B (zh) 2020-06-01 2020-06-01 差分包的数据结果确定方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010484639.7A CN111651188B (zh) 2020-06-01 2020-06-01 差分包的数据结果确定方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111651188A CN111651188A (zh) 2020-09-11
CN111651188B true CN111651188B (zh) 2023-06-02

Family

ID=72347285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010484639.7A Active CN111651188B (zh) 2020-06-01 2020-06-01 差分包的数据结果确定方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111651188B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286564A (zh) * 2020-10-22 2021-01-29 上海艾拉比智能科技有限公司 一种针对iot设备二进制系统文件的差分升级算法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015043408A1 (en) * 2013-09-27 2015-04-02 Tencent Technology (Shenzhen) Company Limited Method of protecting binary file from being decompiled and device thereof
CN106657361A (zh) * 2016-12-30 2017-05-10 歌尔科技有限公司 一种代码添加混淆的安卓安装包ota升级方法
CN109582323A (zh) * 2018-11-23 2019-04-05 网易(杭州)网络有限公司 应用安装包的增量更新方法、装置、终端及服务器
CN110109695A (zh) * 2019-04-17 2019-08-09 华为技术有限公司 补丁方法、相关装置及系统
CN110362970A (zh) * 2019-07-23 2019-10-22 北京智游网安科技有限公司 一种防止应用程序反编译的方法、存储介质及终端设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516445B2 (en) * 2005-06-30 2009-04-07 Microsoft Corporation Locating source code when stopping in a debugger
US20080209401A1 (en) * 2007-02-22 2008-08-28 Microsoft Corporation Techniques for integrating debugging with decompilation
US8584102B2 (en) * 2007-12-27 2013-11-12 Microsoft Corporation Creating and using deltas to modify existing computer code

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015043408A1 (en) * 2013-09-27 2015-04-02 Tencent Technology (Shenzhen) Company Limited Method of protecting binary file from being decompiled and device thereof
CN106657361A (zh) * 2016-12-30 2017-05-10 歌尔科技有限公司 一种代码添加混淆的安卓安装包ota升级方法
CN109582323A (zh) * 2018-11-23 2019-04-05 网易(杭州)网络有限公司 应用安装包的增量更新方法、装置、终端及服务器
CN110109695A (zh) * 2019-04-17 2019-08-09 华为技术有限公司 补丁方法、相关装置及系统
CN110362970A (zh) * 2019-07-23 2019-10-22 北京智游网安科技有限公司 一种防止应用程序反编译的方法、存储介质及终端设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
陈福安,刘宗田,李力.8086 C语言反编译系统的设计及实现技术.小型微型计算机系统.1993,(04),全文. *
黄河明 ; 李茂青 ; .一种基于反汇编基础上的C反编译的新方法.科学技术与工程.2008,(10),全文. *

Also Published As

Publication number Publication date
CN111651188A (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
CN111090628B (zh) 一种数据处理方法、装置、存储介质及电子设备
CN107870728B (zh) 用于移动数据的方法和设备
US9852056B2 (en) Multi-level memory compression
JP2008065834A (ja) フュージョンメモリ装置及び方法
CN109756568B (zh) 文件的处理方法、设备及计算机可读存储介质
CN111857550B (zh) 用于数据去重的方法、设备以及计算机可读介质
US9311049B2 (en) System to improve numereical conversions and associated methods
US20180088815A1 (en) Method and device for storing data
CN111949710B (zh) 数据存储方法、装置、服务器及存储介质
US10027984B2 (en) Methods and systems for efficiently reading a data block from a data seglet with compressed data blocks
CN111240722B (zh) 空中升级固件的方法及其所应用的终端、服务器及系统
CN111208933A (zh) 数据访问的方法、装置、设备和存储介质
CN110659210A (zh) 一种信息获取方法、装置、电子设备及存储介质
CN111651188B (zh) 差分包的数据结果确定方法、装置、设备及存储介质
CN111562929A (zh) 补丁文件的生成方法、装置、设备及存储介质
US5901277A (en) Shared decompression buffer
CN111008934B (zh) 一种场景构建方法、装置、设备及存储介质
US11562241B2 (en) Data output method, data acquisition method, device, and electronic apparatus
CN111639055B (zh) 差分包计算方法、装置、设备及存储介质
CN110889880A (zh) 一种贴图处理方法、装置、设备及存储介质
CN108234552B (zh) 一种数据存储方法及装置
CN109491620B (zh) 存储数据重写方法、装置、服务器及存储介质
CN110795408A (zh) 基于对象存储的数据处理方法、装置、服务器和存储介质
CN109918231B (zh) 数据重整的异常修复方法、装置、设备和存储介质
CN115225094A (zh) 数据压缩方法、电子设备和计算机程序产品

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
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200911

Assignee: Hefei Airabi Intelligent Technology Co.,Ltd.

Assignor: SHANGHAI ABUP INTELLIGENT TECHNOLOGY CO.,LTD.

Contract record no.: X2024980002961

Denomination of invention: Method, device, equipment, and storage medium for determining the data results of differential packaging

Granted publication date: 20230602

License type: Common License

Record date: 20240319