CN116383781B - 一种软件运行参数的控制方法、电子设备及存储介质 - Google Patents

一种软件运行参数的控制方法、电子设备及存储介质 Download PDF

Info

Publication number
CN116383781B
CN116383781B CN202310659047.8A CN202310659047A CN116383781B CN 116383781 B CN116383781 B CN 116383781B CN 202310659047 A CN202310659047 A CN 202310659047A CN 116383781 B CN116383781 B CN 116383781B
Authority
CN
China
Prior art keywords
operation parameter
stored
steps
parameter
parameters
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
CN202310659047.8A
Other languages
English (en)
Other versions
CN116383781A (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.)
China Travelsky Mobile Technology Co Ltd
Original Assignee
China Travelsky Mobile 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 China Travelsky Mobile Technology Co Ltd filed Critical China Travelsky Mobile Technology Co Ltd
Priority to CN202310659047.8A priority Critical patent/CN116383781B/zh
Publication of CN116383781A publication Critical patent/CN116383781A/zh
Application granted granted Critical
Publication of CN116383781B publication Critical patent/CN116383781B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Numerical Control (AREA)

Abstract

本发明提供了一种软件运行参数的控制方法、电子设备及存储介质,所述方法包括以下步骤:获取目标软件的运行参数集S=(S1,S2,…,Sm,…,Sn);其中,Sm为第m个运行参数,n为运行参数的数量;遍历S,根据各Sm的参数属性,将各Sm存储于若干数据块内,得到数据块集T1=(T1 1,T1 2,…,T1 p,…,T1 q),p=1,2,…,q;其中,T1 p为第p个数据块,q为数据块的数量,q≥2;遍历T1,通过预设的加密算法对T1 p进行加密,得到第一加密文件集T2=(T2 1,T2 2,…,T2 p,…,T2 q);其中,T2 p为T1 p加密后的第一加密文件;将T2存储于预设的存储空间R1中。

Description

一种软件运行参数的控制方法、电子设备及存储介质
技术领域
本发明涉及软件运行领域,特别是涉及一种软件运行参数的控制方法、电子设备及存储介质。
背景技术
软件在启动或者运行过程中,会调用与软件功能相关的运行参数,这些参数对软件而言,是比较重要的;这些运行参数一般会以明文的形式,存储于软件安装的目标设备上预设的存储空间中,而该存储空间是比较容易被找到的;因此,该存储空间内存储的软件运行参数一旦泄露,由于软件的运行参数是以明文形式存在的,会导致该软件很容易被用户破解。
发明内容
针对上述技术问题,本发明采用的技术方案为:
根据本申请的第一方面,提供了一种软件运行参数的控制方法,其特征在于,所述控制方法包括以下步骤:
S100,获取目标软件的运行参数集S=(S1,S2,…,Sm,…,Sn),m=1,2,…,n;其中,Sm为第m个运行参数,n为运行参数的数量;
S200,遍历S,根据各Sm的参数属性,将各Sm存储于至少两个数据块内,得到数据块集T1=(T1 1,T1 2,…,T1 p,…,T1 q),p=1,2,…,q;其中,T1 p为第p个数据块,q为数据块的数量,q≥2;
S300,遍历T1,通过预设的加密算法对T1 p进行加密,得到第一加密文件集T2=(T2 1,T2 2,…,T2 p,…,T2 q);其中,T2 p为T1 p加密后的第一加密文件;
S400,将T2存储于预设的存储空间R1中。
根据本申请的另一方面,还提供了一种非瞬时性计算机可读存储介质,存储介质中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现上述软件运行参数的控制方法。
根据本申请的另一方面,还提供了一种电子设备,包括处理器和上述非瞬时性计算机可读存储介质。
本发明至少具有以下有益效果:
本发明的软件运行参数的控制方法,将目标软件的各运行参数根据各自的参数属性,分别存储于不少于一个数据块中,并对各个数据块进行加密,生成第一加密文件,将各第一加密文件存储于预设的存储空间R1中;由于存储各运行参数的数据块是经过加密的,因此,即使存储有运行参数的加密文件泄露,在不知道加密算法及秘钥的情况下,也无法对软件进行破解,从而提高破解目标软件的难度。
进一步的,若将所有的运行参数全部存储于一个数据块中,那么,想要获取运行参数,只需要在对应的一个数据块中查找运行参数即可;而本发明将各运行参数分别存储于多个数据块中,在不知道各个运行参数与各数据块的存储关系的情况下,想要获取到运行参数,首先要获取各运行参数对应存储的数据块的位置;从而能够提高运行参数的获取难度,进一步提高破解目标软件的难度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的软件运行参数的控制方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
本发明实施例提供了一种软件运行参数的控制方法,应用于目标软件,所述目标软件安装于目标设备中,所述目标设备中设置有存储空间R1,用于存储加密后的运行参数。
本实施例中,在目标软件启动或者运行过程中,会依赖一些运行参数,在目标软件安装后,会在目标设备上建立存储空间R1,来存储加密后的运行参数;标设备指的是安装有目标软件的终端设备;例如,计算机、手机等。
下面将参照图1所述的软件运行参数的控制方法的流程图,对一种软件运行参数的控制方法进行介绍。
该软件运行参数的控制方法包括以下步骤:
S100,获取目标软件的运行参数集S=(S1,S2,…,Sm,…,Sn),m=1,2,…,n;其中,Sm为第m个运行参数,n为运行参数的数量。
本实施例中,对于目标软件而言,在软件的开发过程中会设置有与目标软件启动或者运行相关的运行参数,可以根据各运行参数的参数名来获取到这些运行参数。
S200,遍历S,根据各Sm的参数属性,将各Sm存储于至少两个数据块内,得到数据块集T1=(T1 1,T1 2,…,T1 p,…,T1 q),p=1,2,…,q;其中,T1 p为第p个数据块,q为数据块的数量,q≥2。
本实施例中,各运行参数具有参数属性,例如,某一运行参数所归属于哪一个功能函数,或者某一运行参数是软件启动用的运行参数还是软件运行过程中会被调用的运行参数等。根据各运行参数的参数属性,可以将各运行参数分为若干类别,然后将每一类别的运行参数存储于一个数据块内,数据块的数量至少为2。
将目标软件的各运行参数存储于至少两个个数据块内,那么,用户想要获取软件的某些运行参数时,首先要知道想要获取的运行参数所对应存储的数据块,从而增加了软件运行参数的获取难度;如果将所有的运行参数存储于一个数据块内,那么,用户只需找到存储运行参数的数据块,即可找到所有运行参数所存储的位置。
S300,遍历T1,通过预设的加密算法对T1 p进行加密,得到第一加密文件集T2=(T2 1,T2 2,…,T2 p,…,T2 q);其中,T2 p为T1 p加密后的第一加密文件。
将各运行参数分文件存储之后,采用预设的加密算法对所有的数据块进行加密;预设的加密算法可以为sm4加密算法,或者其他的加密算法;可以理解的是,采用预设的加密算法对数据块加密时,可以将加密秘钥获取,以通过该秘钥来解密第一加密文件。
S400,将T2存储于预设的存储空间R1中。
本实施例中,可以将所有的第一加密文件存储于同一存储位置,也可以将每个或者若干个第一加密文件存储于不同的存储位置,以提高加密后的运行参数的获取难度,进一步提高目标软件破解的难度。
本实施例的软件运行参数的控制方法,将目标软件的各运行参数根据各自的参数属性,分别存储于不少于一个数据块中,并对各个数据块进行加密,生成第一加密文件,将各第一加密文件存储于预设的存储空间R1中;由于存储各运行参数的数据块是经过加密的,因此,即使存储有运行参数的加密文件泄露,在不知道加密算法及秘钥的情况下,也无法对软件进行破解,从而提高破解目标软件的难度。
进一步的,若将所有的运行参数全部存储于一个数据块中,那么,想要获取运行参数,只需要在对应的一个数据块中查找运行参数即可;而本发明将各运行参数分别存储于多个数据块中,在不知道各个运行参数与各数据块的存储关系的情况下,想要获取到运行参数,首先要获取各运行参数对应存储的数据块的位置;从而能够提高运行参数的获取难度,进一步提高破解目标软件的难度。
在一示例性的实施例中,所述步骤S200包括以下步骤:
S210,根据S,获取第一运行参数集S1=(S1 1,S1 2,…,S1 j,…,S1 k),j=1,2,…,k;其中,S1 j为第j个用于目标软件启动的第一运行参数,k为第一运行参数的数量;k<n。
在目标软件的所有运行参数中,有一些运行参数是用于目标软件启动的运行参数,可以将所有的用于目标软件启动的运行参数获取,形成S1
S211,将S1存储于T1 1内。
本实施例中,在目标软件启动时,是需要调用所有的与目标软件启动相关联的运行参数;而在调用这些运行参数的时候,需要先对存储有这些运行参数的第一加密文件解密;那么,将S1内所有的运行参数存储于T1 1内,目标软件在启动时,可以首先对T1 1解密,一次性地调用T1 1所有的运行参数,从而缩短目标软件的启动时间;而如果将S1内的运行参数分布存储于多个数据块内,那么,在目标软件启动时,需要对存储有S1内的运行参数的多个第一加密文件进行解密,这无疑会增加目标软件的启动时间。
S212,获取S内剩余的各运行参数与所述目标软件的各功能函数的对应关系。
本实施例中,可以理解的是,S内剩余的各运行参数为与各功能函数相关联的运行参数,每一运行参数会对应一个功能函数,而一个功能函数可能会对应多个运行参数。
S213,根据对应关系,将同一功能函数对应的S内剩余的各运行参数存储于至少两个数据块内,得到T1
根据S内剩余的各运行参数与功能函数的对应关系,可以将某一功能函数对应的所有运行参数找出,此时,不包含S1内的运行参数;那么,将该功能函数对应的所有运行参数存储于至少两个数据块内;例如,某一功能函数g()对应运行参数X1、X2和X3,将X1、X2和X3存储于两个数据块或三个数据块内。
在一些场景下,用户可能会单独获取较为重要的功能函数的所有运行参数,那么,由于各功能函数的运行参数存储于多个数据块内,想要获取该功能函数的运行参数,需要首先获取到各运行参数所对应存储的数据块,从而增加功能函数的运行参数获取的难度。
在一示例性的实施例中,所述步骤S200包括以下步骤:
S220,获取目标软件各运行参数的调用频率。
目标软件在使用过程中各运行参数在一定的时间内会被调用多次,根据各运行参数在一定时间段内被调用的次数,可以得到各运行参数的调用频率。
S221,根据各运行参数的调用频率,获取第二运行参数集S2=(S2 1,S2 2,…,S2 a,…,S2 b),a=1,2,…,b;其中,S2 a为第a个第二运行参数,b为第二运行参数的数量;f_S2 a>f0,f_S2 a为S2 a的调用频率,f0为预设的调用频率阈值,b<n。
本实施例中,设定运行参数的调用频率阈值f0,获取所有调用频率大于f0的运行参数,形成S2
S222,将S2内的各S2 a存储于至少两个数据块内。
对于q个数据块,首先,S2内的各S2 a存储于至少两个数据块内;进一步的,可以不选择全部的数据块进行存储,也可以选择全部的数据块进行存储。
S223,将S内剩余的各运行参数分散存储于各数据块内,得到T1
针对所有的数据块,将S内剩余的各运行参数分散存储于部分数据块内,也可以分散存储于所有的数据块内;分散的方式可以采用平均的方式,也可以采用指定存储于特定的数据块的方式。
本实施例中,调用频率较高的运行参数,对于目标软件而言,是较为重要的运行参数,获取到这些较为重要的运行参数,可能能够破解目标软件;那么,将这些运行参数存储于至少两个数据块内;用户想要获取这些较为重要的运行参数,需要首先获取到各运行参数所对应存储的数据块,从而提高重要运行参数获取的难度以及破解目标软件的难度。
上述实施例是对目标软件使用之前,各运行参数的控制方法的描述,而在目标软件启动时,目标软件会在缓存空间R2中对T2解密以得到解密文件集T3=(T3 1,T3 2,…,T3 p,…,T3 q);其中,T3 p为T2 p的解密文件;用户在使用目标软件过程中,会修改一些运行参数,那么,当获取到的运行参数修改指令后,执行以下步骤:
S510,获取修改后的运行参数c。
S520,将c发送至预设的加密模块。
本实施例中,加密模块是预设的,加密模块具有运行参数替换和对加密文件处理的功能。
S530,通过所述加密模块,获取与c对应的解密文件,并使用c对该解密文件内与c对应的运行参数进行替换,生成更新解密文件T31 p
本实施例中,c在修改之前对应存储于R2中的T3 p中,修改后的运行参数和修改前的运行参数的参数名是相同的,因此,可以根据修改后的运行参数的参数名来替换T3 p内与c对应的运行参数。
S540,通过预设的加密算法对T31 p进行加密,得到第二加密文件T32 p
本实施例中,预设的算法为sm4加密算法;可以理解的是,T32 p为加密后的字符串,为密文信息。
S550,根据T32 p的字符串长度,确定出T32 p字符串中的第一位置集Q=(Q1,Q2,…,Qe,…,Qf),e=1,2,…,f;其中,Qe为第e个第一位置,f为第一位置的数量;所述第一位置为插入随机字符串的起始位置。
本实施例中,根据T32 p的字符长度,确定出T32 p字符串中的第一位置集Q包括以下步骤:
S551,获取T32 p字符串的长度L_T32 p
本实施例中,T32 p字符串的长度为T32 p字符串中字符个数,例如T32 p字符串中字符个数为25,那么,L_T32 p为25。
S552,获取数值g=mod(L_T32 p+10,10);其中,mod()为求余函数。
例如,L_T32 p为25,那么g=5。
S553,根据g确定Q1,将各Qe之间的间隔设置为h个字符,得到Q;其中,h为预设值。
本实施例中,以T32 p字符串的第g个字符串作为第一个第一位置,间隔h个字符作为第二个第一位置,按照此方法依次确定各第一位置;若g=0,则将T32 p字符串的第一个字符之前的位置作为第一位置。
作为其他实施方式,也可以根据g以及预设的计算公式,计算出另一个与g相关的数字,从而确定各Qe的位置。
S560,根据Q,从T32 p中获取第一字符集A=(A1,A2,…,Ae,…,Af);其中,Ae为T32 p中Qe所在位置对应的第一字符;
每一第一位置均对应有一个字符,将所有的第一位置对应的字符获取,可得到A;且A中的各第一字符是具有排列顺序的,例如,在T32 p字符串中,字符1在第一个第一位置,字符2在第二个第一位置,那么在A中,字符1紧邻排列在字符2前面。
S570,根据Q和A,将T32 p中Qr对应的字符替换为Ar-1,以及将Q1对应的字符替换为Af,以得到第三加密文件T33 p;r=2,3,…,f。
该步骤是对A中具有排列顺序的字符串进行位移操作,即使用前一个字符填入后一个字符的位置,第f个字符则填入第一个字符空出来的位置。
S580,通过预设的随机字符串生成函数,生成随机字符串集D=(d1,d2,…,de,…,df);de为第e个随机字符串。
本实施例中,随机字符串生成函数可以选择random string函数,de的长度为预设值Le;作为其他实施方式,de的长度也可以为可变值。
S590,在T33 p中Qe的后方插入de,以得到第四加密文件T34 p
S5110,通过加密模块,将R1中的与T34 p对应的T2 p替换为T34 p
对第一加密文件执行上述步骤S550-S590,具有以下效果:
第一方面,在目标软件运行过程中,若用户对某一运行参数进行修改,加密模块会使用修改后的运行参数替换对应的运行参数,存储有替换后的运行参数的文件进行第一次加密;然后再对加密后的文件进行字符串操作,相当于再次加密,生成第四加密文件,最后使用第四加密文件对R1中对应的第一加密文件进行替换,由此可以实现目标软件运行过程中对修改的运行参数进行加密及保存,避免目标软件运行过程中用户修改的运行参数丢失。
第二方面,对于修改的运行参数,通过预设的加密算法,对对应的存储文件进行第一次加密之后,又针对加密文件进行了一次字符串的位移和插入随机字符串操作,即使加密文件泄露,需要知道第一次加密算法秘钥和位移位置及随机字符串的长度等参数,才能破解加密文件,从而进一步提高加密文件的安全性;如果使用现有的加密算法进行加密,通过大量的计算,有一定概率将加密文件破解,因此,本申请的加密算法更加安全。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
本发明的实施例还提供了一种非瞬时性计算机可读存储介质,该存储介质可设置于电子设备之中以保存用于实现方法实施例中一种方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述实施例提供的方法。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本发明的实施例还提供了一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。
根据本申请的这种实施方式的电子设备。电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述至少一个处理器、上述至少一个储存器、连接不同系统组件(包括储存器和处理器)的总线。
其中,所述储存器存储有程序代码,所述程序代码可以被所述处理器执行,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。
储存器可以包括易失性储存器形式的可读介质,例如随机存取储存器(RAM)和/或高速缓存储存器,还可以进一步包括只读储存器(ROM)。
储存器还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线可以为表示几类总线结构中的一种或多种,包括储存器总线或者储存器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
电子设备也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器通过总线与电子设备的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
本发明的实施例还提供一种计算机程序产品,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使该电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的方法中的步骤。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明开的范围由所附权利要求来限定。

Claims (9)

1.一种软件运行参数的控制方法,其特征在于,所述控制方法包括以下步骤:
S100,获取目标软件的运行参数集S=(S1,S2,…,Sm,…,Sn),m=1,2,…,n;其中,Sm为第m个运行参数,n为运行参数的数量;
S200,遍历S,根据各Sm的参数属性,将各Sm存储于至少两个数据块内,得到数据块集T1=(T1 1,T1 2,…,T1 p,…,T1 q),p=1,2,…,q;其中,T1 p为第p个数据块,q为数据块的数量,q≥2;
S300,遍历T1,通过预设的加密算法对T1 p进行加密,得到第一加密文件集T2=(T2 1,T2 2,…,T2 p,…,T2 q);其中,T2 p为T1 p加密后的第一加密文件;
S400,将T2存储于预设的存储空间R1中;
所述步骤S200包括以下步骤:
S210,根据S,获取第一运行参数集S1=(S1 1,S1 2,…,S1 j,…,S1 k),j=1,2,…,k;其中,S1 j为第j个用于目标软件启动的第一运行参数,k为第一运行参数的数量;k<n;
S211,将S1存储于T1 1内;
S212,获取S内剩余的各运行参数与所述目标软件的各功能函数的对应关系;
S213,根据对应关系,将同一功能函数对应的S内剩余的各运行参数存储于至少两个数据块内,得到T1
2.根据权利要求1所述的控制方法,其特征在于,所述步骤S200包括以下步骤:
S220,获取S中各运行参数的调用频率;
S221,根据各运行参数的调用频率,获取第二运行参数集S2=(S2 1,S2 2,…,S2 a,…,S2 b),a=1,2,…,b;其中,S2 a为第a个第二运行参数,b为第二运行参数的数量;f_S2 a>f0,f_S2 a为S2 a的调用频率,f0为预设的调用频率阈值,b<n;
S222,将S2内的各S2 a存储于至少两个数据块内;
S223,将S内剩余的各运行参数分散存储于各数据块内,得到T1
3.根据权利要求1所述的控制方法,其特征在于,所述目标软件启动时,在缓存空间R2中对T2解密以得到解密文件集T3=(T3 1,T3 2,…,T3 p,…,T3 q);其中,T3 p为T2 p的解密文件;当获取到的运行参数修改指令后,执行以下步骤:
S510,获取修改后的运行参数c;
S520,将c发送至预设的加密模块;
S530,通过所述加密模块,获取与c对应的解密文件,并使用c对该解密文件内与c对应的运行参数进行替换,生成更新后解密文件T31 p
S540,通过预设的加密算法对T31 p进行加密,得到第二加密文件T32 p
S550,根据T32 p的字符串长度,确定出T32 p字符串中的第一位置集Q=(Q1,Q2,…,Qe,…,Qf),e=1,2,…,f;其中,Qe为第e个第一位置,f为第一位置的数量;所述第一位置为插入随机字符串的起始位置;
S560,根据Q,从T32 p中获取第一字符集A=(A1,A2,…,Ae,…,Af);其中,Ae为T32 p中Qe所在位置对应的第一字符;
S570,根据Q和A,将T32 p中Qr对应的字符替换为Ar-1,以及将Q1对应的字符替换为Af,以得到第三加密文件T33 p;r=2,3,…,f;
S580,通过预设的随机字符串生成函数,生成随机字符串集D=(d1,d2,…,de,…,df);de为第e个随机字符串;
S590,在T33 p中Qe的后方插入de,以得到第四加密文件T34 p
S5100,通过加密模块,将R1中的与T34 p对应的T2 p替换为T34 p
4.根据权利要求3所述的控制方法,其特征在于,所述步骤S550包括以下步骤:
S551,获取T32 p字符串的长度L_T32 p
S552,获取起始数值g=mod(L_T32 p+10,10);其中,mod()为求余函数;
S553,将T32 p中第g个字符所在位置确定为Q1,将各Qe之间的间隔设置为h个字符,得到Q;其中,h为预设值。
5.根据权利要求3所述的控制方法,其特征在于,所述de的字符串的长度为预设值Le
6.根据权利要求3所述的控制方法,其特征在于,所述预设的随机字符串生成函数为random string函数。
7.根据权利要求1所述的控制方法,其特征在于,所述预设的加密算法为sm4加密算法。
8.一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-7中任意一项的所述的软件运行参数的控制方法。
9.一种电子设备,其特征在于,包括处理器和权利要求8中所述的非瞬时性计算机可读存储介质。
CN202310659047.8A 2023-06-06 2023-06-06 一种软件运行参数的控制方法、电子设备及存储介质 Active CN116383781B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310659047.8A CN116383781B (zh) 2023-06-06 2023-06-06 一种软件运行参数的控制方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310659047.8A CN116383781B (zh) 2023-06-06 2023-06-06 一种软件运行参数的控制方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116383781A CN116383781A (zh) 2023-07-04
CN116383781B true CN116383781B (zh) 2023-08-04

Family

ID=86977299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310659047.8A Active CN116383781B (zh) 2023-06-06 2023-06-06 一种软件运行参数的控制方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116383781B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528347B (zh) * 2014-09-28 2019-03-26 北京古盘创世科技发展有限公司 数据块储存方法、数据查询方法和数据修改方法
CN105516204B (zh) * 2016-01-27 2018-09-28 北京理工大学 一种高安全性网络数据存储方法
CN108229112B (zh) * 2016-12-22 2022-06-03 阿里巴巴集团控股有限公司 一种保护应用程序、应用程序的运行方法以及装置
CN107480478B (zh) * 2017-08-14 2019-08-13 钟尚亮 一种java应用程序的加密方法及运行方法

Also Published As

Publication number Publication date
CN116383781A (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
EP3168771A1 (en) Poly-logarythmic range queries on encrypted data
US11824982B1 (en) Key updating method and apparatus, file sharing method and apparatus, device, and computer storage medium
EP1648110A1 (en) Method and apparatus for sharing and generating system key in DRM system
CN107612683B (zh) 一种加解密方法、装置、系统、设备和存储介质
CN112788012B (zh) 日志文件加密方法、装置、存储介质及电子设备
CN111258602B (zh) 信息更新方法和装置
CN104657673A (zh) 平均复杂度理想安全的保序加密
US20170099144A1 (en) Embedded encryption platform comprising an algorithmically flexible multiple parameter encryption system
CN109936546B (zh) 数据加密存储方法和装置以及计算设备
CN108898008A (zh) 应用程序的运行方法和装置
CN113536327A (zh) 数据处理方法、装置和系统
CN111400760B (zh) web应用访问数据库的方法、装置、服务器和存储介质
CN110086607B (zh) 快速切换部署密钥的方法、装置、计算机设备和存储介质
CN111144878B (zh) 指令生成方法与指令生成装置
CN115248919A (zh) 一种函数接口的调用方法、装置、电子设备及存储介质
WO2023034145A1 (en) Session management system
CN116383781B (zh) 一种软件运行参数的控制方法、电子设备及存储介质
CN114840739B (zh) 信息检索方法、装置、电子设备及存储介质
CN108259609B (zh) 一种家庭云端数据的管理方法及云服务器
KR102424873B1 (ko) 비밀번호 및 행동 패턴을 이용한 멀티 팩터 인증 시스템 및 방법
CN113517981B (zh) 一种密钥管理方法、代码版本的管理方法及装置
CN107968793A (zh) 一种下载白盒密钥的方法、装置及系统
KR20220051774A (ko) 공개키 기반의 암호 시스템 및 이를 이용한 데이터 보안 방법
CN112565156A (zh) 信息注册方法、装置和系统
US20230129259A1 (en) Software defined randomization for the mitigation of unknown vulnerabilities

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