win32virus汇编PE文件感染代码阅读

win32virus汇编PE文件感染

预备:

  • 选择好win32virus病毒和配置masm32环境(masm32环境搭建请参考:https://www.cnblogs.com/lsdb/p/7402955.html)
  • OllyDebug和x32Debug调试器
  • 虚拟机win7系统(需要快照机制)
  • 老师给的资源故意留有两个需要跨越的地方,做好调试的准备

步骤:

在图1中,我们发现汇编代码有三处都是两点,改为一点后保存。
在这里插入图片描述

用Masm32Edit的Project中的assemble and link功能生成.exe文件,图2为编译过程,图3表示.exe已经生成。
在这里插入图片描述

图4,用OllyDebug运行.exe文件,发现运行意外终止。
在这里插入图片描述
用图5所示的x32Degub调试工具运行到终止处,点击“内存布局”发现内存发现权限为ER,不可以进行写入(W),如图6。
在这里插入图片描述
在这里插入图片描述

图7为.text原来的内存权限,图8为修改后的权限,变为ERW。
在这里插入图片描述
在这里插入图片描述

再次运行,运行成功,弹出若干信息框,如图9到17所示。大体内容是该pe病毒能识别该路径下的所有合法pe文件,并且感染使得原文件大小增加4k。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
所以被感染的文件是masm32\bin\aniedit.exe文件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

图18为快照示意图,我们用快照返回到刚安装的时候。
在这里插入图片描述
下面查看文件大小变化。
图19是未感染的文件大小为45.0KB。
在这里插入图片描述

图20是感染后的文件大小为49.0KB,正好是增加4KB。
在这里插入图片描述
病毒成功运行,非常完美!

总结:

  1. Masm32Edit是我用过的最好用的汇编编辑器,如果装有masm32的环境还能自动生成.exe文件。
  2. 内存权限ERW的意思是Execute(可执行)、Read(读)、Write(写)。
  3. win32virus通过API探索所在文件夹下所有合法的pe文件,并且感染使其文件大小增加4KB整。

代码交流 2021