一种数据处理方法、装置、设备、存储介质及产品与流程

文档序号:37727028发布日期:2024-04-23 12:08阅读:20来源:国知局
一种数据处理方法、装置、设备、存储介质及产品与流程

本技术涉及计算机,具体涉及一种数据处理方法、一种数据处理装置、一种计算机设备、一种计算机可读存储介质及一种数据处理产品。


背景技术:

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、处理单元用于,按照目标虚拟机对应的字节码格式对中间代码进行第二转换处理,得到目标应用程序的加固代码,具体用于:

48、将各个功能模块对应的中间代码按照该功能模块所属的目标虚拟机对应的字节码格式进行第二转换处理,得到各个功能模块对应的虚拟机字节码;

49、对n个功能模块对应的虚拟机字节码进行打包处理,得到目标应用程序的加固代码;

50、其中,每个功能模块对应的虚拟机字节码仅能够被该功能模块所属的目标虚拟机解析并执行。

51、在一种实施方式中,处理单元用于,对n个功能模块对应的虚拟机字节码进行打包处理,得到目标应用程序的加固代码,具体用于:

52、对各个功能模块间传递的参数的相关信息进行配置,得到配置信息;

53、对n个功能模块对应的虚拟机字节码和配置信息进行合并处理,得到目标应用程序的加固代码;

54、其中,各个功能模块间传递的参数的相关信息包括以下至少一项:各个功能模块间传递的参数的字节码格式,各个功能模块间传递的参数的读写路径。

55、相应地,本技术提供了一种计算机设备,该计算机设备包括:

56、存储器,存储器中存储有计算机程序;

57、处理器,用于加载计算机程序实现上述数据处理方法。

58、相应地,本技术提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行上述数据处理方法。

59、相应地,本技术提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据处理方法。

60、本技术实施例中,获取目标应用程序的源代码,目标应用程序包括免安装应用程序,基于源代码的执行逻辑对源代码进行第一转换处理,得到源代码对应的中间代码,按照目标虚拟机对应的字节码格式对中间代码进行第二转换处理,得到目标应用程序的加固代码,根据目标应用程序的加固代码生成目标应用程序的加固文件,目标应用程序基于加固文件在目标虚拟机运行。可见,通过对目标应用程序的源代码进行转换,使得目标应用程序的加固文件仅能在目标虚拟机中运行,降低了目标应用程序被破解的风险,进而提高了目标应用程序的数据安全性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1