恶意代码分析实战18-3

本次实验我们将会分析lab18-4,lab18-5文件。
将lab18-4载入peid
恶意代码分析实战18-3_第1张图片

可以看到是使用ASPack加壳的
载入od
恶意代码分析实战18-3_第2张图片

第一条就是pushad
我们单步步过pushad
如下所示
恶意代码分析实战18-3_第3张图片

选中esp的值follow in dump
恶意代码分析实战18-3_第4张图片

然后下硬件断点
恶意代码分析实战18-3_第5张图片

执行后如下所示
恶意代码分析实战18-3_第6张图片

jnz指令的前一条是popad,我们知道跟在popad指令后面的应该是尾部跳转,尾部跳转可以将程序切换到oep运行。
我们单步步过jnz
恶意代码分析实战18-3_第7张图片

在push指令后面看到了retn,它将跳转到压入栈的地址处运行,这可能就是尾部跳转
单步步过retn,来到了
恶意代码分析实战18-3_第8张图片

右键,如下操作
恶意代码分析实战18-3_第9张图片

结果如下
恶意代码分析实战18-3_第10张图片

这样就找到了oep
将其转储
恶意代码分析实战18-3_第11张图片

将转储后的文件载入peid
恶意代码分析实战18-3_第12张图片

可以看到脱壳成功了。

将lab18-5载入peid
恶意代码分析实战18-3_第13张图片

可以看到是WinUpack加壳得到的
载入od

恶意代码分析实战18-3_第14张图片恶意代码分析实战18-3_第15张图片

但是会直接报错
od能够加载文件,但是不能发现脱壳存根的入口点,而会在系统断点上中断
恶意代码分析实战18-3_第16张图片

我们单步
恶意代码分析实战18-3_第17张图片

直到esp的值为红色
接着,右键-》数据窗口中跟随
恶意代码分析实战18-3_第18张图片

然后下断点
恶意代码分析实战18-3_第19张图片

执行后停在下图所示位置
恶意代码分析实战18-3_第20张图片

这里就是oep的位置

还是同样的转储操作
恶意代码分析实战18-3_第21张图片

载入peid看到此时脱壳成功了
恶意代码分析实战18-3_第22张图片

但是查看导入信息时,如下所示
恶意代码分析实战18-3_第23张图片

无法正确识别
我们需要对导入表进行修复
使用import rec进行修复工作
恶意代码分析实战18-3_第24张图片

上图的两个箭头所指的地方是需要修改的,一个是lab18-5的进程,一个是oep地址
单击自动搜索
恶意代码分析实战18-3_第25张图片

点击获取输出表
恶意代码分析实战18-3_第26张图片

然后点击修复转存文件
恶意代码分析实战18-3_第27张图片

点击打开即可
恶意代码分析实战18-3_第28张图片

显示saved_success说明修复完毕
将修复后的文件载入peid
恶意代码分析实战18-3_第29张图片

可以看到导入信息等都可以查看了
说明脱壳成功

参考:
1.《恶意代码分析实战》

你可能感兴趣的:(malware)