CN101561762A - 软件安装程序打包系统及方法 - Google Patents

软件安装程序打包系统及方法 Download PDF

Info

Publication number
CN101561762A
CN101561762A CNA2008103012147A CN200810301214A CN101561762A CN 101561762 A CN101561762 A CN 101561762A CN A2008103012147 A CNA2008103012147 A CN A2008103012147A CN 200810301214 A CN200810301214 A CN 200810301214A CN 101561762 A CN101561762 A CN 101561762A
Authority
CN
China
Prior art keywords
software installation
installation procedure
file
installation
software
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
CNA2008103012147A
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.)
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry Co Ltd
Original Assignee
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry 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 Hongfujin Precision Industry Shenzhen Co Ltd, Hon Hai Precision Industry Co Ltd filed Critical Hongfujin Precision Industry Shenzhen Co Ltd
Priority to CNA2008103012147A priority Critical patent/CN101561762A/zh
Publication of CN101561762A publication Critical patent/CN101561762A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种软件安装程序打包系统,应用于计算机,该系统包括:读取模块、设置模块、文件合并模块及解析模块。本发明还提供一种软件安装程序打包方法。利用本发明,可以将软件安装程序的所有文件、目录结构及相关信息的二进制代码组合成一个可以单独完成整个软件安装的可执行文件,提高软件安装的安全性,并且支持用户自定义安装界面。

Description

软件安装程序打包系统及方法
技术领域
本发明涉及一种软件安装程序打包系统及方法。
背景技术
随着软件技术的发展,各种软件安装程序制作工具及打包工具层出不穷,这些工具可以采用不同的实现语言、不同的压缩方式,适用于不同平台,甚至是跨平台,并且大都可以设置常规安装选项,定制部分安装界面,在安装流程上更是各式各样。
相同之处在于,这些软件安装程序制作工具及打包工具基本上都采用文件压缩技术进行打包,制作出来的安装程序在安装过程中,首先进行序列号验证软件的合法性,验证通过则进行解压操作,将文件解压到安装目录,最后进行写注册表操作或创建快捷方式。然而,利用当前的这些软件安装程序制作工具及打包工具制作出来的软件安装程序在安装过程中,经常会被一些黑客跳过序列号验证步骤直接进入解压安装,产生正版软件程序的破解版本,直接影响到正版软件拥有者的合法权益。此外,当前的软件安装程序制作工具及打包工具制作出来的安装程序提供的安装界面较为单一,大多不允许软件开发者进行修改或自定义操作,显得过于呆板。
发明内容
鉴于以上内容,有必要提供一种软件安装程序打包系统,可以提高软件安装程序的安全性并且支持用户自定义安装界面。
本发明提供一种软件安装程序打包系统,应用于计算机,该系统包括:读取模块,用于读取用户从数据库中选择的需要打包的软件安装程序及安装界面模板;设置模块,用于供用户设置安装界面模板及安装规则;文件合并模块,用于合并该主目录下的所有文件得到一个新文件,在该新文件中记录合并前所有文件数据、每段文件数据的起始标记和结束标记、合并前的文件列表及文件目录结构信息;及解析模块,用于解析所述合并后的得到的新文件,生成文件数据、文件列表及文件目录结构信息对应的二进制代码,及用于解析安装界面模板、软件安装程序的注册表信息、快捷方式信息及安装规则以生成对应的二进制代码,并将所有二进制代码写入所述可执行文件。
本发明还提供一种软件安装程序打包方法,该方法包括以下步骤:(A)读取用户选取的安装界面;(B)设置安装规则;(C)读取需打包的软件安装程序所在的主目录;(D)合并该主目录下的所有文件得到一个新文件,在该新文件中记录合并前所有文件数据、每段文件数据的起始标记和结束标记、合并前的文件列表及文件目录结构信息;(E)解析该新文件,生成该新文件中记录的数据、文件目录结构信息及文件列表信息的二进制代码,并将所述二进制代码写入可执行文件;(F)从数据库读取所述需打包的软件安装程序的注册表信息及快捷方式信息;(G)生成所述注册表信息及快捷方式信息对应的二进制代码并写入可执行文件;及(H)生成所述安装界面及安装规则对应的二进制代码并写入可执行文件。
相较于现有技术,本发明提供的软件安装程序打包系统及方法将软件安装程序的所有文件、目录结构及相关信息的二进制代码组合成一个可以单独完成整个软件安装的可执行文件,可以提高软件安装的安全性,并且支持用户自定义安装界面。
附图说明
图1是本发明软件安装程序打包系统较佳实施例的硬件架构图。
图2是本发明软件安装程序打包方法较佳实施例的流程图。
图3是执行图2的流程图生成的可执行文件中储存的二进制代码对应的信息示意图。
图4是利用本发明软件安装程序打包系统及方法生成的可执行文件的应用流程图。
具体实施方式
如图1所示,是本发明软件安装程序打包系统较佳实施例的硬件架构图。该软件安装程序打包系统20应用于一台计算机1。所述计算机1与一个输入装置2及显示装置3相连接。该计算机1还包括一个数据库10。于其它实施例中,数据库10也可以位于计算机1之外,例如,数据库10可以为与计算机1连接的服务器。
显示装置3可为任意显示装置,其为用户提供使用界面,用户通过输入装置2在显示装置3显示的操作界面为软件安装程序打包系统20设置参数、输入操作命令。输入装置2可以为键盘或鼠标。
所述数据库10用于储存需要打包的软件安装程序、需要打包的软件安装程序对应的注册表信息及快捷方式信息、可供用户选择的安装界面模板及用户自定义的安装界面模板。
所述软件安装程序打包系统20包括读取模块210、设置模块220、文件合并模块230及解析模块240。
读取模块210用于从数据库10中读取需要打包的软件安装程序及需要的安装界面模板。在本实施例中,所述安装界面模板可以为现有的安装界面模板或用户自定义的安装界面模板。此外,读取模块210还用于从数据库10中读取需要打包的软件安装程序的注册表信息及快捷方式信息。
设置模块220用于供用户根据需要设置安装界面模板、软件安装程序的加密/解密算法及安装规则。在本实施例中,所述加密/解密算法利用的是公钥/私钥加/解密技术,一个公钥对应于一个私钥,利用公钥加密,利用对应的私钥解密,在其它实施例中,所述加密算法还可以是其它类型的加/解密算法。所述安装规则用于定义软件安装程序的具体安装步骤及安装要求。
文件合并模块230用于合并所述软件安装程序所在主目录下的所有文件为一个文件,在该合并得到的文件中记录合并前所有文件数据、每段文件数据的起始标记和结束标记、合并前的文件列表及文件目录结构信息。
解析模块240用于解析所述合并后的得到的文件,生成文件数据、文件列表及文件目录结构信息对应的二进制代码并将二进制代码写入可执行文件30。此外,解析模块240还用于解析安装界面模板,解析软件安装程序的注册表信息、快捷方式信息及安装规则以生成对应的二进制代码并将二进制代码写入可执行文件30。
加/解密模块250用于根据设置的加密/解密算法对可执行文件30进行加密/解密。
如图2所示,是本发明软件安装程序打包方法较佳实施例的流程图。
在步骤S201,读取模块210读取用户从数据库10选择的安装界面模板或用户通过设置模块220设置的安装界面模板。
在步骤S202,用户通过设置模块220设置需要打包的软件安装程序的加/解密算法。根据需要,用户也可以不设置加/解密算法,跳过步骤S202直接进入步骤S203。
在步骤S203,用户通过设置模块220设置安装规则。
在步骤S204,读取模块210读取用户选择的需要打包的软件安装程序所在的主目录,例如C:\Tencent。
在步骤S205,文件合并模块230合并所述软件安装程序所在主目录下的所有文件为一个文件,在该合并得到的文件中记录合并前所有文件数据、每段文件数据的起始标记和结束标记、合并前的文件列表及文件目录结构信息。例如,主目录C:\QQ下有多个子目录C:\Tencent\folder1,C:\Tencent\folder2,…,C:\Tencent\folderN(N为自然数),每个子目录下储存有文件或进一步包括下级子目录,则文件合并模块230合并主目录C:\Tencent下的所有文件为一个文件C:\Merge,将合并前主目录C:\Tencent下的所有文件中的数据写入C:\Merge,在C:\Merge中设置合并前每个文件数据的起始标记和结束标记,并在C:\Merge文件中记录合并前的文件列表及文件目录结构信息。
在步骤S206,解析模块240解析合并后的得到的文件,生成所有文件数据、文件列表及文件目录结构信息对应的二进制代码并写入一个可执行文件30。例如,解析模块240解析文件C:\Merge,生成文件C:\Merge中记录的数据、文件列表及文件目录结构信息对应的二进制代码,并将二进制代码写入所述可执行文件30,如一个名为C:\QQ.EXE的可执行文件。
在步骤S207,读取模块210读取所述需要打包的软件安装程序的注册表信息及快捷方式信息,解析模块240生成该注册表信息及快捷方式信息对应的二进制代码,并将二进制代码写入所述可执行文件30,如C:\QQ.EXE。
在步骤S208,解析模块240生成安装界面及安装规则对应的二进制代码并将该二进制代码写入所述可执行文件30,如C:\QQ.EXE。
在步骤S209,加密模块250用于根据设置的加密算法对可执行文件30进行加密。
如图3所示,是执行图2的流程图生成的可执行文件30中储存的二进制代码对应的信息示意图。
如图4所示,是利用本发明软件安装程序打包系统及方法生成的可执行文件30的应用流程图。在步骤S400,用户利用相应的私钥对加密后的可执行文件30进行解密。在步骤S401,计算机1从解密后的可执行文件30中读取安装规则信息并通过显示装置3显示。在步骤S402,计算机1加载安装界面。在步骤S403,用户设置安装目录,即设置软件安装程序在计算机上的安装位置。在步骤S404,计算机1从可执行文件30中读取目录结构信息。在步骤S405,计算机1根据所述目录结构信息生成软件安装程序的文件目录结构。在步骤S406,计算机1根据可执行文件30中的文件列表信息及可执行文件30中的标记信息从可执行文件30依次读取文件数据并将文件数据写入所述文件目录结构中相应的文件。在步骤S407,计算机1从可执行文件30中读取软件安装程序的注册表信息并写入计算机1的注册表。在步骤S408,计算机1从可执行文件30中读取软件安装程序的快捷方式信息、生成软件安装程序的快捷方式。

Claims (8)

1.一种软件安装程序打包方法,其特征在于,该方法包括以下步骤:
从数据库中读取一种安装界面;
设置安装规则;
读取需打包的软件安装程序所在的主目录;
合并该主目录下的所有文件得到一个新文件,在该新文件中记录合并前所有文件数据、每段文件数据的起始标记和结束标记、合并前的文件列表及文件目录结构信息;
解析该新文件,生成该新文件中记录的数据、文件目录结构信息及文件列表信息的二进制代码,并将所述二进制代码写入可执行文件;
从数据库读取所述需打包的软件安装程序的注册表信息及快捷方式信息;
生成所述注册表信息及快捷方式信息对应的二进制代码并写入可执行文件;及
生成所述安装界面及安装规则对应的二进制代码并写入可执行文件。
2.如权利要求1所述的软件安装程序打包方法,其特征在于,其中所述安装界面为用户自定义的安装界面。
3.如权利要求1所述的软件安装程序打包方法,其特征在于,在步骤读取一种安装界面后还包括一步骤:设置软件安装程序的加/解密算法。
4.如权利要求3所述的软件安装程序打包方法,其特征在于,在步骤生成所述安装界面及安装规则对应的二进制代码并写入可执行文件后还包括一步骤:利用所述加密算法对所述可执行文件进行加密。
5.如权利要求1至4任意一项所述的软件安装程序打包方法,其特征在于,所述的安装规则为软件安装程序的具体安装步骤及安装要求。
6.一种软件安装程序打包系统,应用于计算机,其特征在于,该系统包括:
读取模块,用于从数据库中读取需要打包的软件安装程序及一种安装界面模板,及从数据库读取需打包的软件安装程序的注册表信息及快捷方式信息;
设置模块,用于供用户设置安装界面模板及安装规则;
文件合并模块,用于合并该主目录下的所有文件得到一个新文件,在该新文件中记录合并前所有文件数据、每段文件数据的起始标记和结束标记、合并前的文件列表及文件目录结构信息;及
解析模块,用于解析所述合并后的得到的新文件,生成文件数据、文件列表及文件目录结构信息对应的二进制代码,及用于解析安装界面模板、软件安装程序的注册表信息、快捷方式信息及安装规则以生成对应的二进制代码,并将所有二进制代码写入所述可执行文件。
7.如权利要求6所述的软件安装程序打包系统,其特征在于,所述设置模块还用于设置所述软件安装程序的加/解密算法。
8.如权利要求7所述的软件安装程序打包系统,其特征在于,该系统还包括加/解密模块,用于根据设置的加/解密算法对所述软件安装程序的可执行文件进行加/解密。
CNA2008103012147A 2008-04-18 2008-04-18 软件安装程序打包系统及方法 Pending CN101561762A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2008103012147A CN101561762A (zh) 2008-04-18 2008-04-18 软件安装程序打包系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2008103012147A CN101561762A (zh) 2008-04-18 2008-04-18 软件安装程序打包系统及方法

Publications (1)

Publication Number Publication Date
CN101561762A true CN101561762A (zh) 2009-10-21

Family

ID=41220575

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008103012147A Pending CN101561762A (zh) 2008-04-18 2008-04-18 软件安装程序打包系统及方法

Country Status (1)

Country Link
CN (1) CN101561762A (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101984410A (zh) * 2010-11-12 2011-03-09 中兴通讯股份有限公司 软件安装包的生成、卸载方法及装置
CN102207866A (zh) * 2011-05-25 2011-10-05 盛乐信息技术(上海)有限公司 基于WebOS的应用程序开发、发布、安装、运行系统及方法
CN102314366A (zh) * 2011-09-08 2012-01-11 福州博远无线网络科技有限公司 npk打包工具及制作并安装Android程序NPK格式安装包的方法
CN102314365A (zh) * 2011-09-08 2012-01-11 北京新媒传信科技有限公司 一种安装包制作方法和工具
WO2012019395A1 (zh) * 2010-08-11 2012-02-16 中兴通讯股份有限公司 版本升级软件包的打包方法及装置
CN102768624A (zh) * 2011-05-04 2012-11-07 北京积木恒硕科技有限公司 一种基于Web标准构建终端操作系统的方法
CN102799444A (zh) * 2011-05-27 2012-11-28 华为软件技术有限公司 跨平台打包程序的方法及装置
CN102902531A (zh) * 2012-09-11 2013-01-30 Tcl集团股份有限公司 一种安卓应用程序的定制、生成方法及其装置
CN102929648A (zh) * 2011-08-11 2013-02-13 魏鹏 一种软件安装程序运行的方法和装置
CN102955689A (zh) * 2011-08-23 2013-03-06 腾讯科技(深圳)有限公司 软件安装包的制作方法和软件安装包装置
CN104657131A (zh) * 2015-01-15 2015-05-27 北京奥普维尔科技有限公司 一种软件安装包的生成系统和方法
CN104679523A (zh) * 2015-03-17 2015-06-03 浪潮集团有限公司 一种基于国产平台的图形化打包软件实现方法
CN105306443A (zh) * 2015-09-18 2016-02-03 四川效率源信息安全技术股份有限公司 基于完全离线的阅后即焚方法
CN105787299A (zh) * 2015-12-22 2016-07-20 中软信息系统工程有限公司 一种具有安全标识的cpk软件包制作方法
CN102955689B (zh) * 2011-08-23 2016-12-14 腾讯科技(深圳)有限公司 软件安装包的制作方法和软件安装包装置
CN107077351A (zh) * 2014-10-27 2017-08-18 微软技术许可有限责任公司 为软件系统准备安装和更新
CN108845805A (zh) * 2012-06-29 2018-11-20 吴东辉 一种软件连接的方法
CN110958289A (zh) * 2018-09-27 2020-04-03 深圳兆日科技股份有限公司 第三方应用接入方法、装置及计算机可读存储介质
CN111026375A (zh) * 2019-10-17 2020-04-17 北京达佳互联信息技术有限公司 项目打包方法、装置及设备
CN111722872A (zh) * 2020-06-21 2020-09-29 苏州浪潮智能科技有限公司 一种可复用软件打包方法和装置

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8726265B2 (en) 2010-08-11 2014-05-13 Zte Corporation Apparatus and method for packing a software package of version upgrade
WO2012019395A1 (zh) * 2010-08-11 2012-02-16 中兴通讯股份有限公司 版本升级软件包的打包方法及装置
WO2012062063A1 (zh) * 2010-11-12 2012-05-18 中兴通讯股份有限公司 软件安装包的生成、卸载方法及装置
CN101984410A (zh) * 2010-11-12 2011-03-09 中兴通讯股份有限公司 软件安装包的生成、卸载方法及装置
CN101984410B (zh) * 2010-11-12 2015-06-10 中兴通讯股份有限公司 软件安装包的生成、卸载方法及装置
CN102768624A (zh) * 2011-05-04 2012-11-07 北京积木恒硕科技有限公司 一种基于Web标准构建终端操作系统的方法
CN102207866A (zh) * 2011-05-25 2011-10-05 盛乐信息技术(上海)有限公司 基于WebOS的应用程序开发、发布、安装、运行系统及方法
CN102207866B (zh) * 2011-05-25 2014-07-09 上海盛轩网络科技有限公司 基于WebOS的应用程序开发、发布、安装、运行系统及方法
CN102799444B (zh) * 2011-05-27 2016-06-08 华为软件技术有限公司 跨平台打包程序的方法及装置
CN102799444A (zh) * 2011-05-27 2012-11-28 华为软件技术有限公司 跨平台打包程序的方法及装置
CN102929648A (zh) * 2011-08-11 2013-02-13 魏鹏 一种软件安装程序运行的方法和装置
CN102955689A (zh) * 2011-08-23 2013-03-06 腾讯科技(深圳)有限公司 软件安装包的制作方法和软件安装包装置
CN102955689B (zh) * 2011-08-23 2016-12-14 腾讯科技(深圳)有限公司 软件安装包的制作方法和软件安装包装置
CN102314365A (zh) * 2011-09-08 2012-01-11 北京新媒传信科技有限公司 一种安装包制作方法和工具
CN102314366A (zh) * 2011-09-08 2012-01-11 福州博远无线网络科技有限公司 npk打包工具及制作并安装Android程序NPK格式安装包的方法
CN108845805A (zh) * 2012-06-29 2018-11-20 吴东辉 一种软件连接的方法
CN108845805B (zh) * 2012-06-29 2021-09-14 江苏特力威信息系统有限公司 一种软件连接的方法
CN102902531A (zh) * 2012-09-11 2013-01-30 Tcl集团股份有限公司 一种安卓应用程序的定制、生成方法及其装置
CN107077351A (zh) * 2014-10-27 2017-08-18 微软技术许可有限责任公司 为软件系统准备安装和更新
CN104657131B (zh) * 2015-01-15 2019-03-15 北京奥普维尔科技有限公司 一种软件安装包的生成系统和方法
CN104657131A (zh) * 2015-01-15 2015-05-27 北京奥普维尔科技有限公司 一种软件安装包的生成系统和方法
CN104679523A (zh) * 2015-03-17 2015-06-03 浪潮集团有限公司 一种基于国产平台的图形化打包软件实现方法
CN105306443A (zh) * 2015-09-18 2016-02-03 四川效率源信息安全技术股份有限公司 基于完全离线的阅后即焚方法
CN105787299A (zh) * 2015-12-22 2016-07-20 中软信息系统工程有限公司 一种具有安全标识的cpk软件包制作方法
CN105787299B (zh) * 2015-12-22 2020-06-19 中软信息系统工程有限公司 一种具有安全标识的cpk软件包制作方法
CN110958289A (zh) * 2018-09-27 2020-04-03 深圳兆日科技股份有限公司 第三方应用接入方法、装置及计算机可读存储介质
CN111026375A (zh) * 2019-10-17 2020-04-17 北京达佳互联信息技术有限公司 项目打包方法、装置及设备
CN111722872A (zh) * 2020-06-21 2020-09-29 苏州浪潮智能科技有限公司 一种可复用软件打包方法和装置
CN111722872B (zh) * 2020-06-21 2021-08-13 苏州浪潮智能科技有限公司 一种可复用软件打包方法和装置

Similar Documents

Publication Publication Date Title
CN101561762A (zh) 软件安装程序打包系统及方法
CN109074462B (zh) 使用分布式散列表和点对点分布式分类账验证数字资产所有权的方法和系统
JP5281074B2 (ja) 情報セキュリティ装置および情報セキュリティシステム
CN1936780B (zh) 信息处理装置、验证处理装置及其控制方法
CN104932902B (zh) 一种生成apk文件的方法及终端
JP4764639B2 (ja) ファイルの暗号化・復号化プログラム、プログラム格納媒体
WO2021218331A1 (zh) 离线软件授权方法、装置、设备及存储介质
CN111475824B (zh) 数据访问方法、装置、设备和存储介质
KR102433011B1 (ko) Apk 파일 보호 방법, 이를 수행하는 apk 파일 보호 시스템, 및 이를 저장하는 기록매체
JP4093723B2 (ja) 構造を持った文書に対する電子署名方法及び装置
CN101436141A (zh) 基于数字签名的固件升级、固件封装方法与装置
KR19980081644A (ko) 정보처리장치, 방법 및 기록매체
US8284942B2 (en) Persisting private/public key pairs in password-encrypted files for transportation to local cryptographic store
CN104318135A (zh) 一种基于可信执行环境的Java代码安全动态载入方法
US20150121073A1 (en) Software fingerprinting
CN114547558B (zh) 授权方法、授权控制方法及装置、设备和介质
US8392723B2 (en) Information processing apparatus and computer readable medium for preventing unauthorized operation of a program
CN103853943A (zh) 程序保护方法及装置
Park et al. A methodology for the decryption of encrypted smartphone backup data on android platform: A case study on the latest samsung smartphone backup system
CN102799815A (zh) 一种安全加载程序库的方法和装置
JP2006350850A (ja) ソフトウェア・パッケージを再構成する方法、装置、プログラム
CN112307503B (zh) 签章管理方法、装置和电子设备
JP5056995B1 (ja) 改竄検知が可能なアプリケーションプログラムの配布実行方法
CN112528309A (zh) 一种数据存储加密和解密的方法及其装置
CN111104693A (zh) 一种Android平台软件数据破解方法、终端设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20091021