CN116243939A - 软件的安装方法、装置、电子设备及存储介质 - Google Patents
软件的安装方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116243939A CN116243939A CN202310528968.0A CN202310528968A CN116243939A CN 116243939 A CN116243939 A CN 116243939A CN 202310528968 A CN202310528968 A CN 202310528968A CN 116243939 A CN116243939 A CN 116243939A
- Authority
- CN
- China
- Prior art keywords
- software
- registration
- program
- installation
- data packet
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件的安装方法、软件的安装装置、电子设备及存储介质,属于控制系统技术领域。本申请通过在触发目标软件安装或者升级进程时,启动装载程序获取预存的加密数据包;基于预设的解密程序对所述加密数据包进行解码,得到待安装程序数据;基于所述待安装程序数据执行目标软件安装或者升级进程。本申请实现了减少了产品的软件程序泄露的效果。
Description
技术领域
本发明涉及控制系统技术领域,尤其涉及一种软件的安装方法、软件的安装装置、电子设备及存储介质。
背景技术
随着电子产品行业的发展,软件程序越来越被重视。目前,在软件程序的安装过程中,一般将软件程序外发给成品工厂,成品工厂通过启动装载(BootLoader)直接将电池管理软件安装在闪动存(flash)中。这种软件程序的安装方式容易导致产品的软件程序泄露。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种软件的安装方法、软件的安装装置、电子设备及存储介质,旨在减少产品的软件程序泄露。
为实现上述目的,本发明提供一种软件的安装方法,所述软件的安装方法包括以下步骤:
在触发目标软件安装或者升级进程时,启动装载程序获取预存的加密数据包;
基于预设的解密程序对所述加密数据包进行解码,得到待安装程序数据;
基于所述待安装程序数据执行目标软件安装或者升级进程。
可选地,所述启动装载程序获取预存的加密数据包的步骤之前,还包括:
在触发目标软件安装或者升级进程时,显示注册码获取界面;
通过所述注册码获取界面接收到注册码,确定所述注册码的校验结果;
在所述校验结果为校验通过时,执行所述启动装载程序获取预存的加密数据包。
可选地,所述软件的安装方法,还包括:
在检测到所述加密数据包或所述待安装程序数据的读取动作时,确定所述读取动作的触发源;
当所述触发源为所述启动装载程序之外的其它程序时,删除所述加密数据包及对应的所述待安装程序数据。
可选地,所述确定所述注册码的校验结果的步骤包括:
根据所述注册码确定所述注册码对应的注册软件信息;
当所述待安装程序数据的安装软件信息与所述注册软件信息匹配时,确定所述注册码的校验结果为校验通过。
可选地,所述基于预设的解密程序对所述加密数据包进行解码,得到待安装程序数据的步骤之后,还包括:
根据所述注册码确定注册设备的注册设备信息;
当安装所述待安装程序的目标设备的目标设备信息与所述注册设备信息匹配时,执行所述待安装程序数据执行所述目标软件安装或者升级进程。
可选地,所述显示注册码获取界面的步骤包括:
检测安装所述目标软件的设备的电池当前的当前充放次数,获取所述电池的电芯标识号,并确定所述目标设备信息为所述当前充放次数和所述电芯标识号;
显示根据所述当前充放次数和所述电芯标识号确定的安装标识号;
所述根据所述注册码确定注册设备的注册设备信息的步骤包括:
根据所述注册码确定注册充放次数和注册电芯标识号,确定所述注册设备信息为所述注册充放次数和注册电芯标识号;
其中,所述注册码根据所述安装标识号确定。
可选地,所述启动装载程序获取预存的加密数据包的步骤之前,还包括:
在触发目标软件安装或者升级进程时,获取安装所述目标软件的设备的电池当前时间之前的每个时刻的电量变化速度;
当不存在所述电量变化速度大于预设电量变化速度时,执行所述启动装载程序获取预存的加密数据包。
此外,为实现上述目的,本发明还提供一种软件的安装装置所述软件的安装装置包括:
获取模块,用于在触发目标软件安装或者升级进程时,启动装载程序获取预存的加密数据包;
解码模块,用于基于预设的解密程序对所述加密数据包进行解码,得到待安装程序数据;
装载模块,用于基于所述待安装程序数据执行目标软件安装或者升级进程。
此外,为实现上述目的,本发明还提供一种电子设备,所述电子设备包括:控制组件、存储器、处理器及存储在所述存储器上并可在所述处理器上运行软件的安装程序,所述软件的安装程序配置为实现上述任一项所述的软件的安装方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有软件的安装程序,所述软件的安装程序被处理器执行时实现如上述任一项所述的软件的安装方法的步骤。
本发明提出一种软件的安装方法,该方法包括以下步骤:在触发目标软件安装或者升级进程时,启动装载程序获取预存的加密数据包;基于预设的解密程序对所述加密数据包进行解码,得到待安装程序数据;基于所述待安装程序数据执行目标软件安装或者升级进程。相比目前的软件程序的安装方式,本申请通过获取预存的加密数据包,避免直接获取待安装程序数据导致的将源代码泄露。并基于预设的解密程序对加密数据包进行解码得到的数据,使得只有在预设有解码程序的硬件上才能得到所述待安装程序数据,即使加密数据包被获取,也不容易在非法的设备上安装,减少了产品的软件程序泄露。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
图2为本发明软件的安装方法的第一实施例的流程示意图;
图3为本发明软件的安装方法的第二实施例的流程示意图;
图4为本发明软件的安装方法的第六实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的电子设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、交互设备1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。交互设备1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选交互设备1003还可以通过包括标准的有线接口、无线接口与通信总线连接。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-VolatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及目标软件的安装程序。
在图1所示的电子设备中,网络接口1004主要用于与其他设备进行数据通信;交互设备1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在电子设备中,所述电子设备通过处理器1001调用存储器1005中存储的软件的安装程序,并执行本发明实施例提供的软件的安装方法。
本发明实施例提供了一种软件的安装方法,参照图2,图2为本发明一种软件的安装方法第一实施例的流程示意图。本实施例应用于包括电池的电子设备,具体的包括:户外电源。
本实施例中,所述软件的安装方法包括:
步骤S10,在触发目标软件安装或者升级进程时,启动装载程序获取预存的加密数据包;
对于需要安装软件的产品,往往将加密数据包下发给外包的成品工厂以便于将程序烧录在微控制单元(Microcontroller Unit,MCU)。这里的启动装载程序是指bootloader是上电或复位后MCU首先执行的程序。一般MCU生产厂商会预先安排的地址上获取指令,固态存储中的装载程序被安排这个预先安排的地址上,从而首先启动装载程序。在仅存在装载程序时,即在工厂启动安装目标软件时,将加密数据包发送至所述电子设备的闪存中,并启动所述装载程序。在一些实施例中,当装载程序启动后,判断是否已经安装有目标软件,当判断未安装有目标软件时,扫描闪存中的数据,识别存在加密数据包,并确定执行基于预设的解密程序对所述加密数据包进行解码的步骤。当识别存在加密数据包的数量为多个时,可以根据版本的存储时间确定进行解码的加密数据包。
当所述判断已安装有目标软件时,启动目标软件,根据当前目标软件的版本号检测高于所述版本号的加密数据包,当检测到高于所述版本号的加密数据包提示升级软件,在接收到用户的升级指令时,触发所述升级进程。
此外,加密数据包的加密方式可以是使用国密算法进行加密,也可以使用对称加密算法,例如:即数据加密标准(Data Encryption Standard,DES)、国际数据加密算法(International Data Encryption Algorithm,IDEA)等。由于对称加密算法只需密钥和加密算法的逆算法即能解密加密的数据,因此,在bootloader中存储加密数据包对应的密钥和加密算法的逆算法。
此外,在其他实施例中,在电子设备联网的状态下,根据电子设备的运行记录,这里的电子设备即安装所述目标软件的设备,确定电子设备中电池的工作情况,根据所述工作情况确定符合电池的工作模式,根据所述工作模式确定对应的软件版本。例如:工作情况包括软件报错日志,电池散热数据、电池工作损耗等。并根据所述软件版本从官网的服务器获取对应的加密数据包,并预存到闪存中。例如:当电子设备在工作时检测到电池和/或电子设备散热数据异常时,确定需要使用低调度模式的工作模式。这里的电池散热数据异常包括,电池运行时平均温度大于预设温度,即电池总体散热异常,电池局部位置的温度与所述电池局部位置之外的温度的差大于预设温度差,即局部散热异常。当电子设备的软件报错日志中发生电池类的报错的数量大于预设报错数量时,确定当前软件的版本与电池并不兼容,并确定稳定的工作模式,根据所述稳定的工作模式获取对应的软件版本。根据软件版本和当前电子设备的信息标识信息,发送至官网的服务器,服务器根据软件版本和当前电子设备的信息标识信息生成下载链接,并返回至电子设备。电子设备根据所述下载链接,下载对应的软件的数据包,作为预存的加密数据包。此外,在一些多用途的电子设备中,还可以安装两个以上的目标软件,根据检测到的环境参数选择启动对应目标软件。例如当检测到电子设备处于振动的环境中时,启动稳定的工作模式对应的目标软件。当检测到环境温度较低,并确定电子设备不存在散热问题时,启动高功率的工作模式对应的目标软件。
此外需要说明的是,下载的对应的软件的数据包与电池的密钥的相对应,因此,电池可以基于密钥和预设的解密程序对所述加密数据包进行解码。
当启动装载程序识别到需要安装目标软件或更新目标软件时,获取预存的加密数据包。
步骤S20,基于预设的解密程序对所述加密数据包进行解码,得到待安装程序数据;
这里的预设的解密程序一般设置在启动装载程序中,启动装载程序对所述加密数据包进行解码,得到待安装的程序数据,这里的待安装程序数据可以直接用于安装目标软件。对于在工厂安装所述目标软件时,加密数据包的加密算法的逆算法预存在所述bootloader中,但加密数据包的密钥并不预存在bootloader,而是需要与网络连接,从电子设备的官网获取加密数据包的密钥。解密程序包括所述逆算法。使用加密数据包的密钥和所述逆算法解密所述加密数据包,得到所述待安装程序数据。在其他实施例中,通过可以通过认证固件连接,从认证固件获取所述加密数据包的密钥,这里的认证固件可以是电子设备外部的存储单元,例如U盘等。
步骤S30,基于所述待安装程序数据执行目标软件安装或者升级进程。
具体的,将所述待安装程序数据写入闪存(Flash),并启动Flash的加密保护:可以根据加密的要求选择Flash加密的方式,Flash加密的方式包括:完全加密,密码加密等方式。完全加密的加密方式一般是指屏蔽对所有芯片的所有读操作。
在本实施例中,相比目前的软件程序的安装方式,本申请通过获取预存的加密数据包,避免直接获取待安装程序数据导致的将源代码泄露。并基于预设的解密程序对加密数据包进行解码得到的数据,使得只有在预设有解码程序的硬件上才能得到所述待安装程序数据,即使加密数据包被获取,也不容易在非法的设备上安装,减少了产品的软件程序泄露。
进一步的,基于第一实施例,提出本发明软件的安装方法第二实施例,在本实施例中,参照图3,所述启动装载程序获取预存的加密数据包的步骤之前,还包括:
步骤S101,在触发目标软件安装或者升级进程时,显示注册码获取界面;
在本实施例中,注册码获取界面包括用于接收所述注册码的输入窗口,也可以包括提示注册码的窗口,也可以包括显示电子设备参数的窗口,例如提示输入的注册码长度有误,提示注册码的对应的注册软件的版本与当前安装或更新的安装软件的版本不一致,注册码的获取方式等。
步骤S102,通过所述注册码获取界面接收到注册码,确定所述注册码的校验结果;
在本实施例中,通过所述注册码获取界面接收到注册码时,可以先判断接收到的注册码的长度是否正确,然后当注册码的长度正确时,确定注册码的校验结果,这里的校验方式可以是确定所述注册码是否与预存在启动装载程序中验证码相同。在其他实施例中,通过在所述电子设备联网的基础上,可以从官网的服务器获取注册码。
步骤S103,在所述校验结果为校验通过时,执行所述启动装载程序获取预存的加密数据包。
在本实施例中,当所述注册码的校验结果通过时,执行所述启动装载程序获取预存的加密数据包。在其他实施例中,在所述启动装载程序获取预存的加密数据包的步骤之后,显示注册码获取界面,在通过所述注册码获取界面接收到注册码之后,使用所述注册码作为解密密钥,并基于预设的解密程序对所述加密数据包进行解码,得到所述待安装程序数据,基于所述待安装程序数据执行目标软件安装或者升级进程。
在其他实施例中,在触发目标软件安装或者升级进程时,语音提示输入校验码,当接收到注册码时,确定注册码的校验结果。在所述校验结果为校验通过时,执行所述启动所述装载程序获取预存的加密数据包。
在本实施例中,通过接收注册码,并对注册码进行校验,从而确定执行所述启动装载程序获取预存的加密数据包。可以避免在没有正确的注册码时基于所述待安装程序数据执行所述目标软件安装或升级进行。从而减少了产品的软件程序泄露。
进一步的,基于第一实施例或第二实施例,提出本发明软件的安装方法第三实施例,在本实施例中,所述软件的安装方法,还包括:
在检测到所述加密数据包或所述待安装程序数据的读取动作时,确定所述读取动作的触发源;
当所述触发源为所述启动装载程序之外的其它程序时,删除所述加密数据包及对应的所述待安装程序数据。
所述触发源为所述启动装载程序之外软件或程序,这里的读取动作包括:所述触发源通过串行通讯的方式读取所述加密数据包或所述安装程序数据。串行通讯的方式可以包括:串行通信接口(Serial Communication Interface,SCI)、串行外设接口(SerialPeripheral Interface,SPI)等。具体地,所述电子设备触发源可以包括登录账号信息,根据登录账号信息判断能否具有获取所述加密数据包的权限,例如当登录账号信息为具有获取权限的员工时,将所述加密数据包发送给所述触发源,当所述登录账号信息判断不具有获取所述加密数据包的权限时,删除所述加密数据包及对应的所述待安装程序数据。此外,在删除所述加密数据包及对应的所述待安装程序数据之后还包括,确定电池的工作模式为保密模式,并在联网的情况下获取保密版本的目标软件对应的保密数据包作为所述加密数据包,其中,安装基于保密数据包的待安装程序数据仅能实现对电池的基本控制。此外,在删除所述加密数据包及对应的所述待安装程序数据之后,还包括:获取该电子设备对应的最低版本的目标软件的加密数据包。从而在减少目标软件的泄露的同时兼顾对电子设备的正常使用。避免由于用户的意外操作导致电子设备无法使用。在本实施例中,当所述触发源为所述启动装载程序之外的其它程序时,将所述加密数据包及对应的所述待安装程序数据从闪存(Flash)中删除。在其他实施例中,使用所述注册码作为解密密钥,并基于预设的解密程序对所述加密数据包进行解码,得到所述待安装程序数据。当注册码作为解密密钥,且,基于预设的解密程序对所述加密数据包进行解码失败时,统计失败的次数,当失败次数大于最大允许失败次数时,删除所述加密数据包及对应的所述待安装程序数据。
在本实施例中,当检测到读取动作时确定所述读取动作的触发源,可以确定读取动作的具体程序,从而避免所述加密数据包或所述待安装程序数据泄露。
进一步的,基于第二实施例,提出本发明软件的安装方法第四实施例,在本实施例中,所述基于预设的解密程序对所述加密数据包进行解码,得到待安装程序数据的步骤之后,还包括:
根据所述注册码确定所述注册码对应的注册软件信息;
当所述待安装程序数据的安装软件信息与所述注册软件信息匹配时,执行所述基于所述待安装程序数据执行目标软件安装或者升级进程。
所述启动装载程序对注册码进行解析得到所述注册码对应的目标软件的注册软件信息,这里的注册软件信息可以包括目标软件的版本号、目标软件的安装期限等。具体地,注册软件信息包括注册版本号,当注册版本号的待安装程序数据的版本号相等时,执行所述基于所述待安装程序数据执行目标软件安装或者升级进程。在其他实施例中,比较注册码的对应版本的注册发布时间和待安装程序数据的对应的版本的发布时间,当注册发布时间晚于所述发布时间时,执行所述基于所述待安装程序数据执行目标软件安装或者升级进程。在本实施例中,通过注册码确定对应的注册软件信息,可以验证所述待安装程序的安装的版本等是否与所述注册软件信息符合。避免了使用注册码安装不符合条件的待安装程序,从而减少了所能安装盗版的数量。
进一步的,基于第二实施例,提出本发明软件的安装方法第五实施例,在本实施例中,所述确定所述注册码的校验结果的步骤包括:
根据所述注册码确定注册设备的注册设备信息;
当安装所述待安装程序的目标设备的目标设备信息与所述注册设备信息匹配时,确定所述注册码的校验结果为校验通过。
这里的注册设备信息可以是电子设备的参数,也可以是电子设备中电池的参数,标识等信息。具体的,例如通过预设的解析算法解析所述注册码得到注册设备信息,当目标设备信息与所述注册设备信息一致时,确定所述注册码的校验结果为校验通过。
进一步的,所述显示注册码获取界面的步骤包括:
检测安装所述目标软件的设备的电池当前的当前充放次数,获取所述电池的电芯标识号,并确定所述目标设备信息为所述当前充放次数和所述电芯标识号;
显示根据所述当前充放次数和所述电芯标识号确定的安装标识号;
所述根据所述注册码确定注册设备的注册设备信息的步骤包括:
根据所述注册码确定注册充放次数和注册电芯标识号,确定所述注册设备信息为所述注册充放次数和所述注册电芯标识号;
其中,所述注册码根据所述安装标识号确定。
在本实施例中,在显示注册码获取界面时,根据显示密钥和显示加密算法加密当前充放次数和电芯标识号,得到安装标识号。并显示所述安装标识号。在显示安装标识号后,由所述官方的网站接收所述显示安装标识号。例如:用户登录电子设备对应的官方的网站,输入所述安装标识号至官方的网站,所述网站在接收到安装标识号后,根据显示密钥解密所述安装标识号得到所述当前充放次数和所述电芯标识号,并将当前充放次数作为所述注册充放次数,所述电芯标识号作为所述注册电芯标识号。根据注册密钥和注册加密算法加密所述注册充放次数和所述注册电芯标识号,得到所述注册码。并显示所述注册码。用户将所述注册码填入所述注册码获取界面,电子设备通过注册码获取界面接收到的所述注册码,并根据注册密钥解密所述注册码,得到所述注册充放次数和所述注册电芯标识号。当所述注册充放次数与接收注册码对应的电池的当前充放次数相等,且,所述注册电芯标识号与接收注册码对应的电池的电芯标识号相同时,确定所述注册码的校验结果为校验通过。此外,在将当前充放次数作为所述注册充放次数,所述电芯标识号作为所述注册电芯标识号的步骤之前,还可以校验所述电芯标识号,在校验所述电芯标识号后,执行将当前充放次数作为所述注册充放次数,所述电芯标识号作为所述注册电芯标识号的步骤。所述注册加密算法和所述显示加密算法可以相同,也可以不相同,可以为对称加密算法,但所述显示密钥与所述注册密钥并不相同。需要说明的是在本实施例中,当前充放次数和电芯标识号并不公开。在其他实施例中,当电子设备能直接与网络连接时,电子设备直接将所述安装标识号发送至所述官网。此外,由于电子设备能直接与网络连接,在电子设备与网络同步时间后,所述目标设备信息可以为所述当前时间和所述电芯标识号。所述注册码确定注册当前时间和注册电芯标识号。当所述当前时间与注册当前时间之差小于预设时间,且所述电芯标识号等于所述注册电芯标识号时,执行所述待安装程序数据执行所述目标软件安装或者升级进程。
在其他实施例中,不同的电子设备,存储有不同的显示密钥和注册密钥,所述显示密钥和所述注册密钥与电芯标识号一一对应,所述电芯标识号公开。官网存储有电芯标识号与显示密钥和注册密钥对应的密钥对照表。本实施例中的加密算法为对称加密算法。显示注册码获取界面的步骤包括:获取所述当前电池充放次数,并显示使用显示密钥加密的当前电池充放次数,得到安装标识号;将所述安装标识号和所述电芯标识号显示。
将所述安装标识号和所述电芯标识号输入所述官网,所述官网根据所述电芯标识号从密钥对照表确定对应显示密钥和注册密钥,根据显示密钥对所述安装标识号解密,并将解密得到的所述当前电池充放次数作为所述注册充放次数,并根据注册密钥加密所述注册充放次数,得到所述注册码,将所述注册码发送至注册码获取界面中。
根据所述注册码确定注册设备的注册设备信息的步骤包括:
根据注册密钥解析所述注册码得到所述注册充放次数,所述注册设备信息包括所述注册充放次数,目标设备信息包括接收注册码的电子设备的电池的当前充放次数。
当安装所述待安装程序的目标设备的目标设备信息与所述注册设备信息匹配时,执行所述待安装程序数据执行所述目标软件安装或者升级进程的步骤包括:
当所述注册充放次数等于所述接收注册码的电池的当前充放次数时,执行所述待安装程序数据执行所述目标软件安装或者升级进程。这里的充放次数为充电次数和放电次数的和,此外这里的充放次数的参数可以使用电池循环次数代替,电池循环次数是指该数值表示整个电池寿命中全部和部分放电周期的总数。将电池放电至50%的电量两次计为一个放电周期,并将该次放电周期计入循环次数。一次充电循环指用完电池的全部电量,但不一定意味着进行一次充电,此外,在本实施例中,充放次数和循环次数并不公开。
在本实施例中,由于电子设备的固有使用场景中,存在电池电量为零时,例如户外电源将所有的电量输出,产品将电池电量用尽,导致计算时间不准确或停止计时,但电池的充放次数代表电池的实际使用情况,通过所述注册充放次数与接收注册码对应的电池的当前充放次数的比较,使所述注册码具有时效性,当得到的注册码未能及时输入至电子设备,而电子设备又处于工作时,导致注册码失效,从而避免一个注册码能在所有时间下执行所述待安装程序数据执行所述目标软件安装或者升级进程。从而使注册码具有时效性,避免出现一个注册码使电池在不同时期执行所述待安装程序数据执行所述目标软件安装或者升级进程,从而避免不符合要求的软件安装到所述电子设备。
进一步的,基于上述任一实施例,提出本发明软件的安装方法第六实施例,在本实施例中,参照图4,所述启动装载程序获取预存的加密数据包的步骤之前,还包括:
步骤S111,在触发目标软件安装或者升级进程时,获取安装所述目标软件的设备的电池当前时间之前的每个时刻的电量变化速度;
在电子设备实际使用时,可能存在用户人为地将电池的容量修改,增加电池容量,或更换电池的电芯等操作。导致软件中电池的容量与实际的电池容量并不相同,当电子设备不具有监测电池实际容量的功能或检测电池实际容量不准确时,这样可能会导致电池存在安全问题,进而需要避免对这类电子设备进行更新。例如:用户将电量为50%的1号电芯更换为80%电量的电芯,这里的电量变化速度可以为单位时间内当前电池电量与电池总电量的比值的变化值。
步骤S112,当不存在所述电量变化速度大于预设电量变化速度时,执行所述启动装载程序获取预存的加密数据包。
这里的预设电量变化速度,根据电池设置的最大输出功率和最大充电功率确定。根据最大输出功率和最大充电功率中功率较大的值确定所述预设电量变化速度。例如:将最大输出功率和最大充电功率中功率较大的值除以电池容量,得到所述预设电量变化速度。具体的,在本实施例中将时刻的电量变化速度与预设电量变化速度比较,当不存在所述电量变化速度大于预设电量变化速度时,执行所述启动装载程序获取预存的加密数据包。
在其他实施例中,比较电子设备当前电池容量和出厂时电池的容量,当电池的当前电池容量和出厂时电池的容量相同时,执行所述启动装载程序获取预存的加密数据包。
在本实施例中,通过电量变化速度和预设电量变化速度的比较确定是否执行,减少对识别到修改了电芯的电池进行软件更新,从而避免了将正版软件安装在不合适的电池上。
此外,本发明实施例还提出一种软件的安装装置,所述软件的安装装置包括:
获取模块,用于在触发目标软件安装或者升级进程时,启动装载程序获取预存的加密数据包;
解码模块,用于基于预设的解密程序对所述加密数据包进行解码,得到待安装程序数据;
装载模块,用于基于所述待安装程序数据执行目标软件安装或者升级进程。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有软件的安装程序,所述软件的安装程序被处理器执行时实现上述任一项所述软件的安装方法的实施例的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还 包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、 方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光 盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种软件的安装方法,其特征在于,所述软件的安装方法包括以下步骤:
在触发目标软件安装或者升级进程时,启动装载程序获取预存的加密数据包;
基于预设的解密程序对所述加密数据包进行解码,得到待安装程序数据;
基于所述待安装程序数据执行目标软件安装或者升级进程。
2.如权利要求1所述的软件的安装方法,其特征在于,所述启动装载程序获取预存的加密数据包的步骤之前,还包括:
在触发目标软件安装或者升级进程时,显示注册码获取界面;
通过所述注册码获取界面接收到注册码,确定所述注册码的校验结果;
在所述校验结果为校验通过时,执行所述启动装载程序获取预存的加密数据包。
3.如权利要求1或2所述的软件的安装方法,其特征在于,所述软件的安装方法,还包括:
在检测到所述加密数据包或所述待安装程序数据的读取动作时,确定所述读取动作的触发源;
当所述触发源为所述启动装载程序之外的其它程序时,删除所述加密数据包及对应的所述待安装程序数据。
4.如权利要求2所述的软件的安装方法,其特征在于,所述基于预设的解密程序对所述加密数据包进行解码,得到待安装程序数据的步骤之后,还包括:
根据所述注册码确定所述注册码对应的注册软件信息;
当所述待安装程序数据的安装软件信息与所述注册软件信息匹配时,执行所述基于所述待安装程序数据执行目标软件安装或者升级进程。
5.如权利要求2所述的软件的安装方法,其特征在于,所述确定所述注册码的校验结果的步骤包括:
根据所述注册码确定注册设备的注册设备信息;
当安装所述待安装程序的目标设备的目标设备信息与所述注册设备信息匹配时,确定所述注册码的校验结果为校验通过。
6.如权利要求5所述的软件的安装方法,其特征在于,所述显示注册码获取界面的步骤包括:
检测安装所述目标软件的设备的电池当前的当前充放次数,获取所述电池的电芯标识号,并确定所述目标设备信息为所述当前充放次数和所述电芯标识号;
显示根据所述当前充放次数和所述电芯标识号确定的安装标识号;
所述根据所述注册码确定注册设备的注册设备信息的步骤包括:
根据所述注册码确定注册充放次数和注册电芯标识号,确定所述注册设备信息为所述注册充放次数和注册电芯标识号;
其中,所述注册码根据所述安装标识号确定。
7.如权利要求1所述的软件的安装方法,其特征在于,所述启动装载程序获取预存的加密数据包的步骤之前,还包括:
在触发目标软件安装或者升级进程时,获取安装所述目标软件的设备的电池当前时间之前的每个时刻的电量变化速度;
当不存在所述电量变化速度大于预设电量变化速度时,执行所述启动装载程序获取预存的加密数据包。
8.一种软件的安装装置,其特征在于,所述软件的安装装置包括:
获取模块,用于在触发目标软件安装或者升级进程时,启动装载程序获取预存的加密数据包;
解码模块,用于基于预设的解密程序对所述加密数据包进行解码,得到待安装程序数据;
装载模块,用于基于所述待安装程序数据执行目标软件安装或者升级进程。
9.一种电子设备,其特征在于,所述电子设备包括:控制组件、存储器、处理器及存储在所述存储器上并可在所述处理器上运行软件的安装程序,所述软件的安装程序配置为实现如权利要求1至7中任一项所述的软件的安装方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有软件的安装程序,所述软件的安装程序被处理器执行时实现如权利要求1至7任一项所述的软件的安装方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310528968.0A CN116243939B (zh) | 2023-05-11 | 2023-05-11 | 软件的安装方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310528968.0A CN116243939B (zh) | 2023-05-11 | 2023-05-11 | 软件的安装方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116243939A true CN116243939A (zh) | 2023-06-09 |
CN116243939B CN116243939B (zh) | 2023-07-21 |
Family
ID=86624581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310528968.0A Active CN116243939B (zh) | 2023-05-11 | 2023-05-11 | 软件的安装方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116243939B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028120A1 (en) * | 2004-11-12 | 2007-02-01 | Apple Computer, Inc. | Secure software updates |
CN101090452A (zh) * | 2007-07-18 | 2007-12-19 | 中国网络通信集团公司 | 机顶盒软件升级方法及升级系统 |
CN101470411A (zh) * | 2007-12-28 | 2009-07-01 | 联合汽车电子有限公司 | Ecu数据安全升级的系统及方法 |
CN102479091A (zh) * | 2010-11-30 | 2012-05-30 | 深圳市金蝶友商电子商务服务有限公司 | 软件运行方法、装置及可移动存储介质 |
US20130132936A1 (en) * | 2010-08-11 | 2013-05-23 | Zte Corporation | Apparatus and method for packing a software package of version upgrade |
CN103136467A (zh) * | 2011-11-30 | 2013-06-05 | 英顺源(上海)科技有限公司 | 在软件更新时管控软件授权的系统及其方法 |
CN104123482A (zh) * | 2014-07-08 | 2014-10-29 | 攀钢集团攀枝花钢钒有限公司 | 生成机器码和注册码的方法及软件注册和功能限制的方法 |
CN108830050A (zh) * | 2018-05-31 | 2018-11-16 | 深圳市零度智控科技有限公司 | 计算机程序的注册方法、装置和存储介质 |
CN109739253A (zh) * | 2019-01-28 | 2019-05-10 | 深圳市道通智能航空技术有限公司 | 一种飞行器电池监控方法、装置、电池及飞行器 |
CN111443937A (zh) * | 2020-04-22 | 2020-07-24 | 珠海格力电器股份有限公司 | 嵌套式远程升级方法及客户端、升级程序的升级方法 |
WO2020151574A1 (zh) * | 2019-01-21 | 2020-07-30 | 珠海奔图电子有限公司 | 电子装置注册状态更新方法及系统 |
CN111651734A (zh) * | 2020-05-27 | 2020-09-11 | 支付宝(杭州)信息技术有限公司 | 小程序应用的安装管理方法、装置、设备及系统 |
WO2021128244A1 (zh) * | 2019-12-27 | 2021-07-01 | 威创集团股份有限公司 | 一种注册授权方法及系统 |
CN113703813A (zh) * | 2021-09-07 | 2021-11-26 | 北京天融信网络安全技术有限公司 | 内核升级方法、装置、设备及计算机可读存储介质 |
CN114117400A (zh) * | 2021-11-26 | 2022-03-01 | 深圳市洲明科技股份有限公司 | 注册方法、验证方法、客户端设备、发送卡及显示屏 |
CN114172670A (zh) * | 2020-08-19 | 2022-03-11 | 中国电信股份有限公司 | 授权方法、装置和系统 |
-
2023
- 2023-05-11 CN CN202310528968.0A patent/CN116243939B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028120A1 (en) * | 2004-11-12 | 2007-02-01 | Apple Computer, Inc. | Secure software updates |
CN101090452A (zh) * | 2007-07-18 | 2007-12-19 | 中国网络通信集团公司 | 机顶盒软件升级方法及升级系统 |
CN101470411A (zh) * | 2007-12-28 | 2009-07-01 | 联合汽车电子有限公司 | Ecu数据安全升级的系统及方法 |
US20130132936A1 (en) * | 2010-08-11 | 2013-05-23 | Zte Corporation | Apparatus and method for packing a software package of version upgrade |
CN102479091A (zh) * | 2010-11-30 | 2012-05-30 | 深圳市金蝶友商电子商务服务有限公司 | 软件运行方法、装置及可移动存储介质 |
CN103136467A (zh) * | 2011-11-30 | 2013-06-05 | 英顺源(上海)科技有限公司 | 在软件更新时管控软件授权的系统及其方法 |
CN104123482A (zh) * | 2014-07-08 | 2014-10-29 | 攀钢集团攀枝花钢钒有限公司 | 生成机器码和注册码的方法及软件注册和功能限制的方法 |
CN108830050A (zh) * | 2018-05-31 | 2018-11-16 | 深圳市零度智控科技有限公司 | 计算机程序的注册方法、装置和存储介质 |
WO2020151574A1 (zh) * | 2019-01-21 | 2020-07-30 | 珠海奔图电子有限公司 | 电子装置注册状态更新方法及系统 |
CN109739253A (zh) * | 2019-01-28 | 2019-05-10 | 深圳市道通智能航空技术有限公司 | 一种飞行器电池监控方法、装置、电池及飞行器 |
WO2021128244A1 (zh) * | 2019-12-27 | 2021-07-01 | 威创集团股份有限公司 | 一种注册授权方法及系统 |
CN111443937A (zh) * | 2020-04-22 | 2020-07-24 | 珠海格力电器股份有限公司 | 嵌套式远程升级方法及客户端、升级程序的升级方法 |
CN111651734A (zh) * | 2020-05-27 | 2020-09-11 | 支付宝(杭州)信息技术有限公司 | 小程序应用的安装管理方法、装置、设备及系统 |
CN114172670A (zh) * | 2020-08-19 | 2022-03-11 | 中国电信股份有限公司 | 授权方法、装置和系统 |
CN113703813A (zh) * | 2021-09-07 | 2021-11-26 | 北京天融信网络安全技术有限公司 | 内核升级方法、装置、设备及计算机可读存储介质 |
CN114117400A (zh) * | 2021-11-26 | 2022-03-01 | 深圳市洲明科技股份有限公司 | 注册方法、验证方法、客户端设备、发送卡及显示屏 |
Non-Patent Citations (5)
Title |
---|
R. SENDHIL: "A Descriptive Study on Homomorphic Encryption Schemes for Enhancing Security in Fog Computing", 《2020 INTERNATIONAL CONFERENCE ON SMART ELECTRONICS AND COMMUNICATION (ICOSEC)》, pages 1 - 7 * |
佚名: "OTA升级功能系列一(升级包的加解密)", pages 1 - 5, Retrieved from the Internet <URL:《https://blog.csdn.net/qq_39597546/article/details/113092121》> * |
易茂庆: "退役锂电池健康状态管理关键技术研究", 《中国优秀硕士学位论文全文数据库 (工程科技Ⅱ辑)》, pages 042 - 1476 * |
王国忠: "软件防拷贝注册机制的程序实现", 电脑编程技巧与维护, no. 01, pages 1 - 5 * |
赵乙潼: "面向用户侧的电池储能配置与运行优化策略", 《电力系统自动化》, pages 121 - 128 * |
Also Published As
Publication number | Publication date |
---|---|
CN116243939B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093258B2 (en) | Method for trusted booting of PLC based on measurement mechanism | |
US11861372B2 (en) | Integrity manifest certificate | |
US9690498B2 (en) | Protected mode for securing computing devices | |
US8254568B2 (en) | Secure booting a computing device | |
KR101299099B1 (ko) | 임베디드 시스템에서 최적화된 가상화 모듈을 관리하는 장치 및 방법 | |
US8239688B2 (en) | Securely recovering a computing device | |
US9652755B2 (en) | Method and system for securely updating field upgradeable units | |
US8291480B2 (en) | Trusting an unverified code image in a computing device | |
US11579893B2 (en) | Systems and methods for separate storage and use of system BIOS components | |
US8327125B2 (en) | Content securing system | |
CN104573435A (zh) | 用于终端权限管理的方法和终端 | |
US20140020096A1 (en) | System to profile application software | |
EP3163489B1 (en) | Token-based control of software installation and operation | |
CN110874467A (zh) | 信息处理方法、装置、系统以及处理器、存储介质 | |
CN106569907B (zh) | 一种系统启动文件的校验及编译方法 | |
CN108139901B (zh) | 使用外部设备的运行时间验证 | |
CN116243939B (zh) | 软件的安装方法、装置、电子设备及存储介质 | |
CN114143197B (zh) | 物联网设备ota升级方法、装置、设备及可读存储介质 | |
CN111506897B (zh) | 数据处理方法和装置 | |
CN110781517B (zh) | 一种bios与bmc沟通实现数据交互的方法 | |
CN111125771B (zh) | 保护设备隐私的方法及装置、电子设备、存储介质 | |
US20240037216A1 (en) | Systems And Methods For Creating Trustworthy Orchestration Instructions Within A Containerized Computing Environment For Validation Within An Alternate Computing Environment | |
CN114819592A (zh) | 设备窜货的确定方法和装置、设备改制的确定方法和装置 | |
CN117592037A (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 |