代码处理方法、装置、设备、存储介质及程序产品制造方法及图纸

技术编号:34144534 阅读:22 留言:0更新日期:2022-07-14 18:37
本申请提供了一种代码处理方法、装置、设备、存储介质及程序产品,涉及计算机技术领域。该方法包括:获取目标代码文件;该目标代码文件具有字节码格式;对目标代码文件进行遍历检查,获取目标代码文件中的第一字节码;该第一字节码用于直接访问目标访问对象中的第一目标内容;该第一目标内容是具有安全访问需求的内容;将第一字节码替换为第二字节码,该第二字节码用于定位到第二目标内容,该第二目标内容用于通过安全访问方式获取第一目标内容;对包含第二字节码的目标代码文件进行编译,获得编译结果。基于上述方法,提高了对具有安全访问需求的内容进行访问的安全性,同时,提高了对字节码进行排查和替换的效率和准确率。对字节码进行排查和替换的效率和准确率。对字节码进行排查和替换的效率和准确率。

【技术实现步骤摘要】
代码处理方法、装置、设备、存储介质及程序产品


[0001]本申请实施例涉及计算机
,特别涉及一种代码处理方法、装置、设备、存储介质及程序产品。

技术介绍

[0002]Java是一门面向对象的编程语言;在对Java文件进行执行时,需要对Java文件进行编译,以获得可在不同平台上执行的字节码(.class)文件。在执行Java文件对应的编译文件时,部分函数/字段可能会访问目标访问对象中的特殊内容。
[0003]在相关技术中,为实现对对象隐私的保护,在编译Java文件时,会对访问目标访问对象中的特殊内容的部分函数/字段进行排查和替换,以保护对象隐私。
[0004]然而,相关技术中通常通过人工排查和替换获取上述部分函数/字段,排查和替换效率较低,且排查和替换的准确率较低。

技术实现思路

[0005]本申请实施例提供了一种代码处理方法、装置、设备、存储介质及程序产品,可以提高对具有安全访问需求的内容进行访问的安全性,同时实现对字节码的自动排查和替换,提高对字节码进行排查和替换的效率和准确率。该技术方案如下:
[0006]一方面,提供了一种代码处理方法,所述方法包括:
[0007]获取目标代码文件;所述目标代码文件具有第一文件格式;所述第一文件格式为字节码格式;
[0008]对所述目标代码文件进行遍历检查,获取所述目标代码文件中的第一字节码;所述第一字节码用于直接访问目标访问对象中的第一目标内容,所述第一目标内容是具有安全访问需求的内容;
[0009]将所述第一字节码替换为第二字节码,所述第二字节码用于定位到第二目标内容,所述第二目标内容用于通过安全访问方式获取所述第一目标内容;
[0010]对包含所述第二字节码的所述目标代码文件进行编译,获得编译结果。
[0011]另一方面,提供了一种代码处理装置,所述装置包括:
[0012]代码获取模块,用于获取目标代码文件;所述目标代码文件具有第一文件格式;所述第一文件格式为字节码格式;
[0013]遍历检查模块,用于对所述目标代码文件进行遍历检查,获取所述目标代码文件中的第一字节码;所述第一字节码用于直接访问目标访问对象中的第一目标内容,所述第一目标内容是具有安全访问需求的内容;
[0014]字节码替换模块,用于将所述第一字节码替换为第二字节码,所述第二字节码用于定位到第二目标内容,所述第二目标内容用于通过安全访问方式获取所述第一目标内容;
[0015]编译模块,用于对包含所述第二字节码的所述目标代码文件进行编译,获得编译
结果。
[0016]在一种可能的实现方式中,所述目标代码文件包括基于源代码文件生成的中间代码文件,以及与所述源代码文件相对应的第三方依赖库中的库文件中的至少一种;所述源代码文件具有第二文件格式;所述第二文件格式与所述第一文件格式不同。
[0017]在一种可能的实现方式中,所述装置还包括:
[0018]运行模块,用于启动对所述编译结果的运行过程;
[0019]所述运行模块,用于响应于运行到所述第二字节码对应的编译内容,基于所述第二字节码对应的所述编译内容定位到所述第二目标内容;
[0020]权限确定模块,用于通过所述第二目标内容确定是否具有内容使用权限;所述内容使用权限用以指示对所述第一目标内容的使用权限;
[0021]内容访问模块,用于响应于具有所述内容使用权限,访问所述第一目标内容。
[0022]在一种可能的实现方式中,所述内容访问模块,包括:
[0023]函数访问子模块,用于响应于具有所述内容使用权限,且所述第一目标内容为目标函数,访问所述目标访问对象中的所述目标函数;
[0024]或者,
[0025]字段访问子模块,包括缓存确定单元,方式确定单元以及字段获取单元;
[0026]所述缓存确定单元,用于响应于具有所述内容使用权限,且所述第一目标内容为目标字段,通过所述第二目标内容确定所述目标字段的缓存情况;
[0027]所述方式确定单元,用于基于所述目标字段的所述缓存情况,确定所述目标字段的获取方式;
[0028]所述字段获取单元,用于基于所述目标字段的所述获取方式,获取所述目标字段。
[0029]在一种可能的实现方式中,所述方式确定单元,用于响应于确定已缓存有所述目标字段,从缓存位置处获取所述目标字段;所述缓存位置是存储所述目标字段的位置;
[0030]响应于确定未缓存有所述目标字段,访问所述目标访问对象中的所述目标字段,并将所述目标字段缓存到所述缓存位置处。
[0031]在一种可能的实现方式中,所述装置还包括:
[0032]内容调用模块,用于响应于不具有所述内容使用权限,通过所述第二目标内容调用第三目标内容,所述第三目标内容用于向所述目标访问对象请求所述内容使用权限;
[0033]权限确定模块,用于响应于接收到所述目标访问对象基于所述第三目标内容反馈的授权操作,确定具有所述内容使用权限。
[0034]另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现上述的代码处理方法。
[0035]另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现上述的者代码处理方法。
[0036]另一方面,提供了一种计算机程序产品,所述计算机程序产品包括至少一条计算机程序,所述计算机程序由处理器加载并执行以实现上述各种可选实现方式中提供的代码处理方法。
[0037]本申请提供的技术方案可以包括以下有益效果:
[0038]通过将目标代码文件中用于直接从目标访问对象处获取具有安全访问需求的内容的第一字节码,替换为可以通过安全访问方式获取具有安全访问需求的内容的第二字节码,从而提高了对具有安全访问需求的内容进行访问的安全性;同时,通过上述方法实现了对字节码的自动排查和替换,减少了对目标访问对象的相关内容的直接访问,提高了对字节码进行排查和替换的效率和准确率。
[0039]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0040]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0041]图1示出了本申请一示例性实施例提供的代码处理系统的架构示意图;
[0042]图2示出了本申请一示例性实施例提供的代码处理方法的流程图;
[0043]图3示出了本申请一示例性实施例提供的代码处理方法的流程图;
[0044]图4示出了本申请一示例性实施例示出的字节码替换前后的代码内容的示意图;
[0045]图5示出了本申请一示例性实施例示出的代码编译过程的示意图;
[0046]图6示出了本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码处理方法,其特征在于,所述方法包括:获取目标代码文件;所述目标代码文件具有第一文件格式;所述第一文件格式为字节码格式;对所述目标代码文件进行遍历检查,获取所述目标代码文件中的第一字节码;所述第一字节码用于直接访问目标访问对象中的第一目标内容,所述第一目标内容是具有安全访问需求的内容;将所述第一字节码替换为第二字节码,所述第二字节码用于定位到第二目标内容,所述第二目标内容用于通过安全访问方式获取所述第一目标内容;对包含所述第二字节码的所述目标代码文件进行编译,获得编译结果。2.根据权利要求1所述的方法,其特征在于,所述目标代码文件包括基于源代码文件生成的中间代码文件,以及与所述源代码文件相对应的第三方依赖库中的库文件中的至少一种;所述源代码文件具有第二文件格式;所述第二文件格式与所述第一文件格式不同。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:启动对所述编译结果的运行过程;响应于运行到所述第二字节码对应的编译内容,基于所述第二字节码对应的所述编译内容定位到所述第二目标内容;通过所述第二目标内容确定是否具有内容使用权限;所述内容使用权限用以指示对所述第一目标内容的使用权限;响应于具有所述内容使用权限,访问所述第一目标内容。4.根据权利要求3所述的方法,其特征在于,所述响应于具有所述内容使用权限,访问所述第一目标内容,包括:响应于具有所述内容使用权限,且所述第一目标内容为目标函数,访问所述目标访问对象中的所述目标函数;或者,响应于具有所述内容使用权限,且所述第一目标内容为目标字段,通过所述第二目标内容确定所述目标字段的缓存情况;基于所述目标字段的所述缓存情况,确定所述目标字段的获取方式;基于所述目标字段的所述获取方式,获取所述目标字段。5.根据权利要求4所述的方法,其特征在于,所述基于所述目标字段的所述获取方式,获取所述目标字段,包括:...

【专利技术属性】
技术研发人员:黄玮李斌罗程文孝木
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1