[发明专利]代码文件的检测方法、装置和电子设备有效
申请号: | 202010798336.2 | 申请日: | 2020-08-10 |
公开(公告)号: | CN111881059B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 欧锦滔;石磊 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京超凡宏宇知识产权代理有限公司 11463 | 代理人: | 彭星 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 文件 检测 方法 装置 电子设备 | ||
1.一种代码文件的检测方法,其特征在于,所述方法包括:
从目标代码中查找目标代码行;其中,所述目标代码为所述代码文件编译后的代码,所述目标代码行为以属性字符串开头的代码行;
如果所述目标代码行的属性字符串对应的属性为对象类型,检查所述目标代码行是否包含有所述对象类型对应的预设修饰符标识;
如果否,确定所述目标代码行对应的所述代码文件异常。
2.根据权利要求1所述的方法,其特征在于,从目标代码中查找目标代码行的步骤之后,所述方法还包括:
检查所述目标代码行的属性字符串是否为第一字符串;其中,所述第一字符串为对象类型的代码进行编译后的字符串;
如果是,确定所述目标代码行的属性字符串对应的属性为对象类型。
3.根据权利要求1所述的方法,其特征在于,所述预设修饰符标识为所述对象类型对应的预设代码经编译器编译后的字符和/或字符串。
4.根据权利要求1所述的方法,其特征在于,检查所述目标代码行是否包含有所述对象类型对应的预设修饰符标识的步骤,包括以下至少之一:
检查所述目标代码行在预设长度范围内是否包含有所述对象类型对应的预设修饰符标识;
检查所述目标代码行的指定标点符号之前的代码中是否包含有所述对象类型对应的预设修饰符标识。
5.根据权利要求1所述的方法,其特征在于,从目标代码中查找目标代码行的步骤,包括:
从目标代码中查找所述目标代码中类的属性列表;
从所述属性列表的预设位置确定目标代码行的地址;
基于所述目标代码行的地址查找所述目标代码行。
6.根据权利要求5所述的方法,其特征在于,从目标代码中查找所述目标代码中类的属性列表的步骤,包括:
获取目标代码的文件头;
从所述文件头中的预设位置读取加载命令信息;
从所述加载命令信息中确定所述目标代码在编译后生成的类列表的地址,并基于所述类列表的地址读取所述类列表;
从所述类列表中读取类的属性列表的地址,并基于所述类的属性列表的地址读取所述类的属性列表。
7.根据权利要求6所述的方法,其特征在于,从目标代码中查找所述目标代码中类的属性列表的步骤,包括:
通过预设的动态链接器接口从目标代码中查找类的属性列表;其中,所述动态链接器接口的头文件包含多个函数,所述函数用于读取目标代码的文件头、所述类列表或所述类的属性列表。
8.根据权利要求1所述的方法,其特征在于,所述代码文件为基于Objective-C语言编写的文件;
从目标代码中查找目标代码行的步骤,包括:在运行目标代码时,通过property_getAttrubutes函数查找目标代码行。
9.根据权利要求1所述的方法,其特征在于,确定所述目标代码行对应的所述代码文件异常的步骤之后,所述方法还包括:
输出表征所述目标代码行异常的错误提示信息。
10.一种代码文件的检测装置,其特征在于,所述装置包括:
目标代码行查找模块,用于从目标代码中查找目标代码行;其中,所述目标代码为所述代码文件编译后的代码,所述目标代码行为以属性字符串开头的代码行;
修饰符标识检查模块,用于如果所述目标代码行的属性字符串对应的属性为对象类型,检查所述目标代码行是否包含有所述对象类型对应的预设修饰符标识;
目标代码行异常确定模块,用于如果否,确定所述目标代码行对应的所述代码文件异常。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1-9任一项所述的代码文件的检测方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理器实现权利要求1-9任一项所述的代码文件的检测方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010798336.2/1.html,转载请声明来源钻瓜专利网。