基于程序运行的类继承关系解析及代码分析方法、设备、存储介质及程序产品技术

技术编号:41987966 阅读:27 留言:0更新日期:2024-07-12 12:16
本申请实施例提供一种基于程序运行的类继承关系解析及代码分析方法、设备、存储介质及程序产品。在本申请实施例中,在目标程序运行过程中,在从动态产生的目标类实例在内存空间中的数据布局信息中读取的首个成员变量是指针变量且指向目标程序的可执行文件的数据段时,视为首个成员变量指向了虚函数表;进一步,在虚函数表中读取的首个元素指向可执行文件的代码段时,根据首个元素进行地址偏移,得到第一指针地址,并根据第一指针地址,从目标类实例的继承关系描述信息中获取目标类实例的名称以及目标类实例与其他类实例存在继承关系或未与其他类实例存在继承关系信息,从而根据继承关系有效地对目标应用或目标程序的源代码进行安全监测。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种基于程序运行的类继承关系解析及代码分析方法、设备、存储介质及程序产品


技术介绍

1、c++是一种广泛使用的现代高级编程语言,因其功能强大、运行效率高以及活跃的开发社区而在操作系统、游戏开发、移动应用程序和嵌入式开发等领域得到了广泛应用。然而,由于c++的动态性和复杂性,一些恶意应用程序也利用c++编写。在代码审计、恶意软件分析等实践中,还原c++类的信息及继承关系对于分析人员理解程序结构和功能至关重要。

2、目前,类转储工具(class-dump)是ios逆向工程中一个实用的分析工具,主要用于解析和还原objective-c(简称objc)类的信息,objc是c语言的一个扩展。mach-o是objective-c程序编译后的主要文件格式,objective-c编译后的代码,包括类的名称、方法、属性等信息,都会被打包进mach-o文件中。由于objective-c具有运行时特性,使得class-dump能够通过解析mach-o文件,静态转储这些信息,这些信息这对于逆向工程、调试、性能优化等方面都非常重要。

<本文档来自技高网...

【技术保护点】

1.一种基于程序运行的类继承关系解析方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,还包括:

3.根据权利要求2所述的方法,其特征在于,根据所述指针变量的地址和大小,判断所述指针变量是否为有效,包括:

4.根据权利要求1所述的方法,其特征在于,还包括:

5.根据权利要求4所述的方法,其特征在于,还包括:

6.根据权利要求1所述的方法,其特征在于,根据所述第一指针地址,从所述目标类实例的继承关系描述信息中获取所述目标类实例的名称和继承关系信息,包括:

7.根据权利要求1-6任一项所述的方法,其特征在...

【技术特征摘要】

1.一种基于程序运行的类继承关系解析方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,还包括:

3.根据权利要求2所述的方法,其特征在于,根据所述指针变量的地址和大小,判断所述指针变量是否为有效,包括:

4.根据权利要求1所述的方法,其特征在于,还包括:

5.根据权利要求4所述的方法,其特征在于,还包括:

6.根据权利要求1所述的方法,其特征在于,根据所述第一指针地址,从所述目标类实例的继承关系描述信息中获取所述目标类实例的名称和继承关系信息,包括:

7.根据权利要求1-6任一项所述的方法,其特征在于,在所述目标类实例的继承关系信息表示所述目标类实例与其他类实例存在继承关系...

【专利技术属性】
技术研发人员:贾学文彭飞
申请(专利权)人:北京城市网邻信息技术有限公司
类型:发明
国别省市:

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

1