恶意代码分析实战18-3
Posted Neil-Yale
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了恶意代码分析实战18-3相关的知识,希望对你有一定的参考价值。
本次实验我们将会分析lab18-4,lab18-5文件。
将lab18-4载入peid
可以看到是使用ASPack加壳的
载入od
第一条就是pushad
我们单步步过pushad
如下所示
选中esp的值follow in dump
然后下硬件断点
执行后如下所示
jnz指令的前一条是popad,我们知道跟在popad指令后面的应该是尾部跳转,尾部跳转可以将程序切换到oep运行。
我们单步步过jnz
在push指令后面看到了retn,它将跳转到压入栈的地址处运行,这可能就是尾部跳转
单步步过retn,来到了
右键,如下操作
结果如下
这样就找到了oep
将其转储
将转储后的文件载入peid
可以看到脱壳成功了。
将lab18-5载入peid
可以看到是WinUpack加壳得到的
载入od
但是会直接报错
od能够加载文件,但是不能发现脱壳存根的入口点,而会在系统断点上中断
我们单步
直到esp的值为红色
接着,右键-》数据窗口中跟随
然后下断点
执行后停在下图所示位置
这里就是oep的位置
还是同样的转储操作
载入peid看到此时脱壳成功了
但是查看导入信息时,如下所示
无法正确识别
我们需要对导入表进行修复
使用import rec进行修复工作
上图的两个箭头所指的地方是需要修改的,一个是lab18-5的进程,一个是oep地址
单击自动搜索
点击获取输出表
然后点击修复转存文件
点击打开即可
显示saved_success说明修复完毕
将修复后的文件载入peid
可以看到导入信息等都可以查看了
说明脱壳成功
参考:
1.《恶意代码分析实战》
以上是关于恶意代码分析实战18-3的主要内容,如果未能解决你的问题,请参考以下文章