CN107102946B - 一种程序的检测方法、装置与电子设备 - Google Patents

一种程序的检测方法、装置与电子设备 Download PDF

Info

Publication number
CN107102946B
CN107102946B CN201710307197.7A CN201710307197A CN107102946B CN 107102946 B CN107102946 B CN 107102946B CN 201710307197 A CN201710307197 A CN 201710307197A CN 107102946 B CN107102946 B CN 107102946B
Authority
CN
China
Prior art keywords
check code
target program
upper computer
program
standard
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
CN201710307197.7A
Other languages
English (en)
Other versions
CN107102946A (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 Linguo Industrial Co ltd
Original Assignee
Shanghai Linguo Industrial 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 Linguo Industrial Co ltd filed Critical Shanghai Linguo Industrial Co ltd
Priority to CN201710307197.7A priority Critical patent/CN107102946B/zh
Publication of CN107102946A publication Critical patent/CN107102946A/zh
Application granted granted Critical
Publication of CN107102946B publication Critical patent/CN107102946B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及电子技术领域,公开了一种程序的检测方法、装置与电子设备。该程序的检测方法包括:从上位机中获取目标程序;接收来自上位机的校验码生成指令;根据获取的目标程序和校验码生成指令,以第一运算算法生成目标程序的校验码;其中,目标程序的校验码用于与标准校验码进行比较,比较的结果用于指示获取的目标程序是否完整;标准校验码为根据存储于上位机内的目标程序,以第一运算算法生成的校验码。本发明实施方式还公开了一种程序的检测装置与电子设备。使得可以有效地检测终端设备中的程序是否完整。

Description

一种程序的检测方法、装置与电子设备
技术领域
本发明涉及电子技术领域,特别涉及一种程序的检测方法、装置与电子设备。
背景技术
电子银行为了安全引入了物理实体U盾,U盾可以通过USB接口插入电脑等终端,并且可以通过电脑等终端与银行交易平台交互数据。U盾中可保存有效的数字证书,转账操作或者消费操作等网银交易过程可以通过U盾进行签名。
现有技术中,U盾可用于网上银行电子签名与数字认证,是由于U盾中灌装有可执行上述功能的程序。在实际生产过程中,生产工人通过操作电脑等终端中的专有软件,可以将待灌装的程序经由USB接口灌装到U盾中。
但是,本专利申请的发明人发现,现有技术中至少存在以下问题:在U盾中灌装程序时会存在USB接口的通信不稳定、工作人员操作不当或者U盾硬件存在缺陷等问题,而上述问题均可能会导致U盾中所灌装的程序不完整,进而导致U盾部分功能丧失。尽管在出厂前,工作人员会对U盾进行检验,但现有技术中通常只能对U盾部分功能和硬件进行检查,无法检验出U盾中所灌装的程序是否完整,从而出厂的U盾的不良率较高。
发明内容
本发明实施方式的目的在于提供一种程序的检测方法、装置与电子设备,使得可以有效地检测终端设备中的程序是否完整。
为解决上述技术问题,本发明的实施方式提供了一种程序的检测方法,包括:从上位机中获取目标程序;接收来自上位机的校验码生成指令;根据获取的目标程序和校验码生成指令,以第一运算算法生成目标程序的校验码;其中,目标程序的校验码用于与标准校验码进行比较,比较的结果用于指示获取的目标程序是否完整;标准校验码为根据存储于上位机内的目标程序,以第一运算算法生成的校验码。
本发明的实施方式还提供了一种程序的检测装置,包括:获取模块,用于从上位机中获取目标程序;接收模块,用于接收来自上位机的校验码生成指令;计算模块,用于根据获取的目标程序和校验码生成指令,以第一运算算法生成目标程序的校验码;其中,目标程序的校验码用于与标准校验码进行比较,比较的结果用于指示获取的目标程序是否完整;标准校验码为根据存储于上位机内的目标程序,以第一运算算法生成的校验码。
本发明实施方式相对于现有技术而言,终端可以从上位机中获取目标程序,并且可以在接收到上位机发送的校验码生成指令后,生成目标程序的校验码。终端所生成的上述校验码可用于与标准校验码进行比较,从而,根据比较结果可以检验目标程序是否完整。这样,通过比较终端所生成的目标程序的校验码与标准校验码,使得可以有效地检测终端设备中的程序是否完整。
另外,校验码生成指令中携带与运算算法一一对应的运算标识;根据获取的目标程序和校验码生成指令,以第一运算算法生成目标程序的校验码,包括:提取携带在校验码生成指令中的运算标识;根据运算标识,以及预设的运算标识与运算算法的对应关系,获取与携带在校验码生成指令中的运算标识相对应的运算算法,并将获取的运算算法作为第一运算算法;以第一运算算法对获取的目标程序进行运算,生成目标程序的校验码。本发明实施方式中,可以通过运算标识获取第一运算,并以第一运算对目标程序进行运算,从而生成目标程序的校验码,这样,有助于后续将目标程序的校验码与标准校验码进行比较。
另外,在以第一运算算法生成目标程序的校验码后,将生成的校验码发送至上位机,由上位机比较目标程序的校验码和标准校验码。本发明实施方式中,在终端生成目标程序的校验码后,由上位机比较目标程序的校验码与标准校验码,可以在终端直接比较目标程序的校验码与标准校验码产生误差时,避免上位机无法及时获知,从而可以使比较结果更准确。
另外,校验码生成指令中携带标准校验码;程序的检测方法还包括:接收来自上位机的校验码生成指令后,提取校验码生成指令中的标准校验码;在以第一运算算法生成目标程序的校验码后,比较目标程序的校验码和标准校验码,并将比较的结果反馈至上位机。本发明实施方式中,终端在生成目标程序的校验码后,直接比较目标程序的校验码与标准校验码,并将比较结果反馈至上位机,可以使得程序的检测速度更快。
附图说明
图1是根据本发明第一实施方式的程序的检测方法的流程图;
图2是根据本发明第二实施方式的程序的检测方法的流程图;
图3是根据本发明第三实施方式的程序的检测方法的流程图;
图4是根据本发明第四实施方式的程序的检测装置的结构示意图;
图5是根据本发明第五实施方式的程序的检测装置的结构示意图;
图6是根据本发明第六实施方式的程序的检测装置的结构示意图;
图7是根据本发明第七实施方式的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种程序的检测方法,如图1所示。
步骤101:从上位机中获取目标程序。
具体地说,上位机可以将目标程序灌装到终端中,从而终端可以获取来自上位机的目标程序,以供针对目标程序进行检测。
步骤102:接收来自上位机的校验码生成指令。
具体地说,上位机可以向终端发送校验码生成指令,这样,终端在接收到来自上位机的校验码生成指令后,可以生成目标程序的校验码。
例如,上位机可以为电脑或者手机等移动终端,终端可以通过蓝牙接口接收来自上位机的校验码生成指令,终端还可以通过通用串行总线(Universal Serial Bus,简称USB)接口、音频接口、近距离无线通信(Near Field Communication,简称NFC)接口等接收上位机的校验码生成指令,本发明对此不做限制。
步骤103:根据获取的目标程序和校验码生成指令,以第一运算算法生成目标程序的校验码。其中,目标程序的校验码用于与标准校验码进行比较,比较的结果用于指示获取的目标程序是否完整,标准校验码为根据存储于上位机内的目标程序,以第一运算算法生成的校验码。
具体地说,上位机可预先根据预设的第一运算算法运算目标程序,生成标准校验码,并保存生成的标准校验码,同时,上位机还可以预先将预设的第一运算算法灌装到终端中,其中,预设的第一运算算法可以为杂凑运算。终端在接收到校验码生成指令后,可以采用第一运算算法对目标程序进行运算,生成目标程序的校验码,并且可以将生成的目标程序的校验码发送给上位机,从而上位机可以将目标程序的校验码与标准校验码进行比较。若比较结果为目标程序的校验码与标准校验码一致,则可以判定终端中所灌装的目标程序完整,若比较结果为目标程序的校验码与标准校验码不一致,则可以判定终端所灌装的目标程序不完整。
需要说明的是,本发明实施方式中的终端可以为U盾。
本发明实施方式相对于现有技术而言,终端可以从上位机中获取目标程序,并且可以在接收到上位机发送的校验码生成指令后,生成目标程序的校验码。终端所生成的上述校验码可用于与标准校验码进行比较,从而,根据比较结果可以检验目标程序是否完整。这样,通过比较终端所生成的目标程序的校验码与标准校验码,使得可以有效地检测终端设备中的程序是否完整。
本发明的第二实施方式涉及一种程序的检测方法。第二实施方式在第一实施方式的基础上做了进一步的改进,主要改进之处在于:本发明第二实施方式中,上位机所发送的校验码生成指令中携带与运算算法一一对应的运算标识,终端可以根据运算标识获取第一运算算法,如图2所示。
步骤201:从上位机中获取目标程序。
具体地说,上位机可以将目标程序灌装到终端中,从而终端可以获取来自上位机的目标程序,以供针对目标程序进行检测。
步骤202:接收来自上位机的校验码生成指令,其中,校验码生成指令中携带与运算算法一一对应的运算标识。
具体地说,上位机中可以预先存储两种运算算法,其中,两种运算算法分别对应不同的运算标识。上位机可以将其中一种运算算法设置为第一运算算法,并且可以根据上述第一运算算法运算目标程序,生成标准校验码,同时,可以将与生成标准校验码所采用的第一运算算法相对应的运算标识,携带在校验码生成指令中。上位机可以向终端发送携带有运算标识的校验码生成指令,这样,终端在接收到来自上位机的校验码生成指令后,可以提取携带在校验码生成指令中的运算标识,并且可以根据与上述运算标识对应的第一运算算法运算目标程序,从而生成目标程序的校验码。
例如,上位机可以为电脑或者手机等移动终端,终端可以通过蓝牙接口接收来自上位机的校验码生成指令,终端还可以通过USB接口、音频接口、NFC接口等接收上位机的校验码生成指令,本发明对此不做限制。
步骤203:提取携带在校验码生成指令中的运算标识。
具体地说,终端在接收到来自上位机的校验码生成指令后,可以提取携带在校验码生成指令中的与第一运算算法相对应的运算标识。
步骤204:根据运算标识,以及预设的运算标识与运算算法的对应关系,获取与携带在校验码生成指令中的运算标识相对应的运算算法,并将获取的运算算法作为第一运算算法。
具体地说,上位机可以预先将存储的两种运算算法灌装到终端中,终端在提取携带在校验码生成指令中的与第一运算算法相对应的运算标识后,可以根据运算标识,以及预设的运算标识与运算算法的对应关系,从预先灌装的两种运算算法中,获取与携带在校验码生成指令中的运算标识相对应的运算算法,并且可以将获取的运算算法设置为第一运算算法。
例如,上位机中存储的两种运算算法可以包括不同的编号,比如,第一种运算算法包括编号01,第二种运算算法包括编号02,上位机可以运行第一种运算算法,生成标准校验码,同时,可以将第一种运算算法的标号01作为运算标识携带在校验码生成指令中,这样,终端在接收到校验码生成指令后,可以提取编号01,并将获取的01所对应的运算算法作为第一运算算法。
步骤205:以第一运算算法对获取的目标程序进行运算,生成目标程序的校验码。
具体地说,终端在设置第一运算算法后,可以以第一运算算法对获取的目标程序进行运算,并生成目标程序的校验码。
步骤206:将生成的校验码发送至上位机,由上位机比较目标程序的校验码和标准校验码。
具体地说,终端以第一运算算法运算目标程序,并生成目标程序的校验码后,可以将生成的目标程序的校验码发送给上位机,从而上位机可以将目标程序的校验码与标准校验码进行比较。若比较结果为目标程序的校验码与标准校验码一致,则可以判定终端中所灌装的目标程序完整,若比较结果为目标程序的校验码与标准校验码不一致,则可以判定终端所灌装的目标程序不完整。
本发明实施方式中,上位机中还可以预先存储两种以上的运算算法,并且可以将存储的两种以上的运算算法灌装到终端中。
需要说明的是,在实际应用中,上位机中预先存储多种运算算法时,上位机还可以根据两种运算算法分别运行目标程序,生成上述两种运算算法对应的两个标准校验码,并将上述两种运算算法携带在校验码生成指令中。终端在接收到校验码生成指令后,可以提取校验码生成指令中的两个运算标识,并且可以分别根据上述两个运算标识所对应的运算算法运行目标程序,生成目标程序的两个校验码,同时,可以将生成的目标程序的两个校验码发送至上位机,由上位机将同种运算生成的目标程序的校验码与标准校验码对应地进行比较,得到两个比较结果,并且可以在两个比较结果均为目标程序的校验码与标准校验码一致时,判定终端中所灌装的目标程序完整。
例如,本发明实施方式中的运算算法可以为杂凑算法、对称算法等运算算法。其中,杂凑算法可以采用SM3,SHA1,SHA256,SHA512,MD5等运算算法,对称算法可以采用SM1/CBC,SM4/CBC等运算算法,由于采用的运算算法不同,运算目标程序所生成的校验码也不同,因此,本发明不对校验码的长度做限定,例如,SM3运算结果为32字节,SHA1运算结果为20字节,SHA256运算结果为32字节,SHA512运算结果为64字节,MD5运算结果为16字节,SM1/CBC运算结果为16字节,SM4/CBC运算结果为16字节。
本发明实施方式中,可以通过运算标识获取第一运算,并以第一运算对目标程序进行运算,从而生成目标程序的校验码,这样,有助于后续将目标程序的校验码与标准校验码进行比较。在终端生成目标程序的校验码后,由上位机比较目标程序的校验码与标准校验码,可以在终端直接比较目标程序的校验码与标准校验码产生误差时,避免上位机无法及时获知,从而可以使比较结果更准确。
本发明的第三实施方式涉及一种程序的检测方法。第三实施方式与第一实施方式大致相同,主要区别之处在于:本发明第三实施方式中,上位机所发送至终端的校验码生成指令中,还携带标准校验码,以使终端在生成目标程序的校验码后,可以比较目标程序的校验码与标准校验码,如图3所示。
步骤301:从上位机中获取目标程序。
具体地说,上位机可以将目标程序灌装到终端中,从而终端可以获取来自上位机的目标程序,以供针对目标程序进行检测。
步骤302:接收来自上位机的校验码生成指令,其中,校验码生成指令中携带标准校验码。
具体地说,上位机可预先根据预设的第一运算算法运算目标程序,生成标准校验码,并且可以将生成的标准校验码携带在校验码生成指令中,同时,上位机还可以预先将预设的第一运算算法灌装到终端中,其中,预设的第一运算算法可以为杂凑运算。上位机可以向终端发送校验码生成指令,这样,终端在接收到来自上位机的校验码生成指令后,可以生成目标程序的校验码。
例如,上位机可以为电脑或者手机等移动终端,终端可以通过蓝牙接口接收来自上位机的校验码生成指令,终端还可以通过USB接口、音频接口、NFC接口等接收上位机的校验码生成指令,本发明对此不做限制。
步骤303:提取校验码生成指令中的标准校验码。
具体地说,终端接收到来自上位机的校验码生成指令后,可以提取携带在校验码生成指令中的标准校验码,以供后续将目标程序的校验码与标准校验码进行比较。
步骤304:在以第一运算算法生成目标程序的校验码后,比较目标程序的校验码和标准校验码,并将比较的结果反馈至上位机。
具体地说,终端在接收到来自终端的校验码生成指令后,可以以预设的第一运算算法运算目标程序,生成目标程序的校验码,同时,可以比较生成的目标程序的校验码与标准校验码,并且可以将比较结果反馈至上位机。若比较结果为目标程序的校验码与标准校验码一致,则可以判定终端中所灌装的目标程序完整,若比较结果为目标程序的校验码与标准校验码不一致,则可以判定终端所灌装的目标程序不完整。
本发明实施方式中,终端在生成目标程序的校验码后,直接比较目标程序的校验码与标准校验码,并将比较结果反馈至上位机,可以使得程序的检测速度更快。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第四实施方式涉及一种程序的检测装置,该程序的检测装置包括获取模块、接收模块与计算模块,如图4所示。
程序的检测装置400包括获取模块401、接收模块402与计算模块403。
获取模块401可用于从上位机中获取目标程序。
具体地说,获取模块401可以获取来自上位机的目标程序,以供针对目标程序进行检测。
接收模块402可用于接收来自上位机的校验码生成指令。
具体地说,接收模块402可以接收到来自上位机的校验码生成指令,以供计算模块403可以在接收模块402接收到校验码生成指令后生成目标程序的校验码。
计算模块403可用于根据获取的目标程序和校验码生成指令,以第一运算算法生成目标程序的校验码。其中,目标程序的校验码用于与标准校验码进行比较,比较的结果用于指示获取的目标程序是否完整;标准校验码为根据存储于上位机内的目标程序,以第一运算算法生成的校验码。
具体地说,上位机可预先根据预设的第一运算算法运算目标程序,得出标准校验码,并保存得出的标准校验码,同时,获取模块401还可从上位机中获取预设的第一运算算法,其中,预设的第一运算算法可以为杂凑运算。接收模块402接收到校验码生成指令后,计算模块403可以采用第一运算算法对目标程序进行运算,生成目标程序的校验码,并且可以将生成的目标程序的校验码发送给上位机,从而上位机可以将目标程序的校验码与标准校验码进行比较。若比较结果为目标程序的校验码与标准校验码一致,则可以判定终端中所灌装的目标程序完整,若比较结果为目标程序的校验码与标准校验码不一致,则可以判定终端所灌装的目标程序不完整。
需要说明的是,本发明实施方式中的终端可以为U盾。
本发明实施方式相对于现有技术而言,终端可以从上位机中获取目标程序,并且可以在接收到上位机发送的校验码生成指令后,生成目标程序的校验码。终端所生成的上述校验码可用于与标准校验码进行比较,从而,根据比较结果可以检验目标程序是否完整。这样,通过比较终端所生成的目标程序的校验码与标准校验码,使得可以有效地检测终端设备中的程序是否完整。
不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本发明的第五实施方式涉及一种程序的检测装置。第五实施方式在第四实施方式的基础上做了进一步的改进,主要改进之处在于:本发明第五实施方式中,计算模块还可以包括运算标识提取子模块、第一运算算法获取子模块与校验码获取子模块,如图5所示。
程序的检测装置400包括获取模块401、接收模块402与计算模块403。
获取模块401可用于从上位机中获取目标程序。
具体地说,获取模块401可以获取来自上位机的目标程序,以供针对目标程序进行检测。
接收模块402可用于接收来自上位机的校验码生成指令,其中,校验码生成指令中携带与运算算法一一对应的运算标识。
具体地说,上位机中可以预先存储两种运算算法,其中,两种运算算法分别对应不同的运算标识。上位机可以将其中一种运算算法设置为第一运算算法,并且可以根据上述第一运算算法运算目标程序,生成标准校验码,同时,可以将与生成标准校验码所采用的第一运算算法相对应的运算标识,携带在校验码生成指令中。接收模块402可以接收到来自上位机的携带有运算标识的校验码生成指令,以供计算模块403可以在接收模块402接收到校验码生成指令后生成目标程序的校验码。
计算模块403可以包括运算标识提取子模块4031、第一运算算法获取子模块4032与校验码获取子模块4033。
运算标识提取子模块4031可用于提取携带在校验码生成指令中的运算标识。
具体地说,接收模块402接收到来自上位机的校验码生成指令后,运算标识提取子模块4031可以提取携带在校验码生成指令中的与第一运算算法相对应的运算标识。
第一运算算法获取子模块4032可用于根据运算标识,以及预设的运算标识与运算算法的对应关系,获取与携带在校验码生成指令中的运算标识相对应的运算算法,并将获取的运算算法作为第一运算算法。
具体地说,获取模块401还可以预先获取存储在上位机中的两种运算算法,运算标识提取子模块4031在提取携带在校验码生成指令中的与第一运算算法相对应的运算标识后,第一运算算法获取子模块4032可以根据运算标识,以及预设的运算标识与运算算法的对应关系,从预先获取的两种运算算法中,获取与携带在校验码生成指令中的运算标识相对应的运算算法,并且可以将获取的运算算法设置为第一运算算法。
校验码获取子模块4033可用于以第一运算算法对获取的目标程序进行运算,生成目标程序的校验码。
具体地说,第一运算算法获取子模块4032在设置第一运算算法后,校验码获取子模块4033可以以第一运算算法对获取的目标程序进行运算,并生成目标程序的校验码。
发送模块403可用于在以第一运算算法生成目标程序的校验码后,将生成的校验码发送至上位机,由上位机比较目标程序的校验码和标准校验码。
具体地说,校验码获取子模块4033以第一运算算法运算目标程序,并生成目标程序的校验码后,发送模块403可以将生成的目标程序的校验码发送给上位机,从而上位机可以将目标程序的校验码与标准校验码进行比较。若比较结果为目标程序的校验码与标准校验码一致,则可以判定终端中所灌装的目标程序完整,若比较结果为目标程序的校验码与标准校验码不一致,则可以判定终端所灌装的目标程序不完整。
本发明实施方式中,可以通过运算标识获取第一运算,并以第一运算对目标程序进行运算,从而生成目标程序的校验码,这样,有助于后续将目标程序的校验码与标准校验码进行比较。在终端生成目标程序的校验码后,由上位机比较目标程序的校验码与标准校验码,可以在终端直接比较目标程序的校验码与标准校验码产生误差时,避免上位机无法及时获知,从而可以使比较结果更准确。
不难发现,本实施方式为与第二实施方式相对应的装置实施例,本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。
本发明的第六实施方式涉及一种程序的检测装置。第六实施方式在第四实施方式的基础上做了进一步的优化,主要优化之处在于:本发明第六实施方式中,程序的检测装置还可以包括标准校验码提取模块与比较模块,如图6所示。
程序的检测装置400包括获取模块401、接收模块402、计算模块403、标准校验码提取模块404与比较模块405。
获取模块401可用于从上位机中获取目标程序。
具体地说,获取模块401可以获取来自上位机的目标程序,以供针对目标程序进行检测。
接收模块402可用于接收来自上位机的校验码生成指令,其中,校验码生成指令中携带标准校验码。
具体地说,上位机可预先根据预设的第一运算算法运算目标程序,生成标准校验码,并且可以将生成的标准校验码携带在校验码生成指令中。获取模块401可以获取上位机中的第一运算算法,其中,预设的第一运算算法可以为杂凑运算。接收模块402可以接收到来自上位机的校验码生成指令,以供计算模块403可以在接收模块402接收到校验码生成指令后生成目标程序的校验码。
标准校验码提取模块404可用于提取校验码生成指令中的标准校验码。
具体地说,接收模块402接收到来自上位机的校验码生成指令后,标准校验码提取模块404可以提取携带在校验码生成指令中的标准校验码,以供后续将目标程序的校验码与标准校验码进行比较。
计算模块403可用于以第一运算算法生成目标程序的校验码。
具体地说,上位机可预先根据预设的第一运算算法运算目标程序,得出标准校验码,并保存得出的标准校验码,同时,获取模块401还可从上位机中获取预设的第一运算算法,其中,预设的第一运算算法可以为杂凑运算。接收模块402接收到校验码生成指令后,计算模块403可以采用第一运算算法对目标程序进行运算,生成目标程序的校验码。
比较模块405可用于在以第一运算算法生成目标程序的校验码后,比较目标程序的校验码和标准校验码,并将比较的结果反馈至上位机。
具体地说,计算模块403以预设的第一运算算法运算目标程序,并生成目标程序的校验码后,比较模块405可以比较生成的目标程序的校验码与标准校验码,并且可以将比较结果反馈至上位机。若比较结果为目标程序的校验码与标准校验码一致,则可以判定终端中所灌装的目标程序完整,若比较结果为目标程序的校验码与标准校验码不一致,则可以判定终端所灌装的目标程序不完整。
本发明实施方式中,终端在生成目标程序的校验码后,直接比较目标程序的校验码与标准校验码,并将比较结果反馈至上位机,可以使得程序的检测速度更快。
不难发现,本实施方式为与第三实施方式相对应的装置实施例,本实施方式可与第三实施方式互相配合实施。第三实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第三实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第七实施方式涉及一种电子设备,如图7所示,该电子设备包括:通信装置501、一个或多个处理器502、输入输出装置503以及存储器504,图7中以一个处理器502为例。
通信装置501、处理器502、输入输出装置503以及存储器504可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器504作为一种非易失性计算机可读存储介质,可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件,用于存储可被所述至少一个处理器502执行的指令,所述指令被至少一个处理器502执行。处理器502通过运行存储在存储器504中的指令,从而执行各种功能应用以及数据处理,即实现上述方法实施例中的程序的检测方法。
存储器504可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储用于程序的检测方法所创建的数据等。在一些实施例中,存储器504可选包括相对于处理器502远程设置的存储器,这些远程存储器可以通过网络连接至处理器502。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入输出装置503可接收输入的数字或字符信息,以及产生程序的检测方法的用户设置以及功能控制有关的键信号输入。输入输出装置503可包括显示屏等显示设备。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
本发明实施方式相对于现有技术而言,终端可以从上位机中获取目标程序,并且可以在接收到上位机发送的校验码生成指令后,生成目标程序的校验码。终端所生成的上述校验码可用于与标准校验码进行比较,从而,根据比较结果可以检验目标程序是否完整。这样,通过比较终端所生成的目标程序的校验码与标准校验码,使得可以有效地检测终端设备中的程序是否完整。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (3)

1.一种程序的检测方法,应用在终端设备中,其特征在于,所述终端设备为U盾,所述方法包括:
从上位机中获取目标程序;
接收来自所述上位机的校验码生成指令,所述校验码生成指令中携带与运算算法一一对应的运算标识;
提取携带在所述校验码生成指令中的运算标识;根据所述运算标识,以及预设的运算标识与运算算法的对应关系,获取与携带在所述校验码生成指令中的运算标识相对应的运算算法,并将获取的运算算法作为第一运算算法;以所述第一运算算法对获取的所述目标程序进行运算,生成所述目标程序的校验码;将生成的校验码发送至所述上位机,由所述上位机比较所述目标程序的校验码和标准校验码,所述比较的结果用于指示获取的所述目标程序是否完整;所述标准校验码为根据存储于所述上位机内的目标程序,以所述第一运算算法生成的校验码;
所述校验码生成指令中携带所述标准校验码;
所述程序的检测方法还包括:
所述接收来自所述上位机的校验码生成指令后,提取所述校验码生成指令中的所述标准校验码;
在所述以第一运算算法生成所述目标程序的校验码后,比较所述目标程序的校验码和所述标准校验码,并将所述比较的结果反馈至所述上位机。
2.一种程序的检测装置,其特征在于,包括:
获取模块,用于从上位机中获取目标程序;
接收模块,用于接收来自所述上位机的校验码生成指令,所述校验码生成指令中携带与运算算法一一对应的运算标识;
计算模块,用于根据获取的所述目标程序和所述校验码生成指令,以第一运算算法生成所述目标程序的校验码;具体包括:运算标识提取子模块,用于提取携带在所述校验码生成指令中的运算标识;第一运算算法获取子模块,用于根据所述运算标识,以及预设的运算标识与运算算法的对应关系,获取与携带在所述校验码生成指令中的运算标识相对应的运算算法,并将获取的运算算法作为第一运算算法;校验码获取子模块,用于以所述第一运算算法对获取的所述目标程序进行运算,生成所述目标程序的校验码;
发送模块,用于在所述以第一运算算法生成所述目标程序的校验码后,将生成的校验码发送至所述上位机,由所述上位机比较所述目标程序的校验码和标准校验码,所述比较的结果用于指示获取的所述目标程序是否完整;所述标准校验码为根据存储于所述上位机内的目标程序,以所述第一运算算法生成的校验码;
所述校验码生成指令中携带所述标准校验码;
所述程序的检测装置还包括:
标准校验码提取模块,用于所述接收来自所述上位机的校验码生成指令后,提取所述校验码生成指令中的所述标准校验码;
比较模块,用于在所述以第一运算算法生成所述目标程序的校验码后,比较所述目标程序的校验码和所述标准校验码,并将所述比较的结果反馈至所述上位机。
3.一种电子设备,其特征在于,包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1所述的程序的检测方法。
CN201710307197.7A 2017-05-04 2017-05-04 一种程序的检测方法、装置与电子设备 Active CN107102946B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710307197.7A CN107102946B (zh) 2017-05-04 2017-05-04 一种程序的检测方法、装置与电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710307197.7A CN107102946B (zh) 2017-05-04 2017-05-04 一种程序的检测方法、装置与电子设备

Publications (2)

Publication Number Publication Date
CN107102946A CN107102946A (zh) 2017-08-29
CN107102946B true CN107102946B (zh) 2021-04-23

Family

ID=59656909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710307197.7A Active CN107102946B (zh) 2017-05-04 2017-05-04 一种程序的检测方法、装置与电子设备

Country Status (1)

Country Link
CN (1) CN107102946B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109308281A (zh) * 2018-07-16 2019-02-05 郑州云海信息技术有限公司 一种gpu集群和一种计算系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104820609A (zh) * 2015-04-27 2015-08-05 北京世纪东方国铁科技股份有限公司 一种嵌入式系统及其升级维护方法
CN104978253A (zh) * 2015-06-24 2015-10-14 合肥格易集成电路有限公司 一种目标文件校验的方法和装置
CN105180378A (zh) * 2015-10-15 2015-12-23 珠海格力电器股份有限公司 空调及其升级控制方法和装置
US9430228B2 (en) * 2013-12-16 2016-08-30 International Business Machines Corporation Verification of backward compatibility of software components

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430228B2 (en) * 2013-12-16 2016-08-30 International Business Machines Corporation Verification of backward compatibility of software components
CN104820609A (zh) * 2015-04-27 2015-08-05 北京世纪东方国铁科技股份有限公司 一种嵌入式系统及其升级维护方法
CN104978253A (zh) * 2015-06-24 2015-10-14 合肥格易集成电路有限公司 一种目标文件校验的方法和装置
CN105180378A (zh) * 2015-10-15 2015-12-23 珠海格力电器股份有限公司 空调及其升级控制方法和装置

Also Published As

Publication number Publication date
CN107102946A (zh) 2017-08-29

Similar Documents

Publication Publication Date Title
CN109068179B (zh) 一种多平台直播方法、计算机装置及计算机可读存储介质
CN104599121B (zh) 一种信息传输方法、装置和系统
CN108206997B (zh) 蓝牙连接方法及装置
CN103037538B (zh) 数据传输方法及移动终端
CN106484453A (zh) 一种实现系统升级的方法及装置
US9081969B2 (en) Apparatus and method for remotely deleting critical information
KR20180004215A (ko) 데이터 전송 중에 검증을 구현하기 위한 시스템 및 방법
CN107766713B (zh) 人脸模板数据录入控制方法及相关产品
CN112069008A (zh) 设备调试信息获取方法、装置和设备调试信息生成方法
CN104301875A (zh) 短消息处理方法和装置
CN110113329B (zh) 一种验证码的验证方法及装置
CN106572074B (zh) 一种验证码的校验方法和装置
CN104504347A (zh) 一种数据一致性匹配处理方法和设备
CN109145651B (zh) 一种数据处理方法及装置
CN104850427A (zh) 一种代码升级方法及装置
CN111404695A (zh) 令牌请求验证方法和装置
CN110798432A (zh) 安全认证方法、装置和系统,移动终端
CN110234082B (zh) 一种移动终端的寻址方法、装置、存储介质和服务器
CN107102946B (zh) 一种程序的检测方法、装置与电子设备
CN104113853A (zh) 一种移动终端与sim卡间接口的检测方法及检测装置
CN111160157A (zh) 基于dwg图纸的文本提取方法及相关产品
CN106788993A (zh) 一种加密通信方法、装置及电子设备
CN106681714A (zh) 程序环境设置方法、装置及电子设备
CN104079527A (zh) 一种信息处理方法及电子设备
CN104298908A (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