[发明专利]类名称获取方法、装置及电子设备有效
申请号: | 201810263949.9 | 申请日: | 2018-03-28 |
公开(公告)号: | CN108446113B | 公开(公告)日: | 2021-06-15 |
发明(设计)人: | 杨亮;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 王文红 |
地址: | 430000 湖北省武汉市东湖新技术*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 名称 获取 方法 装置 电子设备 | ||
1.一种类名称获取方法,其特征在于,包括:
判断待处理的类对象中是否存在虚函数表;
若存在所述虚函数表,则获取待处理的类对象的虚函数表的表地址,并根据该表地址得到对应的对象地址,其中,所述对象地址指向对应的RTTICompleteObjectLocator结构;
判断是否有启用运行时信息,其中,所述运行时信息包括RTTICompleteObjectLocator结构的信息;
若有启用运行时信息,则根据所述对象地址查找到对应的RTTICompleteObjectLocator结构,并获取该RTTICompleteObjectLocator结构中的pTypeDescriptor字段;
根据所述pTypeDescriptor字段按照预设规则进行查找,以得到所述类对象的类名称。
2.根据权利要求1所述的类名称获取方法,其特征在于,所述获取待处理的类对象的虚函数表的表地址,并根据该表地址得到对应的对象地址的步骤包括:
获取待处理的类对象的起始地址;
根据所述起始地址得到对应的虚函数表的表地址,其中,该表地址为所述起始地址中第一个4字节的整型值;
对所述表地址进行地址偏移处理以得到对应的对象地址。
3.根据权利要求1所述的类名称获取方法,其特征在于,所述根据所述pTypeDescriptor字段按照预设规则进行查找,以得到所述类对象的类名称的步骤包括:
在所述pTypeDescriptor字段中找到name字段;
获取位于所述name字段位置的字符串,以得到所述类对象的类名称。
4.一种类名称获取装置,其特征在于,包括:
虚函数表判别模块,用于判断待处理的类对象中是否存在虚函数表;
地址获取模块,用于当所述虚函数表判别模块判断所述待处理的类对象中存在虚函数表时,获取待处理的类对象的虚函数表的表地址,并根据该表地址得到对应的对象地址,其中,所述对象地址指向对应的RTTICompleteObjectLocator结构;
运行时信息判别模块,用于判断是否有启用运行时信息,其中,运行时信息包括RTTICompleteObjectLocator结构的信息;
字段获取模块,用于当所述运行时信息判别模块判断有启动运行时信息时,根据所述对象地址查找到对应的RTTICompleteObjectLocator结构,并获取该RTTICompleteObjectLocator结构中的pTypeDescriptor字段;
类名称获取模块,用于根据所述pTypeDescriptor字段按照预设规则进行查找,以得到所述类对象的类名称。
5.根据权利要求4所述的类名称获取装置,其特征在于,所述地址获取模块包括:
起始地址获取子模块,用于获取待处理的类对象的起始地址;
表地址获取子模块,用于根据所述起始地址得到对应的虚函数表的表地址,其中,该表地址为所述起始地址中第一个4字节的整型值;
对象地址获取子模块,用于对所述表地址进行地址偏移处理以得到对应的对象地址。
6.根据权利要求4所述的类名称获取装置,其特征在于,所述类名称获取模块包括:
字段获取子模块,用于在所述pTypeDescriptor字段中找到name字段;
类名称获取子模块,用于获取位于所述name字段位置的字符串,以得到所述类对象的类名称。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810263949.9/1.html,转载请声明来源钻瓜专利网。