System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,具体涉及一种数据处理方法、一种数据处理装置、一种计算机设备、一种计算机可读存储介质及一种数据处理产品。
技术介绍
1、随着科技研究的进步,网络中涌现出海量的应用程序。数据安全一直广受关注。研究发现,由于大多数应用程序可以被逆向破解,导致这些应用程序在使用过程中存在被恶意攻击和数据泄露的风险,应用程序的安全性较低;例如,破解方可以通过调试工具对应用程序进行分析,进而破解该应用程序。如何提高应用程序的数据安全性成为当前研究的热门问题。
技术实现思路
1、本申请实施例提供了一种数据处理方法、装置、设备、存储介质及产品,能够提高应用程序的数据安全性。
2、一方面,本申请实施例提供了一种数据处理方法,包括:
3、获取目标应用程序的源代码,目标应用程序包括免安装应用程序,目标应用程序通过目标虚拟机运行;
4、基于源代码的执行逻辑对源代码进行第一转换处理,得到源代码对应的中间代码;
5、按照目标虚拟机对应的字节码格式对中间代码进行第二转换处理,得到目标应用程序的加固代码;
6、根据目标应用程序的加固代码生成目标应用程序的加固文件,目标应用程序基于加固文件在目标虚拟机运行。
7、一方面,本申请实施例提供了一种数据处理装置,该数据处理装置包括:
8、获取单元,用于获取目标应用程序的源代码,目标应用程序包括免安装应用程序,目标应用程序通过目标虚拟机运行;
9、处理单元,用于基于源代码的执行
10、以及用于按照目标虚拟机对应的字节码格式对中间代码进行第二转换处理,得到目标应用程序的加固代码;
11、以及用于根据目标应用程序的加固代码生成目标应用程序的加固文件,目标应用程序基于加固文件在目标虚拟机运行。
12、在一种实施方式中,不同虚拟机对应的字节码格式不同,按照不同虚拟机对应的字节码格式转换得到的虚拟机字节码仅能够被相应虚拟机解析并执行。
13、在一种实施方式中,处理单元用于,按照目标虚拟机对应的字节码格式对中间代码进行第二转换处理,得到目标应用程序的加固代码,具体用于:
14、按照目标虚拟机对应的字节码格式对中间代码进行第二转换处理,得到目标应用程序的虚拟机字节码,并将目标应用程序的虚拟机字节码确定为目标应用程序的加固代码;或者,
15、按照目标虚拟机对应的字节码格式对中间代码进行第二转换处理,得到目标应用程序的虚拟机字节码,并对虚拟机字节码进行第一优化处理,得到目标应用程序的加固代码。
16、在一种实施方式中,目标虚拟机对应的字节码格式定义了中间代码与虚拟机字节码的映射关系,以及中间代码的转换方法;处理单元用于,按照目标虚拟机对应的字节码格式对中间代码进行第二转换处理,得到目标应用程序的虚拟机字节码,具体用于:
17、基于中间代码与虚拟机字节码的映射关系和中间代码的转换方法,对中间代码进行第二转换处理,得到目标应用程序的虚拟机字节码。
18、在一种实施方式中,处理单元用于,对虚拟机字节码进行第一优化处理,得到目标应用程序的加固代码,具体用于:
19、对虚拟机字节码进行整合处理,得到目标应用程序的加固代码;或者,
20、对虚拟机字节码进行压缩处理,得到目标应用程序的加固代码。
21、在一种实施方式中,目标应用程序由n个功能模块组成,n为正整数;处理单元用于,对虚拟机字节码进行整合处理,得到整合后的虚拟机字节码,具体用于:
22、对n个功能模块中相对应的虚拟机字节码的表示方式进行统一,得到整合后的虚拟机字节码;或者,
23、基于n个功能模块间的数据调用关系,对n个功能模块进行合并,得到整合后的虚拟机字节码。
24、在一种实施方式中,处理单元用于,基于源代码的执行逻辑对源代码进行第一转换处理,得到源代码对应的中间代码,具体用于:
25、对源代码进行解析,得到源代码对应的抽象语法树;
26、基于源代码的执行逻辑对抽象语法树进行转换,得到源代码对应的中间代码。
27、在一种实施方式中,处理单元用于,基于源代码的执行逻辑对抽象语法树进行转换,得到源代码对应的中间代码,具体用于:
28、基于源代码的执行逻辑对抽象语法树关联的表达式或者语句进行重写,得到源代码对应的中间代码。
29、在一种实施方式中,目标虚拟机包括以下至少一项:指令系统、数据表现形式、内存模型;
30、其中,指令系统用于指示目标虚拟机支持的操作,以及各个操作所对应的输入数据和数据输出方式;数据表现形式用于指示目标虚拟机中数据的存储和表达的形式;内存模型用于指示目标虚拟机中函数调用和异常处理依赖的内存结构和模型。
31、在一种实施方式中,处理单元还用于:
32、响应于目标应用程序的加固代码满足调试条件,对目标应用程序的加固代码进行调试;
33、若检测到目标应用程序的加固代码存在错误,则基于源代码和目标应用程序的加固代码之间的对应关系确定源代码中的错误位置;
34、基于错误位置生成并输出调试信息。
35、在一种实施方式中,处理单元用于,根据目标应用程序的加固代码生成目标应用程序的加固文件,具体用于:
36、采用目标应用程序的加固代码替换源代码,得到目标应用程序的加固文件;或者,
37、获取目标应用程序的配置信息,并基于目标应用程序的加固代码和配置信息,创建目标应用程序的加固文件。
38、在一种实施方式中,数据处理装置还包括显示单元;处理单元用于,基于目标应用程序的加固代码和配置信息,创建目标应用程序的加固文件,具体用于:
39、通过显示单元显示代码调试页面,并在代码调试页面中显示目标应用程序的加固代码;
40、响应于目标应用程序的加固代码满足加固文件生成条件,基于目标应用程序的加固代码和配置信息创建目标应用程序的加固文件;
41、其中,代码调试页面包括加固文件生成控件;目标应用程序的加固代码满足加固文件生成条件包括:加固文件生成控件被触发,目标应用程序的加固代码被确定。
42、在一种实施方式中,处理单元还用于:
43、对源代码对应的中间代码进行第二优化处理,得到优化后的中间代码;或者,
44、对源代码对应的中间代码进行指令变换处理,得到变换后的中间代码;
45、其中,第二优化处理包括以下至少一项:数据流优化,控制流优化;指令变换处理包括插入花指令。
46、在一种实施方式中,目标虚拟机的数量为m个,m为大于1的整数;目标应用程序由n个功能模块组成,n为大于或等于m的整数;m个目标虚拟机中,每个目标虚拟机运行目标应用程序的至少一个功能模块;
47、处理单元用于,按照目标本文档来自技高网...
【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,不同虚拟机对应的字节码格式不同,按照不同虚拟机对应的字节码格式转换得到的虚拟机字节码仅能够被相应虚拟机解析并执行。
3.如权利要求1所述的方法,其特征在于,所述按照所述目标虚拟机对应的字节码格式对所述中间代码进行第二转换处理,得到所述目标应用程序的加固代码,包括:
4.如权利要求3所述的方法,其特征在于,所述目标虚拟机对应的字节码格式定义了所述中间代码与虚拟机字节码的映射关系,以及所述中间代码的转换方法;所述按照所述目标虚拟机对应的字节码格式对所述中间代码进行第二转换处理,得到所述目标应用程序的虚拟机字节码,包括:
5.如权利要求3所述的方法,其特征在于,所述对所述虚拟机字节码进行第一优化处理,得到所述目标应用程序的加固代码,包括:
6.如权利要求5所述的方法,其特征在于,所述目标应用程序由N个功能模块组成,N为正整数;所述对所述虚拟机字节码进行整合处理,得到整合后的虚拟机字节码,包括:
7.如权利要求1所述的方法,其特
8.如权利要求7所述的方法,其特征在于,所述基于所述源代码的执行逻辑对所述抽象语法树进行转换,得到所述源代码对应的中间代码,包括:
9.如权利要求1所述的方法,其特征在于,所述目标虚拟机包括以下至少一项:指令系统、数据表现形式、内存模型;
10.如权利要求1所述的方法,其特征在于,所述方法还包括:
11.如权利要求1所述的方法,其特征在于,所述根据所述目标应用程序的加固代码生成所述目标应用程序的加固文件,包括:
12.如权利要求11所述的方法,其特征在于,所述基于所述目标应用程序的加固代码和所述配置信息,创建所述目标应用程序的加固文件,包括:
13.如权利要求1-12任一项所述的方法,其特征在于,所述方法还包括:
14.如权利要求1所述的方法,其特征在于,所述目标虚拟机的数量为M个,M为大于1的整数;所述目标应用程序由N个功能模块组成,N为大于或等于M的整数;所述M个目标虚拟机中,每个目标虚拟机运行所述目标应用程序的至少一个功能模块;所述按照所述目标虚拟机对应的字节码格式对所述中间代码进行第二转换处理,得到所述目标应用程序的加固代码,包括:
15.如权利要求14所述的方法,其特征在于,所述对所述N个功能模块对应的虚拟机字节码进行打包处理,得到所述目标应用程序的加固代码,包括:
16.一种数据处理装置,其特征在于,所述数据处理装置包括:
17.一种计算机设备,其特征在于,包括:存储器和处理器;
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于被处理器加载并执行如权利要求1-15任一项所述的数据处理方法。
19.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序适于被处理器加载并执行如权利要求1-15任一项所述的数据处理方法。
...【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,不同虚拟机对应的字节码格式不同,按照不同虚拟机对应的字节码格式转换得到的虚拟机字节码仅能够被相应虚拟机解析并执行。
3.如权利要求1所述的方法,其特征在于,所述按照所述目标虚拟机对应的字节码格式对所述中间代码进行第二转换处理,得到所述目标应用程序的加固代码,包括:
4.如权利要求3所述的方法,其特征在于,所述目标虚拟机对应的字节码格式定义了所述中间代码与虚拟机字节码的映射关系,以及所述中间代码的转换方法;所述按照所述目标虚拟机对应的字节码格式对所述中间代码进行第二转换处理,得到所述目标应用程序的虚拟机字节码,包括:
5.如权利要求3所述的方法,其特征在于,所述对所述虚拟机字节码进行第一优化处理,得到所述目标应用程序的加固代码,包括:
6.如权利要求5所述的方法,其特征在于,所述目标应用程序由n个功能模块组成,n为正整数;所述对所述虚拟机字节码进行整合处理,得到整合后的虚拟机字节码,包括:
7.如权利要求1所述的方法,其特征在于,所述基于所述源代码的执行逻辑对所述源代码进行第一转换处理,得到所述源代码对应的中间代码,包括:
8.如权利要求7所述的方法,其特征在于,所述基于所述源代码的执行逻辑对所述抽象语法树进行转换,得到所述源代码对应的中间代码,包括:
9.如权利要求1所述的方法,其特征在于,所述目标虚拟机包括以下至少一项:指令系统、数据表现形式、内存模型;
10.如权利...
【专利技术属性】
技术研发人员:金炼,陆超华,张泽棉,程书婷,
申请(专利权)人:广州腾讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。