CN107038353B - 软件程序的校验保护方法及系统 - Google Patents

软件程序的校验保护方法及系统 Download PDF

Info

Publication number
CN107038353B
CN107038353B CN201710192523.4A CN201710192523A CN107038353B CN 107038353 B CN107038353 B CN 107038353B CN 201710192523 A CN201710192523 A CN 201710192523A CN 107038353 B CN107038353 B CN 107038353B
Authority
CN
China
Prior art keywords
code segment
software program
verification
check
data
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
CN201710192523.4A
Other languages
English (en)
Other versions
CN107038353A (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.)
Nanjing Yujian Information Technology Co.,Ltd.
Original Assignee
Wuhan Douyu Network 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710192523.4A priority Critical patent/CN107038353B/zh
Publication of CN107038353A publication Critical patent/CN107038353A/zh
Application granted granted Critical
Publication of CN107038353B publication Critical patent/CN107038353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种软件程序的校验保护方法及系统,涉及软件程序开发领域。该方法的步骤为:获取软件程序加载的所有模块文件名称,对代码段进行哈希计算,得到代码段校验值;将所有模块文件名称和代码段校验值,作为校验数据发送至服务端;服务端对校验数据进行校验,若校验通过,向客户端发送软件程序合法的校验结果,客户端正常初始化软件程序;若校验未通过,向客户端发送软件程序非法的校验结果,客户端终止初始化软件程序。本发明能够对软件程序中的模块文件进行多重校验和保护,保证了软件开发商的利益,非常适于推广。

Description

软件程序的校验保护方法及系统
技术领域
本发明涉及软件程序开发领域,具体涉及一种软件程序的校验保护方法及系统。
背景技术
目前,软件程序通常采用模块化开发,将软件的功能进行模块化拆分为多份模块文件,不同文件负责不同的功能,每份文件均可单独使用。当软件程序发布至客户端后,程序主框架则会加载一个个独立的文件来实现整个程序的功能。
对于软件程序而言,以Windows客户端程序为例,该程序包括多个DLL(DynamicLink Library,文件为动态链接库文件)文件。Windows客户端程序发布至客户端后,第三方(例如HACK)能够非常容易的从客户端安装目录中,获取DLL文件,由于每份DLL文件均可独立使用,因此第三方获取任意DLL文件后,即可在未授权的情况下直接使用。例如第三方获取到具有图片美颜功能的DLL文件后,即可直接使用该文件的图片美颜功能。
因此,上述模块文件在使用时,软件程序的安全无法保障,进而对软件开发商的利益造成了损失,例如无偿使用了软件开发商拥有的关于模块文件的知识产权等。
发明内容
针对现有技术中存在的缺陷,本发明解决的技术问题为:如何避免第三方在未授权的情况下,使用自行获取的模块文件。本发明能够对软件程序中的模块文件进行多重校验和保护,保证了软件开发商的利益,非常适于推广。
为达到以上目的,本发明提供的软件程序的校验保护方法,包括以下步骤:
S1:当客户端上的软件程序进行初始化时,获取初始化过程中加载的所有模块文件名称,所有模块文件包括1份主模块文件和若干子模块文件,转到S2;
S2:获取主模块文件的内存起始地址、以及主模块文件中代码段的相对地址;根据起始地址和相对地址得到代码段的内存地址,根据内存地址确定代码段;对代码段进行哈希计算,得到代码段校验值,转到S3;
S3:将所述所有模块文件名称和代码段校验值,作为校验数据,将校验数据发送至服务端,转到S4;
S4:对校验数据进行校验,若校验通过,向客户端发送软件程序合法的校验结果,若校验未通过,向客户端发送软件程序非法的校验结果,转到S5;
S5:当客户端收到软件程序合法的校验结果时,初始化软件程序;当客户端收到软件程序非法的校验结果时,终止初始化软件程序。
本发明提供的软件程序的校验保护系统,包括模块文件名称获取单元、代码段计算单元、校验数据发送单元、校验单元和校验结果执行单元;
模块文件名称获取单元用于:当客户端上的软件程序进行初始化时,获取初始化过程中加载的所有模块文件名称,所有模块文件包括1份主模块文件和若干子模块文件,向代码段计算单元发送代码段计算信号;
代码段计算单元用于:收到代码段计算信号后,获取主模块文件的内存起始地址、以及主模块文件中代码段的相对地址;根据起始地址和相对地址得到代码段的内存地址,根据内存地址确定代码段;对代码段进行哈希计算,得到代码段校验值,向校验数据发送单元发送校验数据发送信号;
校验数据发送单元用于:收到校验数据发送信号后,将所述所有模块文件名称和代码段校验值,作为校验数据,将校验数据发送至服务端的校验单元;
校验单元用于:收到校验数据后,对校验数据进行校验,若校验通过,向客户端的校验结果执行单元发送软件程序合法的校验结果,若校验未通过,向客户端的校验结果执行单元发送软件程序非法的校验结果;
校验结果执行单元用于:当收到的校验结果为软件程序合法时,允许初始化软件程序;当收到的校验结果为软件程序非法时,终止初始化软件程序。
与现有技术相比,本发明的优点在于:
(1)参见本发明的S1至S5可知,本发明在软件程序初始化时,会要求客户端上传校验数据(主模块文件名称、子模块文件名称、以及主模块文件中的代码段),只有当所有校验数据均被服务端校验通过后,才给予软件程序正常运行的权限;若任意校验数据校验未通过,则终止软件程序的运行。
因此,本发明能够对软件程序中的模块文件进行多重校验和保护,即使第三方获取了模块文件,但未通过本发明的校验过程,也无法使用获取的模块文件,进而保证了软件开发商的利益,非常适于推广。
(2)参见本发明的S2和S4可知,本发明校验软件程序时,会校验客户端计算的主模块文件的代码段校验值,进而避免了第三方通过修改主模块文件代码段来改变校验结果的问题,显著提高了软件程序的校验质量。
在此基础上,本发明对代码段进行哈希计算时,会去除代码段中的重定位数据,进而保证了计算数据的统一,避免了主模块文件因加载位置不同而出现的计算数据不一致的情形。因此,本发明能够排除因计算数据不同而导致的错误校验结果,显著提高了校验结果的准确度。
(3)本发明发送和接收校验数据时,会分别对校验数据进行加解密,加解密方式自定义设置,进而提高了校验数据传输的安全性能,进一步提高了软件程序的校验质量。
附图说明
图1为本发明实施例中的软件程序的校验保护方法的流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例中的软件程序的校验保护方法,包括以下步骤:
S1:检测当前运行环境:当客户端上的软件程序进行初始化时,获取初始化过程中加载的所有模块文件名称,所有模块文件包括1份主模块文件和若干子模块文件。
S1中获取初始化过程中加载的所有模块文件的具体流程为:确定主模块文件名称后,获取主模块文件加载的所有文件名称,所述所有文件均为子模块文件。
S1的原理为:每个软件程序的模块文件,都包括1份主模块文件和若干子模块文件,当软件程序初始化时会先执行主模块文件(主模块文件名称对应该程序运行时的进程名称),再通过主模块文件来加载其他子模块文件。
S1的实现方式为:
S101:通过调用Windwos API函数GetModuleFileName来获取主模块文件名称,Windwos API函数原型为:
DWORD WINAPI GetModuleFileName(
HMODULE hModule,
LPTSTR lpFilename,
DWORD nSize);
其中参数hModule填入NULL标示获取主模块文件名称,参数lpFilename则会返回获取的主模块文件名称,参数nSize则会返回获取的主模块文件名称的长度。
S102:根据主模块文件的名称,通过调用Windows API函数CreateToolhelp32Snapshot,获取主模块文件加载的文件列表的快照:CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,ProcessID);其中参数TH32CS_SNAPMODULE标示获取文件的快照,参数ProcessID则是当前进程的ID。
S103:调用Windows API函数Module32First,在文件列表中获取第一个文件名称:bModule=Module32First(hModule,&me32);其中mem32结构中szExePath则是获取的文件名称。
S104:通过一个while循环来不断的调用函数Module32Next来获取下一个模块的名称:
while(bModule)
{bModule=Module32Next(hModule,&me32);}。
S2:获取主模块文件的内存起始地址、以及主模块文件中代码段的相对地址(即代码段的内存地址相对于内存起始地址的偏移量);根据起始地址和相对地址得到代码段的内存地址,根据内存地址确定代码段;去除代码段中的重定位数据后,使用MD5算法对代码段进行哈希计算,得到代码段校验值。
S2的原理为:主模块文件获取当前运行环境的功能代码在代码段中,若第三方修改主模块文件(核心模块文件)的代码段,则可能自行修改校验的结果,进而极大的降低软件程序的校验质量。后续对S2中计算的代码段校验值进行校验,则可防止第三方修改代码段,若代码段被修改,则代码段校验值会不同,进而无法通过校验。
S2中获取主模块文件的内存起始地址的实现方式为:通过调用Windows API函数GetModuleHandle,获取主模块文件的内存起始地址,函数原型为:HMODULEGetModuleHandle(LPCTSTRl pModuleName),其中参数pModuleName为主模块文件,返回值HMODULE为主模块文件的内存起始地址。
S2中代码段的相对地址和重定位数据,均在主模块文件的头部信息中获取;主模块文件的头部信息还包括:主模块文件的大小和名称、主模块文件包含的所有段、以及每个段的起始地址和大小。
S2去除代码段中的重定位数据后再进行哈希计算的原理为:主模块文件每次加载时,可能会加载至不同的内存地址,进而导致主模块文件对于直接寻址的指令每次都会发生变化;若根据变化后的重定位数据进行哈希计算,会导致每次的计算结果均不相同,进而导致计算结果校验不通过。将重定位数据去除则可保证代码段原始计算数据的统一,进而避免上述情况,排除因计算数据不同而导致的错误校验结果,提高了校验结果的准确度。
S3:将S1中的所有模块文件名称、以及S2中的代码段校验值作为校验数据,将校验数据压缩、并采用加密算法后,得到校验压缩包,将校验压缩包发送至服务端。
S4:服务端根据与S3对应的解密算法对校验压缩包进行解密和解压缩后,得到校验数据;校验数据发送前加密收到后解密,进一步提高校验数据的安全性能。对校验数据进行校验,若校验通过,向客户端发送软件程序合法的校验结果,若校验未通过,向客户端发送软件程序非法的校验结果。
S4中校验通过的校验数据需要同时满足以下条件:
1、校验数据中的所有模块文件名称,均与服务端的软件程序对应的文件相同;
2、校验数据中的代码段校验值,与服务端计算的代码段校验值相同。
S5:当客户端收到软件程序合法的校验结果时,正常初始化软件程序;当客户端收到软件程序非法的校验结果时,终止初始化软件程序、并返回错误。
本发明实施例中的软件程序的校验保护系统,包括模块文件名称获取单元、代码段计算单元、校验数据发送单元、校验单元和校验结果执行单元。
模块文件名称获取单元用于:当客户端上的软件程序进行初始化时,获取初始化过程中加载的所有模块文件名称,所有模块文件包括1份主模块文件和若干子模块文件,向代码段计算单元发送代码段计算信号。
代码段计算单元用于:收到代码段计算信号后,获取主模块文件的内存起始地址、以及主模块文件中代码段的相对地址;根据起始地址和相对地址得到代码段的内存地址,根据内存地址确定代码段;去除代码段中的重定位数据后(重定位数据和相对地址均在主模块文件的头部信息中获取),对代码段进行哈希计算,得到代码段校验值,向校验数据发送单元发送校验数据发送信号。
校验数据发送单元用于:收到校验数据发送信号后,将所述所有模块文件名称和代码段校验值,作为校验数据;采用加密算法对校验数据进行加密后,将校验数据发送至服务端的校验单元。
校验单元用于:收到校验数据后,采用解密算法对校验数据进行解密,解密算法与加密算法对应;对校验数据进行校验,若校验通过,向客户端的校验结果执行单元发送软件程序合法的校验结果,若校验未通过,向客户端的校验结果执行单元发送软件程序非法的校验结果。
校验单元校验通过的校验数据需要同时满足以下条件:校验数据中的所有模块文件名称,均与服务端的软件程序对应的文件相同;校验数据中的代码段校验值,与服务端计算的代码段校验值相同。
校验结果执行单元用于:当收到的校验结果为软件程序合法时,允许初始化软件程序;当收到的校验结果为软件程序非法时,终止初始化软件程序。
通过本发明实施例可知,本发明能够对软件程序中的模块文件进行多重校验和保护,即使第三方获取了模块文件,但未通过本发明的校验过程,也无法使用获取的模块文件,进而保证了软件开发商的利益,非常适于推广。
进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (4)

1.一种软件程序的校验保护方法,其特征在于,该方法包括以下步骤:
S1:当客户端上的软件程序进行初始化时,获取初始化过程中加载的所有模块文件名称,所有模块文件包括1份主模块文件和若干子模块文件,转到S2;主模块文件的名称对应程序运行时的进程名称;
S2:获取主模块文件的内存起始地址、以及主模块文件中代码段的相对地址;根据起始地址和相对地址得到代码段的内存地址,根据内存地址确定代码段;对代码段进行哈希计算,得到代码段校验值,转到S3;
S3:将所述所有模块文件名称和代码段校验值,作为校验数据,将校验数据发送至服务端,转到S4;
S4:服务端对校验数据进行校验,若校验通过,向客户端发送软件程序合法的校验结果,若校验未通过,向客户端发送软件程序非法的校验结果,转到S5;
S5:当客户端收到软件程序合法的校验结果时,初始化软件程序;当客户端收到软件程序非法的校验结果时,终止初始化软件程序;
S4中所述校验通过的校验数据需要同时满足以下条件:校验数据中的所有模块文件名称,均与服务端的软件程序对应的文件相同;校验数据中的代码段校验值,与服务端计算的代码段校验值相同;
S1中初始化过程中加载所有模块文件的具体流程为:确定主模块文件后,获取主模块文件加载的所有文件名称,所述所有文件名称均为子模块文件;
S2中所述对代码段进行哈希计算之前,需要去除代码段中的重定位数据;
S3中所述将校验数据发送至服务端之前,还需要采用加密算法对校验数据进行加密;S4中所述对校验数据进行校验之前,还需要采用解密算法对校验数据进行解密;解密算法与加密算法对应。
2.如权利要求1所述的软件程序的校验保护方法,其特征在于:所述重定位数据和代码段的相对地址,均在主模块文件的头部信息中获取。
3.一种软件程序的校验保护系统,其特征在于:该系统包括模块文件名称获取单元、代码段计算单元、校验数据发送单元、校验单元和校验结果执行单元;
模块文件名称获取单元用于:当客户端上的软件程序进行初始化时,获取初始化过程中加载的所有模块文件名称,所有模块文件包括1份主模块文件和若干子模块文件,向代码段计算单元发送代码段计算信号;主模块文件的名称对应程序运行时的进程名称;代码段计算单元用于:收到代码段计算信号后,获取主模块文件的内存起始地址、以及主模块文件中代码段的相对地址;根据起始地址和相对地址得到代码段的内存地址,根据内存地址确定代码段;对代码段进行哈希计算,得到代码段校验值,向校验数据发送单元发送校验数据发送信号;
校验数据发送单元用于:收到校验数据发送信号后,将所述所有模块文件名称和代码段校验值,作为校验数据,将校验数据发送至服务端的校验单元;
校验单元用于:收到校验数据后,对校验数据进行校验,若校验通过,向客户端的校验结果执行单元发送软件程序合法的校验结果,若校验未通过,向客户端的校验结果执行单元发送软件程序非法的校验结果;
校验结果执行单元用于:当收到的校验结果为软件程序合法时,允许初始化软件程序;当收到的校验结果为软件程序非法时,终止初始化软件程序;
所述校验单元校验通过的校验数据需要同时满足以下条件:校验数据中的所有模块文件名称,均与服务端的软件程序对应的文件相同;校验数据中的代码段校验值,与服务端计算的代码段校验值相同;
初始化过程中加载所有模块文件的具体流程为:确定主模块文件后,获取主模块文件加载的所有文件名称,所述所有文件名称均为子模块文件;
所述代码段计算单元对代码段进行哈希计算之前,需要去除代码段中的重定位数据;
所述校验数据发送单元将校验数据发送至服务端之前,还需要采用加密算法对校验数据进行加密;所述校验单元对校验数据进行校验之前,还需要采用解密算法对校验数据进行解密;解密算法与加密算法对应。
4.如权利要求3所述的软件程序的校验保护系统,其特征在于:所述代码段计算单元在主模块文件的头部信息中,获取重定位数据和代码段的相对地址。
CN201710192523.4A 2017-03-28 2017-03-28 软件程序的校验保护方法及系统 Active CN107038353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710192523.4A CN107038353B (zh) 2017-03-28 2017-03-28 软件程序的校验保护方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710192523.4A CN107038353B (zh) 2017-03-28 2017-03-28 软件程序的校验保护方法及系统

Publications (2)

Publication Number Publication Date
CN107038353A CN107038353A (zh) 2017-08-11
CN107038353B true CN107038353B (zh) 2020-07-31

Family

ID=59533789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710192523.4A Active CN107038353B (zh) 2017-03-28 2017-03-28 软件程序的校验保护方法及系统

Country Status (1)

Country Link
CN (1) CN107038353B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256353B (zh) * 2018-01-11 2021-01-01 武汉斗鱼网络科技有限公司 一种数据完整性校验方法、装置及客户端
CN112668004B (zh) * 2019-10-16 2022-06-21 武汉斗鱼网络科技有限公司 一种基于llvm的函数校验方法及相关装置
CN112528342B (zh) * 2020-12-29 2022-06-28 内蒙古工业大学 一种基于编译中间结果的软件保护方法
CN113434121A (zh) * 2021-06-29 2021-09-24 上海律信信息科技有限公司 一种基于加密算法的软件开发系统
CN116737526A (zh) * 2022-03-01 2023-09-12 华为技术有限公司 一种代码段动态度量方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014137324A1 (en) * 2013-03-05 2014-09-12 Mcafee, Inc. Execution profile assembly using branch records
CN105233499A (zh) * 2015-09-25 2016-01-13 广州华多网络科技有限公司 一种游戏代码校验的方法及游戏客户端、系统
CN106055933A (zh) * 2016-06-24 2016-10-26 武汉斗鱼网络科技有限公司 一种客户端软件代码校验的方法及系统
CN106446616A (zh) * 2016-09-14 2017-02-22 金蝶软件(中国)有限公司 一种软件保护方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014137324A1 (en) * 2013-03-05 2014-09-12 Mcafee, Inc. Execution profile assembly using branch records
CN105233499A (zh) * 2015-09-25 2016-01-13 广州华多网络科技有限公司 一种游戏代码校验的方法及游戏客户端、系统
CN106055933A (zh) * 2016-06-24 2016-10-26 武汉斗鱼网络科技有限公司 一种客户端软件代码校验的方法及系统
CN106446616A (zh) * 2016-09-14 2017-02-22 金蝶软件(中国)有限公司 一种软件保护方法及装置

Also Published As

Publication number Publication date
CN107038353A (zh) 2017-08-11

Similar Documents

Publication Publication Date Title
CN107038353B (zh) 软件程序的校验保护方法及系统
CN109214168B (zh) 固件升级方法及装置
US8966248B2 (en) Secure software file transfer systems and methods for vehicle control modules
US8959659B2 (en) Software authorization system and method
US20170010875A1 (en) Method for Deploying BIOS Integrity Measurement via BIOS Update Package and System Therefor
CN110278115B (zh) 热更新方法及装置
US8615665B2 (en) Method for providing high assurance integrity of installed software images in a software defined radio
CN111143869B (zh) 应用程序包处理方法、装置、电子设备及存储介质
EP3026557A1 (en) Method and device for providing verifying application integrity
US20130185564A1 (en) Systems and methods for multi-layered authentication/verification of trusted platform updates
CN109284585B (zh) 一种脚本加密方法、脚本解密运行方法和相关装置
CN103577206A (zh) 一种应用软件的安装方法和装置
CN110333868B (zh) 用于生成子应用的安装包的方法和系统
Mbakoyiannis et al. Secure over-the-air firmware updating for automotive electronic control units
EP3026559A1 (en) Method and device for providing verifying application integrity
CN107239299B (zh) 插件升级方法及装置
CN108055585B (zh) 数据处理方法、机顶盒升级方法、终端和机顶盒
CN111917540A (zh) 一种数据加解密方法、装置、移动终端和存储介质
KR20160020294A (ko) 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템
US20050125659A1 (en) Method and device for authenticating digital data by means of an authentication extension module
US11960608B2 (en) Fast secure booting method and system
US11429489B2 (en) Device recovery mechanism
Lethaby A more secure and reliable OTA update architecture for IoT devices
CN114143197B (zh) 物联网设备ota升级方法、装置、设备及可读存储介质
CN112817615B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230605

Address after: Room 3036-1, the third floor of Cuiping Science and Technology Innovation Building, No. 7, Nanyou Road, Jiangning Development Zone, Jiangning District, Nanjing, Jiangsu Province, 210000

Patentee after: Nanjing Yujian Information Technology Co.,Ltd.

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.