SCDBG - 恶意代码分析利器


GPL
Windows
C/C++

软件简介

scdbg是一款多平台开源的Shellcode模拟运行、分析工具。其基于libemulibrary搭建的虚拟环境,通过模拟32位处理器、内存和基本Windows
API运行环境来虚拟执行Shellcode以分析其行为。有了虚拟执行妈妈再也不用担心我的电脑中病毒了。

基本原理

众所周知,shellcode为了实现特定的功能必须通过调用系统API来完成-不论先前怎怎么变形怎么加密最后都会调用系统API。scdbg就是通过
模拟执行以及hook多达200多个API来探测shellcode的行为。当然比如创建文件和访问网络这些危险的API并没有真正的在本机执行,而是通
过传回虚假的返回值来欺骗shellcode让其平稳运行。

直接命令行输入scdbg.exe example.sc 来看看输出:

其中example.sc文件就是以二进制形式保存的Shellcode,我们可以看到这段shellcode调用了两次较关键的函数
-CreateProcessA,第一次调用tftp.exe程序下载winapi32.exe,第二次准备执行之。很典型的下载并执行行为。有了
scdbg我们就不必花很多时间在搭建测试环境、解码shellcode、调试理解各种分枝跳转、担心机器是否中招。。。。。。简单明了。

scdbg和通常的命令行工具一样,有着众多参数选项,这里只做最基本的演示,就不一一列举。想必大家都有在命令行下痛苦的经历,命令行的历史就是我等小菜的血泪史,还好scdbg有GUI图形界面版:

指定偏移,自定参数一目了然。