[发明专利]一种代码的分析方法、装置、电子终端及存储介质有效
申请号: | 202110584754.6 | 申请日: | 2021-05-27 |
公开(公告)号: | CN113190235B | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 周志刚 | 申请(专利权)人: | 武汉斗鱼鱼乐网络科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 430070 湖北省武汉市东湖新技术开发区软件园东路*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 分析 方法 装置 电子 终端 存储 介质 | ||
1.一种代码的分析方法,其特征在于,包括:
获取汇编代码的目标函数链表对象;其中所述目标函数链表对象中包含与根函数对应的函数信息对象;其中所述根函数为,与所述汇编代码对应的源码中,调用除本函数外其他函数的函数;其中,所述函数信息对象中包含所述根函数的函数名称;
获取所述目标函数链表对象中函数信息对象的函数名称,并对与所述函数名称对应的根函数,设置第一钩子函数;
接收目标功能的触发指令,基于所述触发指令运行所述汇编代码,并于所述汇编代码运行结束时,根据所述第一钩子函数的回调结果,从所述函数信息对象中,确定热点函数信息对象;
确定与所述热点函数信息对象的函数名称对应的热点根函数,将所述热点根函数调用的函数中,非循环调用的函数作为目标子函数,并对所述目标子函数设置第二钩子函数;
再次接收所述目标功能的触发指令,基于所述触发指令运行所述汇编代码,并于所述汇编代码运行结束时,根据所述第二钩子函数的回调结果,以及预先生成的所述目标子函数的引用列表,生成分析结果;其中,所述引用列表根据引用所述目标子函数的函数生成。
2.根据权利要求1所述的方法,其特征在于,所述获取汇编代码的目标函数链表对象,包括:
获取汇编代码的函数列表,遍历所述函数列表,获取所述函数列表中各函数的函数信息,将所述函数信息存储至预设文件中;其中,所述函数信息包含函数名称;其中,所述预设文件中每行保存一个函数的函数信息;
逐行读取所述预设文件,根据每行的函数信息创建函数信息对象,并将所述函数信息对象存储至第一函数链表对象中;
对所述第一函数链表对象中的函数信息对象进行过滤,得到包含与根函数对应的函数信息对象的目标函数链表对象。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一函数链表对象中的函数信息对象进行过滤,得到包含与根函数对应的函数信息对象的目标函数链表对象,包括:
将所述第一函数链表对象中,函数信息对象包含的指令长度小于预设长度的函数信息对象进行过滤,得到第二函数链表对象;
将所述第二函数链表对象中,与函数信息对象的函数名称对应的函数的函数头,为跳转指令的函数信息对象进行过滤,得到第三函数链表对象;
将所述第三函数链表对象中,与函数信息对象的函数名称对应的函数为根函数的函数信息对象进行保留,得到目标函数链表对象。
4.根据权利要求1所述的方法,其特征在于,所述引用列表基于下述步骤生成:
遍历待分析汇编代码,获取所述待分析汇编代码中各段的段信息;
根据所述段信息获取段名称,并于所述段名称中包含函数名称时,获取与包含的函数名称对应的函数的偏移地址;
遍历对所述偏移地址进行引用的引用函数,得到与包含的函数名称对应的函数的引用列表。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一钩子函数的回调结果,从所述函数信息对象中,确定热点函数信息对象,包括:
根据所述第一钩子函数返回的根函数的第一函数名称,和与所述第一函数名称对应的调用次数,从所述函数信息对象中,确定热点函数信息对象。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第二钩子函数的回调结果,以及预先生成的所述目标子函数的引用列表,生成分析结果,包括:
根据所述第二钩子函数返回的目标子函数的第二函数名称、与所述第二函数名称对应的调用次数,以及所述引用列表中对所述目标子函数进行引用的引用函数,生成所述汇编代码基于所述触发指令运行过程中,根函数间的调用顺序,以及各根函数内目标子函数的调用顺序。
7.根据权利要求1-6任一所述的方法,其特征在于,所述汇编代码为第三方模块的汇编代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼鱼乐网络科技有限公司,未经武汉斗鱼鱼乐网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110584754.6/1.html,转载请声明来源钻瓜专利网。