CN112231651A - 一种防止反编译篡改版权授权的方法 - Google Patents

一种防止反编译篡改版权授权的方法 Download PDF

Info

Publication number
CN112231651A
CN112231651A CN202011154157.1A CN202011154157A CN112231651A CN 112231651 A CN112231651 A CN 112231651A CN 202011154157 A CN202011154157 A CN 202011154157A CN 112231651 A CN112231651 A CN 112231651A
Authority
CN
China
Prior art keywords
file
value
core
database
tampering
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
CN202011154157.1A
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.)
Shandong Chaoyue CNC Electronics Co Ltd
Original Assignee
Shandong Chaoyue CNC Electronics 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 Shandong Chaoyue CNC Electronics Co Ltd filed Critical Shandong Chaoyue CNC Electronics Co Ltd
Priority to CN202011154157.1A priority Critical patent/CN112231651A/zh
Publication of CN112231651A publication Critical patent/CN112231651A/zh
Pending legal-status Critical Current

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/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种防止反编译篡改版权授权的方法,属于云安全管理技术领域,该方法基于文件的MD5值生成核心代码注册文件,并将核心代码注册文件信息保存至数据库;对所述数据库保存的加密核心文件MD5值进行解密,然后将解密得到的MD5值与***运行核心文件MD5值进行比较,判断版权模块核心文件是否被修改。本发明能够对云安全管理***版权管理模块升级,避免***的核心代码被反编译篡改版权授权,实现对***版权更加有效的控制。

Description

一种防止反编译篡改版权授权的方法
技术领域
本发明涉及云安全管理技术领域,尤具体地说是一种防止反编译篡改版权授权的方法。
背景技术
计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(比如可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。
然而反编译代码可以轻易得到工程里某个文件的源代码,工程中对于版权授权模块的代码如果被反编译,进而修改或者替换某个源文件甚至整个工程文件,达到绕过版权授权模块的目的,此现象便会给致力于研发的企业带来很大的损失。
发明内容
本发明的技术任务是针对以上不足之处,提供一种防止反编译篡改版权授权的方法,能够对云安全管理***版权管理模块升级,避免***的核心代码被反编译篡改版权授权,实现对***版权更加有效的控制。
一种防止反编译篡改版权授权的方法,基于文件的MD5值生成核心代码注册文件,并将核心代码注册文件信息保存至数据库;
对所述数据库保存的加密核心文件MD5值进行解密,然后将解密得到的MD5值与***运行核心文件MD5值进行比较,判断版权模块核心文件是否被修改。
该方法避免***的核心代码被反编译篡改版权授权,在优化云安全管理***上保障***的版权管理模块,达到***对用户版权及合法使用进行有效的控制;
该方法开发的防止反编译篡改授权的设计充分考虑了对***的安全性,高性能性,可靠性,可维护性,可移植性和可扩展性等。
优选的,所述基于文件的MD5值生成核心代码注册文件,即基于文件的MD5值对生成注册文件时收集的服务器硬件信息、***信息以及版权有效日期和版权模块核心代码文件的MD5值分别通过私钥进行加密。
优选的,所述加密为RSA算法加密。RSA算法基于一个十分简单的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
优选的,加密形成的代码文件MD5值的密文以JSON或文件的形式单独上传服务器,保存至数据库。
进一步的,对***的定时轮询任务添加对保存在数据库的加密核心文件MD5值解密,实现监测。每天固定时间对所述MD5值进行解密,并将解密得到的MD5值与***运行核心文件MD5值进行比较,判断版权模块核心文件是否被修改,达到检测的目的。
优选的,该方法的具体实现过程如下:
1)、生成核心代码注册文件,
在用户安装软件的时候,根据用户所安装的计算机服务器对工程里版权模块核心文件代码的MD5值生成注册信息,将注册信息写入文件,形成核心代码注册文件;
2)、保存数据库,
在软件产品安装后,页面提交上传生成的核心代码注册文件,并将文件信息保存在数据库;
3)、监测,
采用每天定时轮询的方式对数据库保存的加密的核心文件MD5值进行解密,通过获取***运行核心文件MD5值将两者进行比较。
进一步的,将解密得到的MD5值与***运行核心文件MD5值进行比较,若获取***核心文件MD5值为空或者NULL,则判断为版权模块核心文件已被剔除绕过;若数据库解密的核心文件MD5值与获取***运行核心文件MD5值比较结果不同,则判断为版权模块核心文件已被修改绕过校验。
优选的,所述生成核心代码注册文件,将注册信息进行Base64编码,形成核心代码注册文件。
本发明还要求保护一种防止反编译篡改版权授权的装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行上述的方法。
本发明还要求保护一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述的方法。
本发明的一种防止反编译篡改版权授权的方法,与现有技术相比具有以下优点:
该方法可以有效防止他人侵犯企业的版权,维护企业的合法权益;
帮助企业在科研开发及生产经营活动中,提高版权意识,避免侵犯他人的版权,一旦涉及侵权案件,能为自己作出合理的抗辩;
有利于做好版权经营管理工作,可以使版权为企业带来收益,版权产业是经济发展的动力,版权中蕴藏着巨大的财富,版权作为企业的无形资产可以为企业带来巨大的收益。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1是本发明防止反编译篡改版权授权的方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明的方案,下面结合具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。这套算法的程序在RFC1321标准中被加以规范。1996年后该算法被证实存在弱点,可以被加以破解,对于需要高度安全性的数据,专家一般建议改用其他算法,如SHA-2。2004年,证实MD5算法无法防止碰撞(collision),因此不适用于安全性认证,如SSL公开密钥认证或是数字签名等用途。
本发明实施例提供一种防止反编译篡改版权授权的方法,基于文件的MD5值生成核心代码注册文件,并将核心代码注册文件信息保存至数据库;
对所述数据库保存的加密核心文件MD5值进行解密,然后将解密得到的MD5值与***运行核心文件MD5值进行比较,判断版权模块核心文件是否被修改。
所述基于文件的MD5值生成核心代码注册文件,即基于文件的MD5值对生成注册文件时收集的服务器硬件信息、***信息以及版权有效日期和版权模块核心代码文件的MD5值分别通过私钥进行加密。
所述加密为RSA算法加密。RSA算法基于一个十分简单的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
加密形成的代码文件MD5值的密文同样以JSON或文件的形式单独上传服务器,保存至数据库。
之后对***的定时轮询任务添加对保存在数据库的加密核心文件MD5值解密,拿解密得到MD5值与***得到的该文件的MD5值作比较,实现监测。
每天固定时间对所述MD5值进行解密,并将解密得到的MD5值与***运行核心文件MD5值进行比较,判断版权模块核心文件是否被修改,达到检测的目的。
该方法的具体实现过程如下:
1)、生成核心代码注册文件,
在用户安装软件的时候,根据用户所安装的计算机服务器对工程里版权模块核心文件代码的MD5值生成注册信息,将注册信息写入文件,对注册信息进行Base64编码,最终形成核心代码注册文件;
2)、保存数据库,
在软件产品安装后,页面提交上传生成的核心代码注册文件,并将文件信息保存在数据库;
3)、监测,
采用每天凌晨01点定时轮询的方式对数据库保存的加密的核心文件MD5值进行解密,通过获取***运行核心文件MD5值将两者进行比较:
若获取***核心文件MD5值为空或者NULL,则判断为版权模块核心文件已被剔除绕过;
若数据库解密的核心文件MD5值与获取***运行核心文件MD5值比较结果不同,则判断为版权模块核心文件已被修改绕过校验。
该方法能够避免***的核心代码被反编译篡改版权授权,在优化云安全管理***上保障***的版权管理模块,达到***对用户版权及合法使用进行有效的控制;
该方法开发的防止反编译篡改授权的设计充分考虑了对***的安全性,高性能性,可靠性,可维护性,可移植性和可扩展性等。
本发明还要求保护一种防止反编译篡改版权授权的装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行上述实施例中的防止反编译篡改版权授权的方法。
本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行本发明上述实施例中的防止反编译篡改版权授权的方法。具体地,可以提供配有存储介质的***或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作***等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到***计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

Claims (10)

1.一种防止反编译篡改版权授权的方法,其特征在于基于文件的MD5值生成核心代码注册文件,并将核心代码注册文件信息保存至数据库;
对所述数据库保存的加密核心文件MD5值进行解密,然后将解密得到的MD5值与***运行核心文件MD5值进行比较,判断版权模块核心文件是否被修改。
2.根据权利要求1所述的一种防止反编译篡改版权授权的方法,其特征在于所述基于文件的MD5值生成核心代码注册文件,即基于文件的MD5值对生成注册文件时收集的服务器硬件信息、***信息以及版权有效日期和版权模块核心代码文件的MD5值分别通过私钥进行加密。
3.根据权利要求2所述的一种防止反编译篡改版权授权的方法,其特征在于所述加密为RSA算法加密。
4.根据权利要求2所述的一种防止反编译篡改版权授权的方法,其特征在于加密形成的代码文件MD5值的密文以JSON或文件的形式单独上传服务器,保存至数据库。
5.根据权利要求1所述的一种防止反编译篡改版权授权的方法,其特征在于对***的定时轮询任务添加对保存在数据库的加密核心文件MD5值解密,实现监测。
6.根据权利要求1所述的一种防止反编译篡改版权授权的方法,其特征在于该方法的具体实现过程如下:
1)、生成核心代码注册文件,
在用户安装软件的时候,根据用户所安装的计算机服务器对工程里版权模块核心文件代码的MD5值生成注册信息,将注册信息写入文件,形成核心代码注册文件;
2)、保存数据库,
在软件产品安装后,页面提交上传生成的核心代码注册文件,并将文件信息保存在数据库;
3)、监测,
采用每天定时轮询的方式对数据库保存的加密的核心文件MD5值进行解密,通过获取***运行核心文件MD5值将两者进行比较。
7.根据权利要求1或5或6所述的一种防止反编译篡改版权授权的方法,其特征在于将解密得到的MD5值与***运行核心文件MD5值进行比较,若获取***核心文件MD5值为空或者NULL,则判断为版权模块核心文件已被剔除绕过;若数据库解密的核心文件MD5值与获取***运行核心文件MD5值比较结果不同,则判断为版权模块核心文件已被修改绕过校验。
8.根据权利要求6所述的一种防止反编译篡改版权授权的方法,其特征在于所述生成核心代码注册文件,将注册信息进行Base64编码,形成核心代码注册文件。
9.一种防止反编译篡改版权授权的装置,其特征在于包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至8任一所述的方法。
10.一种计算机可读介质,其特征在于所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至8任一所述的方法。
CN202011154157.1A 2020-10-26 2020-10-26 一种防止反编译篡改版权授权的方法 Pending CN112231651A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011154157.1A CN112231651A (zh) 2020-10-26 2020-10-26 一种防止反编译篡改版权授权的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011154157.1A CN112231651A (zh) 2020-10-26 2020-10-26 一种防止反编译篡改版权授权的方法

Publications (1)

Publication Number Publication Date
CN112231651A true CN112231651A (zh) 2021-01-15

Family

ID=74109978

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011154157.1A Pending CN112231651A (zh) 2020-10-26 2020-10-26 一种防止反编译篡改版权授权的方法

Country Status (1)

Country Link
CN (1) CN112231651A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113676473A (zh) * 2021-08-19 2021-11-19 中国电信股份有限公司 网络业务安全防护装置、方法以及存储介质
CN117909939A (zh) * 2024-03-19 2024-04-19 麒麟软件有限公司 一种基于代码文本内容的代码保护方法及编译器文本锁

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103065072A (zh) * 2011-10-21 2013-04-24 北京大学 提高Java软件破解难度的方法及装置、版权验证方法
CN107133499A (zh) * 2017-05-10 2017-09-05 百望电子***数据服务有限公司 一种软件版权保护方法、客户端、服务端以及***
CN109194625A (zh) * 2018-08-10 2019-01-11 厦门市美亚柏科信息股份有限公司 一种基于云端服务器的客户端应用保护方法、装置及存储介质
CN109981283A (zh) * 2019-02-28 2019-07-05 西安理工大学 Android平台消息驱动核心代码完整性检测***及方法
CN110138733A (zh) * 2019-04-03 2019-08-16 华南理工大学 基于区块链的对象存储***可信存证与访问权限控制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103065072A (zh) * 2011-10-21 2013-04-24 北京大学 提高Java软件破解难度的方法及装置、版权验证方法
CN107133499A (zh) * 2017-05-10 2017-09-05 百望电子***数据服务有限公司 一种软件版权保护方法、客户端、服务端以及***
CN109194625A (zh) * 2018-08-10 2019-01-11 厦门市美亚柏科信息股份有限公司 一种基于云端服务器的客户端应用保护方法、装置及存储介质
CN109981283A (zh) * 2019-02-28 2019-07-05 西安理工大学 Android平台消息驱动核心代码完整性检测***及方法
CN110138733A (zh) * 2019-04-03 2019-08-16 华南理工大学 基于区块链的对象存储***可信存证与访问权限控制方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113676473A (zh) * 2021-08-19 2021-11-19 中国电信股份有限公司 网络业务安全防护装置、方法以及存储介质
CN117909939A (zh) * 2024-03-19 2024-04-19 麒麟软件有限公司 一种基于代码文本内容的代码保护方法及编译器文本锁
CN117909939B (zh) * 2024-03-19 2024-06-07 麒麟软件有限公司 一种基于代码文本内容的代码保护方法及编译器文本锁

Similar Documents

Publication Publication Date Title
US8533859B2 (en) System and method for software protection and secure software distribution
CN106571951B (zh) 审计日志获取方法、***及装置
US11979505B2 (en) File acquisition method and device based on two-dimensional code and two-dimensional code generating method
CN108737171B (zh) 一种管理云服务集群的方法和***
JP2007028014A (ja) デジタル署名プログラム、デジタル署名システム、デジタル署名方法、署名検証方法
JP2007028015A (ja) タイムスタンプ検証プログラム、タイムスタンプ検証システム、タイムスタンプ検証方法、タイムスタンプ生成依頼方法
CN111859415A (zh) 神经网络模型加密***和方法
CN105099705A (zh) 一种基于usb协议的安全通信方法及其***
CN112231651A (zh) 一种防止反编译篡改版权授权的方法
CN104123488A (zh) 应用程序的验证方法和装置
CN112685786A (zh) 一种金融数据加密、解密方法、***、设备及存储介质
CN108270574B (zh) 一种白名单库文件的安全加载方法及装置
CN111585995B (zh) 安全风控信息传输、处理方法、装置、计算机设备及存储介质
CN116662957A (zh) 身份认证方法、装置、计算机可读存储介质及计算机设备
CN114785514A (zh) 一种用于工业物联化终端应用许可授权的方法及***
CN102750479A (zh) 一种分层软件版权保护方法和***
CN112968774B (zh) 一种组态存档加密及解密方法、装置存储介质及设备
CN108933766B (zh) 一种提高设备id安全性的方法和客户端
CN112000933B (zh) 应用软件的激活方法、装置、电子设备及存储介质
CN112383577A (zh) 授权方法、装置、***、设备和存储介质
WO2018033017A1 (zh) 一种授信的终端状态转换方法和***
CN111600701A (zh) 一种基于区块链的私钥存储方法、装置及存储介质
CN113542187A (zh) 文件上传下载方法、装置、计算机装置及介质
KR101415786B1 (ko) 온라인 실행 코드 기술과 암호화 기반 불법 복제 방지 시스템 및 그 방법
CN102739656A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210115

RJ01 Rejection of invention patent application after publication