CN106919656A - 自定义压缩文件的生成方法和装置 - Google Patents

自定义压缩文件的生成方法和装置 Download PDF

Info

Publication number
CN106919656A
CN106919656A CN201710061107.0A CN201710061107A CN106919656A CN 106919656 A CN106919656 A CN 106919656A CN 201710061107 A CN201710061107 A CN 201710061107A CN 106919656 A CN106919656 A CN 106919656A
Authority
CN
China
Prior art keywords
compressed file
self
file
former
field
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
CN201710061107.0A
Other languages
English (en)
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201710061107.0A priority Critical patent/CN106919656A/zh
Publication of CN106919656A publication Critical patent/CN106919656A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了自定义压缩文件的生成方法和装置,其中方法包括:获取作为处理基础的原压缩文件;按照二进制方式读取原压缩文件,查找出原压缩文件中的预定字段;在预定字段中添加待生成的自定义压缩文件对应的扩展信息,得到自定义压缩文件。应用本发明所述方案,能够提高处理效率等。

Description

自定义压缩文件的生成方法和装置
【技术领域】
本发明涉及数据处理技术,特别涉及自定义压缩文件的生成方法和装置。
【背景技术】
为提高数据的安全性,通常会对文件进行校验处理。
以安卓安装包(APK,AndroidPackage)文件为例,在编译生成一个APK文件时,会对所有要打包的数据做一个校验计算,并把计算结果存放在META-INF目录下,当在安卓平台上安装APK文件时,会按照同样的算法对文件作校验,如果校验结果与META-INF目录下存放的内容不一致,则不会安装APK文件。
通过上述方式,保证了APK文件不能被随意修改等,从而给病毒感染和恶意修改等增加了难度,进而提高了数据的安全性。
但在实际应用中,针对同一数据文件内容会进行不同渠道、途径、商务合作、推广统计以及简单的Title和ICON等信息定制化的需求扩展,即分别对作为处理基础的原代码进行不同方式的扩展,从而分别得到各自定义APK文件。
而为了得到每个自定义APK文件,分别需要进行代码修改、编译、打包等处理,以10M大小的APK文件为例,全程需要耗费30分钟甚至更长的时间,如果要得到5000个自定义APK文件,则至少需要105天的时间,处理效率非常低下。
针对上述问题,现有技术提出了以下解决方式:
由于META-INF目录不会影响到APK文件的运行等,因此可以在META-INF目录下添加扩展信息,以得到自定义APK文件。
即首先获取作为处理基础的原APK文件,之后依次进行解压、添加扩展信息、压缩等处理,从而得到各自定义APK文件。
按照上述方式,每生成一个自定义APK文件,大约需要耗费1分钟的时间,仍以得到5000个自定义APK文件为例,则需要耗费大约3.5天的时间,处理效率仍比较低下。
【发明内容】
有鉴于此,本发明提供了自定义压缩文件的生成方法和装置,能够提高处理效率。
具体技术方案如下:
一种自定义压缩文件的生成方法,包括:
获取作为处理基础的原压缩文件;
按照二进制方式读取所述原压缩文件,查找出所述原压缩文件中的预定字段;
在所述预定字段中添加待生成的自定义压缩文件对应的扩展信息,得到所述自定义压缩文件。
一种自定义压缩文件的生成装置,包括:获取单元和处理单元;
所述获取单元,用于获取作为处理基础的原压缩文件,发送给所述处理单元;
所述处理单元,用于按照二进制方式读取所述原压缩文件,查找出所述原压缩文件中的预定字段,在所述预定字段中添加待生成的自定义压缩文件对应的扩展信息,得到所述自定义压缩文件。
基于上述介绍可以看出,采用本发明所述方案,在获取到原压缩文件之后,可按照二进制方式读取原压缩文件,查找出原压缩文件中的预定字段,进而在预定字段中添加待生成的自定义压缩文件对应的扩展信息,从而得到自定义压缩文件,相比于现有方式,本发明所述方案中无需进行解压、压缩等操作,从而极大地提高了处理效率。
【附图说明】
图1为本发明所述自定义压缩文件的生成方法实施例的流程图。
图2为本发明所述自定义压缩文件的生成方法较佳实施例的流程图。
图3为本发明所述自定义压缩文件的生成装置实施例的组成结构示意图。
【具体实施方式】
为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
实施例一
图1为本发明所述自定义压缩文件的生成方法实施例的流程图,如图1所示,包括以下具体实现方式。
在11中,获取作为处理基础的原压缩文件。
在12中,按照二进制方式读取原压缩文件,查找出原压缩文件中的预定字段。
在13中,在预定字段中添加待生成的自定义压缩文件对应的扩展信息,得到自定义压缩文件。
在获取到原压缩文件之后,无需对其进行解压处理,可直接按照二进制方式读取原压缩文件,查找出其中的预定字段,之后,可在预定字段中添加待生成的自定义压缩文件对应的扩展信息,从而得到所需的自定义压缩文件。
所述压缩文件可以是指zip文件等,APK文件也是一种带签名信息的zip文件。
所述预定字段可以是指注释内容字段等。
另外,除了可在注释内容字段中添加扩展信息之外,还可进一步在注释内容字段中添加校验信息。
所述校验信息可包括:原压缩文件的指纹信息,以及,扩展信息的指纹信息。
以下即以zip文件以及注释内容字段为例,对本发明所述方案进行进一步说明。
实施例二
图2为本发明所述自定义压缩文件的生成方法较佳实施例的流程图,如图2所示,包括以下具体实现方式。
在21中,获取原zip文件。
如何生成并获取原zip文件为现有技术。
在22中,按照二进制方式读取原zip文件,查找出原zip文件中的注释内容字段。
根据zip文件格式规范,每个zip文件的最后都必须有一个称为“centraldirectory record”的部分,该部分的最后部分称为“end of central directoryrecord”,包含一些元数据,它的末尾是zip文件的注释。
注释包括Comment Length以及File Comment两个字段,其中前者表示注释内容长度,后者表示注释内容,因此,也可将前一个字段称为注释内容长度字段,将后一个字段称为注释内容字段。
修改注释内容字段不会对zip文件造成破坏。
无需对原zip文件进行解压处理,可直接按照二进制方式读取原zip文件,查找出原zip文件中的注释内容字段。
基于上述注释内容字段所处的位置,可按照逆序查找的方式,查找出原zip文件中的注释内容字段,以提高查找效率。
如何查找到注释内容字段为现有技术。
在23中,在注释内容字段中添加待生成的自定义zip文件对应的扩展信息,得到自定义zip文件。
即在注释内容字段中原有的注释内容的基础上,追加待生成的自定义zip文件对应的扩展信息。
扩展信息中具体包括哪些内容可根据实际需要而定。
所添加的扩展的信息的具体格式同样可根据实际需要而定。
在24中,在注释内容字段中添加校验信息。
所述校验信息可包括原zip文件的指纹信息,以及,所添加的扩展信息的指纹信息。
为进行区别,可将原zip文件的指纹信息称为第一指纹信息,将扩展信息的指纹信息称为第二指纹信息。
如何得到各指纹信息为现有技术,比如,可结合现有哈希算法、消息摘要算法(MD5,Message Digest Algorithm)、高级加密标准(AES,Advanced Encryption Standard)算法等得到各指纹信息。
这样,后续在安装自定义zip文件时,可首先利用第一指纹信息来对原zip文件中的信息进行校验,校验通过,可进一步利用第二指纹信息来对扩展信息进行校验,从而确保了两部分信息的安全性。
另外,在注释内容字段中添加信息之后,还需要根据所添加的信息大小相应地修改注释内容长度字段中的内容,如何修改为现有技术。
实施例三
基于上述介绍,图3为本发明所述自定义压缩文件的生成装置实施例的组成结构示意图,如图3所示,包括:获取单元31和处理单元32。
获取单元31,用于获取作为处理基础的原压缩文件,发送给处理单元32。
处理单元32,用于按照二进制方式读取原压缩文件,查找出原压缩文件中的预定字段,在预定字段中添加待生成的自定义压缩文件对应的扩展信息,得到自定义压缩文件。
其中,处理单元32中可进一步包括:查找子单元321以及添加子单元322。
查找子单元321,用于按照二进制方式读取原压缩文件,并按照逆序查找的方式,查找出原压缩文件中的预定字段。
添加子单元322,用于在预定字段中添加待生成的自定义压缩文件对应的扩展信息,得到自定义压缩文件。
根据zip文件格式规范,每个zip文件的最后都必须有一个称为“centraldirectory record”的部分,该部分的最后部分称为“end of central directoryrecord”,包含一些元数据,它的末尾是zip文件的注释。
注释包括Comment Length以及File Comment两个字段,其中前者表示注释内容长度,后者表示注释内容。
基于上述注释内容字段所处的位置,查找子单元321可按照逆序查找的方式,查找出原压缩文件中的注释内容字段,之后,可由添加子单元322在注释内容字段中添加待生成的自定义压缩文件对应的扩展信息,从而得到自定义压缩文件,即添加子单元322可在注释内容字段中原有的注释内容的基础上,追加待生成的自定义zip文件对应的扩展信息。
另外,添加子单元322还可进一步在注释内容字段中添加校验信息,包括:原压缩文件的指纹信息,以及,扩展信息的指纹信息。
为进行区别,可将原zip文件的指纹信息称为第一指纹信息,将扩展信息的指纹信息称为第二指纹信息。
这样,后续在安装自定义zip文件时,可首先利用第一指纹信息来对原zip文件中的信息进行校验,校验通过,可进一步利用第二指纹信息来对扩展信息进行校验,从而确保了两部分信息的安全性。
上述压缩文件可为zip文件等。
图3所示装置实施例的具体工作流程请参照前述方法实施例中的相应说明,此处不再赘述。
相比于现有技术,本发明所述方案至少具备以下优势:
由于无需进行解压、压缩等操作,因此极大地提高了处理效率,仍以得到5000个自定义APK为例,仅需要约25秒的时间;
只需要对原压缩文件的注释内容字段进行修改,而无需对原压缩文件的其它部分进行修改,即不会对原压缩文件的实质内容进行修改,从而不会对原压缩文件造成破坏;
可从文件后面直接逆序查找指定数据位置并快速读写修改,并可根据实际需要进行多次读写修改;
读写高效安全,同时简单可靠,开发成本也比较低,便于普及和推广;
具有广泛适用性,可有效地兼容所有zip文件及类似的标准文件,并能灵活扩展处理。
需要说明的是,本发明实施例提供的上述方法和装置可以以设置并运行于设备中的计算机程序体现,该设备可以包括一个或多个处理器,还包括存储器和一个或多个程序,其中该一个或多个程序存储于存储器中,被上述一个或多个处理器执行以实现本发明上述实施例中所示的方法流程和/或装置操作。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (12)

1.一种自定义压缩文件的生成方法,其特征在于,包括:
获取作为处理基础的原压缩文件;
按照二进制方式读取所述原压缩文件,查找出所述原压缩文件中的预定字段;
在所述预定字段中添加待生成的自定义压缩文件对应的扩展信息,得到所述自定义压缩文件。
2.根据权利要求1所述的方法,其特征在于,
所述查找出所述原压缩文件中的预定字段包括:
按照逆序查找的方式,查找出所述原压缩文件中的预定字段。
3.根据权利要求1所述的方法,其特征在于,
所述预定字段包括:注释内容字段。
4.根据权利要求3所述的方法,其特征在于,
该方法进一步包括:
在所述注释内容字段中添加校验信息。
5.根据权利要求4所述的方法,其特征在于,
所述校验信息包括:
所述原压缩文件的指纹信息,以及,所述扩展信息的指纹信息。
6.根据权利要求1~5中任一项所述的方法,其特征在于,
所述压缩文件包括:zip文件。
7.一种自定义压缩文件的生成装置,其特征在于,包括:获取单元和处理单元;
所述获取单元,用于获取作为处理基础的原压缩文件,发送给所述处理单元;
所述处理单元,用于按照二进制方式读取所述原压缩文件,查找出所述原压缩文件中的预定字段,在所述预定字段中添加待生成的自定义压缩文件对应的扩展信息,得到所述自定义压缩文件。
8.根据权利要求7所述的装置,其特征在于,
所述处理单元中包括:查找子单元和添加子单元;
所述查找子单元,用于按照二进制方式读取所述原压缩文件,并按照逆序查找的方式,查找出所述原压缩文件中的预定字段;
所述添加子单元,用于在所述预定字段中添加待生成的自定义压缩文件对应的扩展信息,得到所述自定义压缩文件。
9.根据权利要求8所述的装置,其特征在于,
所述预定字段包括:注释内容字段。
10.根据权利要求9所述的装置,其特征在于,
所述添加子单元进一步用于,
在所述注释内容字段中添加校验信息。
11.根据权利要求10所述的装置,其特征在于,
所述校验信息包括:
所述原压缩文件的指纹信息,以及,所述扩展信息的指纹信息。
12.根据权利要求7~11中任一项所述的装置,其特征在于,
所述压缩文件包括:zip文件。
CN201710061107.0A 2017-01-25 2017-01-25 自定义压缩文件的生成方法和装置 Pending CN106919656A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710061107.0A CN106919656A (zh) 2017-01-25 2017-01-25 自定义压缩文件的生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710061107.0A CN106919656A (zh) 2017-01-25 2017-01-25 自定义压缩文件的生成方法和装置

Publications (1)

Publication Number Publication Date
CN106919656A true CN106919656A (zh) 2017-07-04

Family

ID=59454482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710061107.0A Pending CN106919656A (zh) 2017-01-25 2017-01-25 自定义压缩文件的生成方法和装置

Country Status (1)

Country Link
CN (1) CN106919656A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100179963A1 (en) * 2009-01-13 2010-07-15 John Conner Method and computer program product for geophysical and geologic data identification, geodetic classification, and organization
CN102883232A (zh) * 2012-08-29 2013-01-16 四三九九网络股份有限公司 一种swf文件批量添加水印的方法及装置
CN102902525A (zh) * 2012-08-29 2013-01-30 四三九九网络股份有限公司 一种swf文件批量修改帧频的方法及装置
CN104516764A (zh) * 2015-01-27 2015-04-15 携程计算机技术(上海)有限公司 压缩文件动态打包方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100179963A1 (en) * 2009-01-13 2010-07-15 John Conner Method and computer program product for geophysical and geologic data identification, geodetic classification, and organization
CN102883232A (zh) * 2012-08-29 2013-01-16 四三九九网络股份有限公司 一种swf文件批量添加水印的方法及装置
CN102902525A (zh) * 2012-08-29 2013-01-30 四三九九网络股份有限公司 一种swf文件批量修改帧频的方法及装置
CN104516764A (zh) * 2015-01-27 2015-04-15 携程计算机技术(上海)有限公司 压缩文件动态打包方法及系统

Similar Documents

Publication Publication Date Title
US10778441B2 (en) Redactable document signatures
US10424406B2 (en) Methods and systems for watermarking of anonymized datasets
CN103530535A (zh) 一种Android平台应用程序保护的加脱壳方法
US20090064125A1 (en) Secure Upgrade of Firmware Update in Constrained Memory
US8839446B2 (en) Protecting archive structure with directory verifiers
US20120317421A1 (en) Fingerprinting Executable Code
CN108399319B (zh) 源代码保护方法、应用服务器及计算机可读存储介质
GB2475151A (en) Indexing data for use by multiple applications by extracting tokens from data objects
US20130067237A1 (en) Providing random access to archives with block maps
KR101727860B1 (ko) 문서 파일의 복구 장치 및 그 방법
JP6170900B2 (ja) ファイル処理方法及び装置
CN106845167A (zh) 一种apk的加固方法和装置,及动态加载方法和装置
CN106843939A (zh) 应用的渠道包的生成方法及装置
JPWO2011121927A1 (ja) デジタルコンテンツ管理システム、装置、プログラムおよび方法
Fu et al. Digital forensics of Microsoft Office 2007–2013 documents to prevent covert communication
CN109145639B (zh) 文件加密方法、解密方法及装置
CN112632536B (zh) 基于pe文件改造的内存加载方法
CN109324997B (zh) 一种基于区块链的数字权利保护方法及装置
CN106919656A (zh) 自定义压缩文件的生成方法和装置
CN109002710B (zh) 一种检测方法、装置及计算机可读存储介质
CN108664796B (zh) 一种so文件保护方法及装置
CN111198692A (zh) 一种安装包的生成方法和装置
CN111460436B (zh) 一种基于区块链的非结构化数据操作方法和系统
Heeger et al. ExHide: Hiding data within the ExFAT file system
Aycock et al. Permutation steganography in FAT filesystems

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170704