[发明专利]一种病毒程序逆向分析方法及装置在审
申请号: | 202010614088.1 | 申请日: | 2020-06-30 |
公开(公告)号: | CN113867784A | 公开(公告)日: | 2021-12-31 |
发明(设计)人: | 周志刚 | 申请(专利权)人: | 武汉斗鱼鱼乐网络科技有限公司 |
主分类号: | G06F8/74 | 分类号: | G06F8/74;G06F11/36;G06F21/56 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 梁凯 |
地址: | 430000 湖北省武汉市东湖新技术开发区软件园东路*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 病毒 程序 逆向 分析 方法 装置 | ||
1.一种病毒程序逆向分析方法,其特征在于,包括:
对病毒程序进行逆向调试,确定所述病毒程序的核心数据所在的第一内存地址;
基于函数VirtualProtect(address,size,PAGE_NOACCESS,OldProtect),将所述第一内存地址设置为无效内存;其中,address为所述第一内存地址的内存起始地址,size为所述第一内存地址的大小;PAGE_NOACCESS用于设置所述第一内存地址不可访问;OldProtect为保存之前所述第一内存地址的属性;
逐条执行所述病毒程序的汇编代码,并基于VEH异常处理函数在发生操作异常时,获取目标汇编代码以及所述目标汇编代码的第二内存地址;其中,所述目标汇编代码为当前执行的汇编代码,所述第二内存地址为所述目标汇编代码的内存地址,所述目标汇编代码对所述第一内存地址进行访问时触发所述操作异常;
基于所述第二内存地址,获取所述目标汇编代码所在模块的模块信息;
将所述目标汇编代码以及所述目标汇编代码所在模块的模块信息保存至预设的模块文件中;
基于函数VirtualProtect(address,size,PAGE_READWRITE,OldProtect),将所述第一内存地址设置为有效内存,并完成所述目标汇编指令的执行;其中,PAGE_READWRITE用于设置所述第一内存地址可访问;
基于函数VirtualProtect(address,size,PAGE_NOACCESS,OldProtect),将所述第一内存地址设置为无效内存,以继续执行下一条所述病毒程序的汇编代码。
2.根据权利要求1所述的方法,其特征在于,所述基于VEH异常处理函数在发生操作异常时,获取目标汇编代码以及所述目标汇编代码的第二内存地址,包括:
基于函数AddVectoredExceptionHandler(0,VectoredHandler),捕获所述目标汇编代码的操作异常,并获得所述目标汇编代码以及所述第二内存地址;其中,0表示优先处理所述操作异常,VectoredHandler用于获取所述第二内存地址;
所述模块信息包括模块名称;所述基于所述第二内存地址,获取所述目标汇编代码所在模块的模块信息,包括:
基于所述第二内存地址,并采用接口getModuleName()获取所述模块名称。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标汇编代码以及所述目标汇编代码所在模块的模块信息保存至预设的模块文件中之前,还包括:
将所述模块名称计算crc32hash,获得计算结果;
从所述计算结果中确定第一目标字节,并基于所述第一目标字节进行所述模块文件的文件名判断;所述第一目标字节为所述计算结果中的任一字节;
所述进行所述模块文件的文件名判断包括:判断所述模块文件中是否存在与所述第一目标字节相同的文件名;若是,则从所述计算结果中确定与所述第一目标字节不同的第二目标字节,并基于所述第二目标字节进行所述模块文件的文件名判断;
当所述计算结果中的单个字节被判断完成之后,从所述计算结果中确定第一组合字节;所述第一组合字节为所述所述计算结果中的任两个字节开始依次递增;并基于所述第二目标字节进行所述模块文件的文件名判断;
重复进行所述模块文件的文件名判断,直至获得无重复的字节;
将所述无重复的字节作为所述模块文件的文件名。
4.根据权利要求2所述的方法,其特征在于,所述基于所述第二内存地址,并采用接口getModuleName()获取所述模块名称之前,还包括:
判断预设的静态变量是否被赋值;
若否,则对所述病毒程序的模块进行遍历,并将每个模块的模块名称、模块的起始地址、模块的结尾地址,赋值给所述静态变量;
所述基于所述第二内存地址,并采用接口getModuleName()获取所述模块名称,包括:
基于所述第二内存地址,并采用接口getModuleName()在所述静态变量中查询所述模块名称。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼鱼乐网络科技有限公司,未经武汉斗鱼鱼乐网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010614088.1/1.html,转载请声明来源钻瓜专利网。