[发明专利]基于静态指令流跟踪的导入表修复方法及装置有效
申请号: | 201711395746.7 | 申请日: | 2017-12-21 |
公开(公告)号: | CN108108617B | 公开(公告)日: | 2019-10-08 |
发明(设计)人: | 康绯;熊小兵;舒辉;光焱;卜文娟;刘彬;林昊;徐旭 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 周艳巧 |
地址: | 450000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 修复 指令流 静态指令 跳转 跟踪 系统动态 链接库 脱壳 捕获 网络安全技术 防御能力 地址修正 动态执行 恶意代码 跟踪程序 静态分析 脱壳效果 网络安全 有效解决 表项 重构 混淆 指令 网络 保证 | ||
1.一种基于静态指令流跟踪的导入表修复方法,其特征在于,包含如下内容:
A)针对脱壳后程序进行静态分析,跟踪其指令流,捕获指令流到系统动态链接库的跳转点;
B)根据跳转点确定真正的API函数地址;
C)依据真正的API函数地址修正待修复导入表的表项,完成导入表修复;
A)中,针对脱壳后程序进行静态分析,通过对导入表中导入项指向的地址进行静态指令流跟踪,逐步记录执行过的指令字节数,直到控制权跳转到动态链接库中,记录此时的跳转目的地址,作为指令流到系统动态链接库的跳转点。
2.根据权利要求1所述的基于静态指令流跟踪的导入表修复方法,其特征在于,A)中,依据预设的导入表伪装深度作为修复的循环判断满足条件,对待修复导入表中满足条件的导入项指针指向地址进行修复处理。
3.根据权利要求2所述的基于静态指令流跟踪的导入表修复方法,其特征在于,A)中,对待修复导入表中满足条件的导入项指针指向地址进行修复处理,包含如下内容:
依据导入项指针指向地址判断导入表表项是否需要修复;对需要修复的导入表表项,对其指针指向的内存执行反汇编指令,若反汇编指令有效执行,则进一步判断该反汇编指令是否为跳转指令,若是,则获取其跳转目标地址,并根据该跳转目标地址是否在导入动态链接内存区域来确定指令流到系统动态链接库的跳转点。
4.根据权利要求1所述的基于静态指令流跟踪的导入表修复方法,其特征在于,B)中,依据跳转点及记录的指令字节数,获取真正的API函数地址。
5.根据权利要求4所述的基于静态指令流跟踪的导入表修复方法,其特征在于,C)中,真正的API函数地址,是指:跳转点与记录的指令字节数差值。
6.一种基于静态指令流跟踪的导入表修复装置,其特征在于,基于权利要求1所述的基于静态指令流跟踪的导入表修复方法实现,包含:静态分析模块、真正API函数地址获取模块及导入表项修复模块,其中,
静态分析模块,用于针对脱壳后程序进行静态分析,跟踪其指令流,捕获待指令流到系统动态链接库的跳转点;
真正API函数地址获取模块,用于根据跳转点确定真正的API函数地址;
导入表项修复模块,用于依据真正的API函数地址修正导入表的表项,完成导入表修复。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711395746.7/1.html,转载请声明来源钻瓜专利网。