在恶意软件的分析中有的 Windows 可执行文件(PE 文件)会通过膨胀策略来绕过防病毒一些防病毒的检查,比如上传云进行分析,因为文件太大了所以无法进行一些防病毒分析。一般的可执行文件有很多的膨胀策略,一般简单的膨胀策略就是将垃圾字节添加到可执行文件的结尾 例如通过以下 Python 脚本,在 cmd.exe 文件末尾添加垃圾字节
file = ""
with open ( "cmd.exe" , "rb" ) as f: file = f. read( ) with open ( "big_cmd" , "wb" ) as output: output. write( file + ( bytes ( "Garbage Bytes" ) * 7000000 ) )
运行完成脚本之后就会生成一个膨胀的 big_cmd.exe 文件,垃圾字节应该被添加到了文件的结尾,使用 malcat 查看一下,垃圾字节添加到了 .reloc 节的后面,大小为 106.8 MB 下载 debloat 用于剥离膨胀部分 https://github.com/Squiblydoo/debloat/releases/tag/1.5.6.3,下载完成之后打开,将 big_cmd.exe 文件拖入 debloat 并进行剥离操作,完成之后在拖入 malcat 中进行查看,发现垃圾字节减少到 <1000 kb 参考 https://github.com/Squiblydoo/debloat.git - Squiblydoo Malware Analysts can now EASILY Debloat Malware - John Hammond