摘要
本发明公开了一种从二进制程序中恢复复合数据类型的方法和系统。本方法为:1)构建目标二进制程序的反编译代码中每个函数对应的类型流图并进行拼接,形成一全程序类型流图;2)识别反编译代码中的内存管理包装函数并计算反编译代码中每一指针型变量所指向的堆内存长度信息在全程序类型流图中进行传播,移除图中导致信息冲突的边;基于更新后的全程序类型流图生成复合数据类型约束;3)从复合数据类型约束中推导出多种候选的复合数据类型声明;4)根据每一候选的复合数据类型声明对该目标二进制程序进行反编译并计算其可读性;5)选择可读性最强的反编译代码版本对应的复合数据类型声明作为对该目标二进制程序反编译的复合数据类型。
技术关键词
表达式
内存
嵌套
对源程序
变量
滑动窗口算法
关系
包装
分析模块
存储计算机程序
大语言模型
指针
处理器
源节点
可读存储介质
存储器
标记
系统为您推荐了相关专利信息
波数域算法
安检图像
图像像素
图像灰度值
距离成像
夏克哈特曼传感器
大气湍流干扰
光斑
采样点
自由空间光通信技术
天空区域识别
烟火识别
识别方法
可见光
识别模块