利索能及
我要发布
收藏
专利号: 2018102639499
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

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字段位置的字符串,以得到所述类对象的类名称。

7.一种电子设备,其特征在于,包括存储器、处理器和类名称获取装置,所述类名称获取装置包括一个或多个存储于所述存储器中并由所述处理器执行的软件功能模块,其中,所述软件功能模块包括:

虚函数表判断模块,用于判断待处理的类对象中是否存在虚函数表;

地址获取模块,用于当所述虚函数表判断模块判断所述待处理的类对象中存在虚函数表时,获取待处理的类对象的虚函数表的表地址,并根据该表地址得到对应的对象地址,其中,所述对象地址指向对应的RTTICompleteObjectLocator结构;

运行时信息判断模块,用于判断是否有启用运行时信息,其中,运行时信息包括RTTICompleteObjectLocator结构的信息;

字段获取模块,用于当所述运行时信息判断模块判断有启动运行时信息时,根据所述对象地址查找到对应的RTTICompleteObjectLocator结构,并获取该RTTICompleteObjectLocator结构中的pTypeDescriptor字段;

类名称获取模块,用于根据所述pTypeDescriptor字段按照预设规则进行查找,以得到所述类对象的类名称。

8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1‑3任意一项所述方法的步骤。