[发明专利]一种基于二进制分析的动态库裁剪方法有效

专利信息
申请号: 202111285971.1 申请日: 2021-11-02
公开(公告)号: CN113721928B 公开(公告)日: 2022-01-18
发明(设计)人: 甘志峰;张瑞冬;童永鳌;朱鹏 申请(专利权)人: 成都无糖信息技术有限公司
主分类号: G06F8/52 分类号: G06F8/52;G06F8/72
代理公司: 成都为知盾专利代理事务所(特殊普通合伙) 51267 代理人: 李汉强
地址: 610000 四川省成都市高新*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 二进制 分析 动态 裁剪 方法
【权利要求书】:

1.一种基于二进制分析的动态库裁剪方法,其特征在于,包括:

步骤1:进行目标动态库模块解析,分析目标动态库模块的文件格式,然后进行分离数据段和代码段操作,获取符号信息和重定位信息;

步骤2:通过数据流分析对所述数据段和所述代码段进行分析,还原控制流图,用于恢复控制流信息;所述步骤2具体为:

步骤2.1:初始化分析环境;

步骤2.2:反汇编所述代码段并将其提升为中间表示;

步骤2.3:分析所述中间表示,对跳转类语句和非跳转类语句进行处理,以位置与边的形式构成抽象状态的约束系统;

步骤2.4:基于约束系统,使用数据流分析计算每个位置的状态以实例化间接调用具体地址,形成可达状态集;

步骤2.5:根据可达状态集还原控制流图;

步骤3:恢复函数调用图,并根据用户需求函数集与步骤1中的重定位信息和符号信息,过滤出无用函数信息,并用空白指令填充无用函数信息,形成修改的动态库;

步骤4:使用二进制重写技术将步骤3中修改的动态库进行反汇编成为可汇编的代码,并恢复链接信息,然后在文本层面消除空白指令,并使用汇编器和链接器对消除空白指令后的代码进行重构,生成重构动态库。

2.根据权利要求1所述的一种基于二进制分析的动态库裁剪方法,其特征在于,所述步骤1具体为:

步骤1.1:对目标动态库模块进行文件格式识别,判断目标动态库模块的目标系统架构;

步骤1.2:根据目标动态库模块对应的文件格式对其进行标准解析,保存数据段、符号信息和重定位信息,所述数据段包括程序加载基质、入口点和依赖库;

步骤1.3:截取代码段,所述代码段用于后续静态分析。

3.根据权利要求1所述的一种基于二进制分析的动态库裁剪方法,其特征在于,所述步骤2.1具体为:初始化分析环境时使用抽象内存模型来描述内存,以不同区域划分不同的内存位置类型。

4.根据权利要求1所述的一种基于二进制分析的动态库裁剪方法,其特征在于,所述步骤2.2具体为:

步骤2.2.1:根据代码段各部分的当前状态反汇编对应位置的机器码;

步骤2.2.2:加载中间表示的描述文件,用于描述汇编指令与中间表示的映射关系;

步骤2.2.3:根据对应的规则将当前汇编指令提升为中间表示的语句序列。

5.根据权利要求1所述的一种基于二进制分析的动态库裁剪方法,其特征在于,所述步骤2.3中对于跳转类语句和非跳转类语句的处理方式具体为:

对于跳转语句,生成具有假设语义的边,其后继控制流则根据前一结点的抽象状态来决定;

对于非跳转类语句,直接以当前语句位置与下一条邻接语句的状态为节点,以语句语义构成边。

6.根据权利要求1所述的一种基于二进制分析的动态库裁剪方法,其特征在于,所述步骤2.4具体为:通过worklist算法来进行数据流分析,将每条边接收一个状态输入,并以一个后继状态作为输出,所有边的输出状态的集合就是可达状态集;当一个状态输入遇到具有假设语义的边时,会根据自身具体数值是否符合语义来判断能否经过这条边,若一条边没有状态输出,则说明这部分代码不可达。

7.根据权利要求6所述的一种基于二进制分析的动态库裁剪方法,其特征在于,所述步骤2.5具体为:

步骤2.5.1:分析所述可达状态集,获取所有具有假定语义的边;

步骤2.5.2:将具有假定语义的边的一个端点作为基本块开头,另一个端点作为基本块结尾,并将两个相邻的基础块进行连接;

步骤2.5.3:对所有基本块划分函数边界,断开跨函数基本块之间的边。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都无糖信息技术有限公司,未经成都无糖信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111285971.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top