恶意代码分析实战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的主要内容,如果未能解决你的问题,请参考以下文章

恶意代码分析实战3-2

恶意代码分析实战3-2

恶意代码分析实战11-1

恶意代码分析实战9-1

恶意代码分析实战14-02

恶意代码分析实战11-2