一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

应用程序安装包的构建方法、安装方法及装置与流程

2021-12-13 00:59:00 来源:中国专利 TAG:


1.本发明涉及计算机相关领域。更具体地说,本发明涉及一种应用程序安装包的构建方法、安装方法及装置。


背景技术:

2.软件安装包,是包含要部署到目标计算机上的文件的集合,其中包括软件安装的所有文件。运行这个安装包里的安装程序,可以将此软件的所有文件释放到硬盘上,完成修改注册表、修改系统设置、创建快捷方式等工作。
3.随着安装成为软件使用过程中最初且常见的步骤,为避免重复投入人力设计安装程序、加速软件的发布与上市、并减少使用者学习如何安装的麻烦,因此定型化的安装程序是必要的。但是目前定型化的安装程序不具备检查安装包里的文件被篡改的功能。软件安装包被恶意篡改了说明软件的功能被第三方修改了,软件中可能会被第三方植入一些广告或者病毒,在用户打开或者使用过程中会看到一些广告,情况严重的会泄露自己的身份信息,系统中毒等。虽然,安装包的有些文件可以通过校验数字签名来验证文件是否被篡改,但是大多数文件并不支持数字签名,而且数字签名需要购买专门的签名软件,验证签名也需要专业的校验技术,使用不便。因此,亟需设计一种能够一定程度克服上述缺陷的技术方案。


技术实现要素:

4.本发明的一个目的是提供一种应用程序安装包的构建方法、安装方法及装置,能够识别软件安装包中任何文件被纂改的情况,降低软件被盗版、被植入广告或病毒或勒索软件的可能性。
5.为了实现本发明的这些目的和其它优点,根据本发明的一个方面,本发明提供了应用程序安装包的构建方法,包括:计算待打包文件夹中各文件的哈希值,将各文件的文件名和各文件的哈希值关联,并保存在第一文件中,对所述第一文件的内容加密,并写入第二文件;将所述第二文件添加入所述待打包文件夹。
6.进一步地,扫描所述待打包文件夹,生成所述待打包文件夹的文件列表,依次计算所述文件列表上各文件的哈希值。
7.进一步地,将所述第二文件添加入所述待打包文件夹后,将所述待打包文件夹打包为自解压程序,并指定解压后要运行的安装程序。
8.进一步地,还包括:对所述自解压程序进行数字签名。
9.根据本发明的另一个方面,本发明提供了应用程序安装包的安装方法,包括:检查安装文件夹中是否存在所述第二文件,若存在,则解密所述第二文件,得到所述第一文件的内容,所述第一文件包含有所述安装文件中各文件的文件名和各文件的哈希值;计算所述安装文件夹中各文件的哈希值,并分别与所述第一文件中记录的各文件的哈希值比较,若相同,则执行安装。
10.进一步地,若不存在所述第二文件,则不执行安装。
11.进一步地,若与所述第一文件中记录的各文件的哈希值不相同,则不执行安装。
12.进一步地,还包括:运行自解压程序,得到所述安装文件夹,所述自解压程序由所述安装文件夹打包得到。
13.根据本发明的又一个方面,本发明提供了应用程序安装包的构建装置,包括:处理器;存储器,其存储有可执行指令;其中,所述处理器被配置为执行所述可执行指令,以执行所述的应用程序安装包的构建方法。
14.根据本发明的又一个方面,本发明提供了应用程序安装包的安装装置,包括:处理器;存储器,其存储有可执行指令;其中,所述处理器被配置为执行所述可执行指令,以执行所述的应用程序安装包的安装方法。
15.本发明至少包括以下有益效果:
16.本发明在构建应用程序安装包时,在待打包文件夹加入第二文件,第二文件由第一文件的内容加密得到,第一文件包含有待打包文件夹中各文件的文件名和各文件的哈希值;在安装应用程序安装包时,需要首先检验第二文件是否存在,然后解密第二文件,检验安装文件夹内的文件是否与第一文件的记载一致,经过两次检验,能够识别软件安装包中任何文件被纂改的情况,降低软件被盗版、被植入广告或病毒或勒索软件的可能性。
17.本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
18.图1为本发明一个实施例中应用程序安装包的构建方法;
19.图2为本发明一个实施例中应用程序安装包的安装方法。
具体实施方式
20.下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
21.应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不排除一个或多个其它元件或其组合的存在或添加。
22.本技术的实施例提供了应用程序安装包的构建方法,包括:1)、计算待打包文件夹中各文件的哈希值,将各文件的文件名和各文件的哈希值关联,并保存在第一文件中,对所述第一文件的内容加密,并写入第二文件;2)、将所述第二文件添加入所述待打包文件夹。
23.在步骤1)中,待打包文件夹内包括安装程序及其它必要文件,对各文件分别使用哈希算法,可以选自任意一种哈希算法,可选为sha1

256,将各文件的文件名和各文件的哈希值关联分别作为一条记录,存入第一文件,将第一文件的内容加密,写入第二文件,加密方法可选用任意合适的文件加密算法,如aes256。在步骤2)中,将第二文件加入到待打包文件夹中,以待形成应用程序安装包。在安装安装包时,首先检测是否存在第二文件,若不存在,终止安装,若存在,则对第二文件进行解密,得到第一文件的内容,根据其中的文件名,依次利用相同的哈希算法计算哈希值,并与第一文件中记录的哈希值分别比对,若不一致,终止安装,若一致,则继续执行安装。可以看出,本实施例预先在待打包文件夹中放置第二
文件,使得安装包在安装前可经过两次检验,能够识别软件安装包中任何文件被纂改的情况,降低软件被盗版、被植入广告或病毒或勒索软件的可能性。
24.在另一些实施例中,扫描所述待打包文件夹,生成所述待打包文件夹的文件列表,依次计算所述文件列表上各文件的哈希值,根据文件列表获取各文件的文件名,并依次执行哈希算法,效率更高。
25.在另一些实施例中,将所述第二文件添加入所述待打包文件夹后,将所述待打包文件夹打包为自解压程序,并指定解压后要运行的安装程序,以方便用户安装。
26.在另一些实施例中,还包括:对所述自解压程序进行数字签名,使得使用自解压程序需要验证,提升自解压程序被篡改的难度。
27.在另一些实施例中,安装包构建程序扫描要打包的文件夹,得到所有文件列表;安装包构建程序对文件列表里所有文件内容计算哈希值(sha1

256)将文件名和哈希值保存在一个文件a里。每个文件为一条记录;安装包构建程序将对文件a的内容进行加密,并将加密后的内容写入文件b;安装包构建程序将文件b放入要打包的文件夹里;安装包构建程序打包文件夹成自解压程序,并指定解压后要运行的安装程序;对生成的自解压程序进行数字签名;自此安装包构建程序全部工作完成。
28.本技术的实施例还提供了应用程序安装包的安装方法,包括:a)、检查安装文件夹中是否存在所述第二文件,若存在,则解密所述第二文件,得到所述第一文件的内容,所述第一文件包含有所述安装文件中各文件的文件名和各文件的哈希值;b)、计算所述安装文件夹中各文件的哈希值,并分别与所述第一文件中记录的各文件的哈希值比较,若相同,则执行安装。
29.本实施例提供了安装得到的应用程序安装包的方法,在安装之前进行检验,可在安装程序内嵌入检验流程和解密算法,如aes256解密算法,安装文件夹由应用程序安装包解压得到,首先检验第二文件是否存在于安装文件夹内,若存在,则安装程序对第二文件进行解密,得到第一文件的内容,根据其中的文件名,依次利用相同的哈希算法计算哈希值,并与第一文件中记录的哈希值分别比对,若一致,则继续执行安装。本实施例在进行安装包在安装前可经过两次检验,能够识别软件安装包中任何文件被纂改的情况,降低软件被盗版、被植入广告或病毒或勒索软件的可能性。
30.在另一些实施例中,若不存在所述第二文件,则不执行安装,可通过预定文件名比对是否存在第二文件,当不存在第二文件时,表明安装包已被篡改。
31.在另一些实施例中,若与所述第一文件中记录的各文件的哈希值不相同,则不执行安装,若哈希值不同,则表明安装包内的某个文件被篡改。
32.在另一些实施例中,还包括:运行自解压程序,得到所述安装文件夹,所述自解压程序由所述安装文件夹打包得到,自解压程序方便用户安装。
33.在另一些实施例中,包括:运行自解压程序完成自解压,并启动解压后的安装程序;安装程序检查文件b是否存在;如果不存在,则报错退出;安装程序解密文件b,得到要验证文件列表和对应的哈希值;对文件列表里的所有条目:根据文件名得到解压后的完整路径;根据完整路径计算文件内容的哈希值;将计算得到的哈希值和该条目里的哈希值进行比较,如果不相同,则报错退出;安装程序将要安装的文件安装到目标位置;自此安装程序全部工作完成。
34.本技术的实施例还提供了应用程序安装包的构建装置,包括:处理器;存储器,其存储有可执行指令;其中,所述处理器被配置为执行所述可执行指令,以执行所述的应用程序安装包的构建方法。处理器、存储器可采用现有技术,存储器内存储安装包构建程序,安装包构建程序执行应用程序安装包构建方法。
35.本技术的实施例还提供了应用程序安装包的安装装置,包括:处理器;存储器,其存储有可执行指令;其中,所述处理器被配置为执行所述可执行指令,以执行所述的应用程序安装包的安装方法。处理器、存储器可采用现有技术,存储器内存储安装包运行程序,安装包构建程序执行应用程序安装包安装方法。
36.以下以一个具体实施例具体说明,如图1和图2所示。
37.1、将要打包的文件(文件1.txt,文件2.exe)和安装程序installer.exe放入文件夹d:\test
38.2、运行安装包构建程序,选择要打包的文件夹d:\test和解压后的安装程序installer.exe后点“打包”;
39.3、安装包构建程序扫描要打包的文件夹,得到所有文件列表;(s1)
40.4、安装包构建程序计算d:\test里的文件1.txt,文件2.exe内容的哈希值(sha1

256),得到哈希值1和哈希值2。并将(文件1.txt,哈希值1)和(文件2.exe,哈希值2)两条记录保存在文件a里;(s2)
41.5、安装包构建程序将对文件a(对应第一文件)的内容进行加密,并将加密后的内容写入文件b;(s3)
42.6、安装包构建程序将文件b(对应第二文件)放入要打包的文件夹d:\test里;(s4)
43.7、安装包构建程序打包d:\test成自解压程序成setup.exe,并指定解压后要运行的安装程序installer.exe;(s5)
44.8、对生成的自解压程序setup.exe进行数字签名;(s6,可选步骤)
45.自此安装包构建程序全部工作完成。
46.9、运行setup.exe完成自解压,并启动解压后的安装程序installer.exe;(s7)
47.10、installer.exe检查文件b是否存在;如果不存在,则报错退出;(s8)
48.11、installer.exe解密文件b,得到要验证文件列表和对应的哈希值;(s9)
49.12、installer.exe对文件列表里的所有条目:(s10)
50.根据文件名得到解压后的完整路径;(s101)
51.根据完整路径计算文件内容的哈希值;(s102)
52.将计算得到的哈希值和该条目里的哈希值进行比较,如果不相同,则报错退出;(s103)
53.安装程序将要安装的文件安装到目标位置;(s104)
54.自此安装程序全部工作完成。
55.这里说明的设备数量和处理规模是用来简化本发明的说明的。对本发明应用程序安装包的构建方法的应用、修改和变化对本领域的技术人员来说是显而易见的。
56.尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限
于特定的细节和这里示出与描述的图例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献