一种数据的处理方法和装置制造方法及图纸

技术编号:24169550 阅读:19 留言:0更新日期:2020-05-16 02:30
本申请实施例公开了一种数据的处理方法和装置,该方法包括:获取待处理的源代码文件;对所述源代码文件进行编译处理,得到相应的字节码文件;基于预定的字节码处理规则对所述字节码文件中的预定字符串进行处理,得到处理后的字节码文件,其中,所述处理后的字节码文件中的预定字符串为经加密处理的密文,所述处理后的字节码文件中包含解密所述密文相关的字节码数据;基于所述处理后的字节码文件生成相应的程序文件。通过本申请实施例,可以提高信息加工的效率,同时,如果后续有新增加的源代码或字节码,则新增的字节码也会进行加密处理,提高了后续的维护效率。

A data processing method and device

【技术实现步骤摘要】
一种数据的处理方法和装置
本申请涉及计算机
,尤其涉及一种数据的处理方法和装置。
技术介绍
随着网络技术的不断发展,通过网络发布信息已成为人们进行信息发布的重要手段,例如某企业或组织可以开发某功能的应用程序,并将该应用程序通过网络发布,以供用户使用该应用程序中的功能完成相应的业务等。而对于通过网络发布的应用程序主要是由程序语言编写的程序代码构成,当前,构成应用程序的源代码和相应的资源文件是相应企业或组织的重要财富,相应的企业或组织都很重视对应用程序的程序内容的保护。为了对应用程序的程序内容进行保护,通常会采用对其中的代码进行混淆的方式处理,具体地,通过混淆器将应用程序的代码中的应用逻辑相关的内容(可以包括如界面排布的相关内容、不同界面之间跳转的相关内容、给用户显示的内容和相应的时间等)进行重新组织和处理,使得处理后的代码与处理前的代码具有相同的功能,而混淆后的代码却很难被反编译。被混淆的代码,仍然遵照原来的格式和指令集,执行结果也与混淆前的代码的执行结果相同。并且,在缺乏相应的函数名和程序注释的情况下,即使被反编译,也将难以阅读,因此也就很难得出应用程序的真正语义。但是,应用程序的代码中不仅仅包含应用逻辑,还包含字符串,用于展示提供给用户的文本、记录应用程序运行状态的日志信息、应用程序获取数据的后台网址等,在进行上述混淆的过程中,字符串始终都是易于阅读或易于理解的形式,如若源代码中包含字符串“用户密码为123”,则经过后续的编译等处理,应用程序中仍然会包含“用户密码为123”。而字符串的内容对于应用程序也同样重要,而且也同样需要被保护,而如何对字符串的内容进行保护成为需要解决的重要问题。
技术实现思路
本申请实施例的目的是提供一种数据的处理方法和装置,以提供一种对字节码文件中的字符串进行保护的技术方案。为实现上述技术方案,本申请实施例是这样实现的:本申请实施例提供的一种数据的处理方法,所述方法包括:获取待处理的源代码文件;对所述源代码文件进行编译处理,得到相应的字节码文件;基于预定的字节码处理规则对所述字节码文件中的预定字符串进行处理,得到处理后的字节码文件,其中,所述处理后的字节码文件中的预定字符串为经加密处理的密文,所述处理后的字节码文件中包含解密所述密文相关的字节码数据;基于所述处理后的字节码文件生成相应的程序文件。本申请实施例提供的一种数据的处理装置,所述装置包括:代码文件获取模块,用于获取待处理的源代码文件;编译模块,用于对所述源代码文件进行编译处理,得到相应的字节码文件;字符串处理模块,用于基于预定的字节码处理规则对所述字节码文件中的预定字符串进行处理,得到处理后的字节码文件,其中,所述处理后的字节码文件中的预定字符串为经加密处理的密文,所述处理后的字节码文件中包含解密所述密文相关的字节码数据;程序文件生成模块,用于基于所述处理后的字节码文件生成相应的程序文件。由以上本申请实施例提供的技术方案可见,本申请实施例通过获取待处理的源代码文件,并对该源代码文件进行编译处理,得到相应的字节码文件,基于预定的字节码处理规则对该字节码文件中的预定字符串进行处理,得到处理后的字节码文件,其中,处理后的字节码文件中的预定字符串为经加密处理的密文,处理后的字节码文件中包含解密该密文相关的字节码数据,基于处理后的字节码文件生成相应的程序文件,这样,对源代码文件对应的字节码文件统一进行修改,将字节码文件中的预定字符串全部替换为加密处理后密文,提高了信息加工的效率,同时,如果后续有新增加的源代码或字节码,则新增的字节码也会进行加密处理,提高了后续的维护效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。图1为本申请一种数据的处理方法实施例;图2为本申请另一种数据的处理方法实施例;图3为本申请又一种数据的处理方法实施例;图4为本申请又一种数据的处理方法实施例;图5为本申请一种数据的处理装置实施例;图6为本申请另一种数据的处理设备实施例。具体实施方式本申请实施例提供一种数据的处理方法和装置。为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。实施例一如图1所示,本申请实施例提供一种数据的处理方法,该方法的执行主体可以为终端设备或服务器,其中,该终端设备可以如个人计算机等终端设备,还可以是如手机或平板电脑等移动终端设备。该服务器可以是一个独立的服务器,还可以是由多个服务器构成的服务器集群等,该服务器可以是某应用程序的发布服务器,也可以是某应用程序的封装的服务器等。该方法可以应用于对应用程序中的文件进行封装或对应用程序中的字符串进行保护等处理中。该方法具体可以包括以下步骤:在步骤S102中,获取待处理的源代码文件。其中,源代码文件可以是未编译的,且按照一定的程序设计语言规范书写的文本文件,源代码文件中可以包含一系列可读的计算机语言指令,源代码文件可以是针对需要生成的预定的程序文件而确定的代码文件,其中的程序文件可以是实现某应用程序(或应用软件)整体功能或某个模块功能的源代码及调用素材的集合,例如,对于安卓操作系统中的应用程序,该目标程序文件可以是该应用程序的安装包(即apk格式的安装包)等,对于Windows操作系统中的应用程序,该目标程序文件可以是该应用程序的安装包(如exe格式的安装包)等。源代码可以由开发者直接编写,其中的应用逻辑易于阅读,但是无法在任何操作平台运行。开发者使用的编程语言不同,源代码文件可能有所区别。源代码主要用于描述应用程序的应用逻辑,应用逻辑定义了该应用程序应该如何工作,具体可以包括如界面如何排布,不同界面之间如何跳转、何时给用户显示哪些内容等。源代码中除了应用逻辑外,还可以包含字符串,例如展示给用户的文本、用于记录应用程序运行状态的日志信息和应用程序获取数据的后台网址等。对于一个应用程序,从开发者开发的原始文件,到最终提供给用户使用的程序文件之前,需要经过一系列的处理工序。该处理工序中,代码是自始自终都存在的,但在每个阶段存在的格式可能不同。而代码里的内容,在用不同格式表达时,其效用是不变的(例如网址始终表示的是一个网址),但是代码能否执行以及能够执行的平台可能会发生变化。例如,某些格式的代码是开发者能够阅读的,但却无法执行,而某些格式的代码只能在安装有Windows操作系统的终端设备上运行,某些格式的代码却只能在安装有Android操作系统的终端设备上运行。在实施中,随着网络技术的不断发展,通过网络发布信息已成为人们进行信息发布的重要手段,例如某企业或组织可以通过网络发布企业或组织的最新动态信息,或者,某企业或组织可以开发某功能的应用程序,并将该应用程序通过网络发布,以供用户使用该应用程序中的功能完成相应的业务本文档来自技高网
...

【技术保护点】
1.一种数据的处理方法,其特征在于,所述方法包括:/n获取待处理的源代码文件;/n对所述源代码文件进行编译处理,得到相应的字节码文件;/n基于预定的字节码处理规则对所述字节码文件中的预定字符串进行处理,得到处理后的字节码文件,其中,所述处理后的字节码文件中的预定字符串为经加密处理的密文,所述处理后的字节码文件中包含解密所述密文相关的字节码数据;/n基于所述处理后的字节码文件生成相应的程序文件。/n

【技术特征摘要】
1.一种数据的处理方法,其特征在于,所述方法包括:
获取待处理的源代码文件;
对所述源代码文件进行编译处理,得到相应的字节码文件;
基于预定的字节码处理规则对所述字节码文件中的预定字符串进行处理,得到处理后的字节码文件,其中,所述处理后的字节码文件中的预定字符串为经加密处理的密文,所述处理后的字节码文件中包含解密所述密文相关的字节码数据;
基于所述处理后的字节码文件生成相应的程序文件。


2.根据权利要求1所述的方法,其特征在于,所述处理后的字节码文件中包含解密所述密文所需信息的字符串,在所述预定字符串的读取操作指令之后包含调用解密所述密文所需信息的字符串的操作指令,以对所述预定字符串进行解密。


3.根据权利要求2所述的方法,其特征在于,所述解密所述密文所需信息的字符串包括加密密钥的字符串和解密所述密文所需的函数的标识。


4.根据权利要求2所述的方法,其特征在于,所述读取操作指令包括ldc、ldc_w和ldc2_w。


5.根据权利要求2所述的方法,其特征在于,所述字节码文件为基于源文件为Java文件对应的字节码文件,所述基于预定的字节码处理规则对所述字节码文件中的预定字符串进行处理,得到处理后的字节码文件,包括:
基于Encrypt函数对所述字节码文件中的预定字符串进行加密处理,得到所述密文;
在所述字节码文件中添加用于解密所述密文的Dencrypt函数的标识的字符串,并在所述预定字符串的读取操作指令之后添加调用所述Dencrypt函数的操作指令,以得到处理后的字节码文件。


6.根据权利要求1所述的方法,其特征在于,所述基于预定的字节码处理规则对所述字节码文件中的预定字符串进行处理,得到处理后的字节码文件,包括:
通过预定的项目构建工具提供的预定接口,创建相应的转换器,所述转换器的输入数据类型为字节码,输出数据类型为字节码;
将所述字节码文件中的预定字符串输入到所述转换器中,以使所述转换器基于预定的字节码处理规则对所述字节码文件中的预定字符串进行处理,得到处理后的字节码文件。


7.根据权利要求1所述的方法,其特征在于,所述对所述源代码文件进行编译处理,得到相应的字节码文件,包括:
对所述源代码文件进行编译处理,得到第一字节码文件;
对所述第一字节码文件进行编译处理,得到第二字节码文件;
所述基于预定的字节码处理规则对所述字节码文件中的预定字符串进行处理,得到处理后的字节码文件,包括:
基于预定的字节码处理规则对所述第一字节码文件或所述第二字节码文件中的预定字符串进行处理...

【专利技术属性】
技术研发人员:易亚洲李涛
申请(专利权)人:郑州阿帕斯数云信息科技有限公司
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1