分析病毒功能最重要的就是了解链接了哪些DLL。常见DLL功能如下
Kernel32.dll:该动态库含有很多核心功能,比如操作内存,文件或者硬件的一些函数。
Advapi32.dll:该库提供链接至Windows 内核文件:service manager,register
User32.dll:该库提供所有的用户接口界面比如buttons,scroll bar等
Gdi32.dll:该库提供显示和操作图形界面的函数
Ntdll.dll:该库是Windows内核的接口。通常通过Kernel32.dll间接链接,而不是直接导入该库。如果可执行文件中有该库,则证明,该执行文件不正常。通常含有一些隐藏功能的函数或者操纵进程的函数会使用该接口
WSock32.dll and Ws2_32.dll:该库提供网络链接的函数
Wininet.dll:该库提供一些通信层协议: FTP,HTTP,NTP等。
除了一些常用的DLL,还应该了解Windows的一些DLL命名方式,比如Ex结尾的动态库通常表示该更新后的动态库和旧库出现某种形式的不兼容,新库会使用Ex后缀以示区别,CreateWindowsEx。还有一些函数后面会加上后缀A或者W,该方式是表示该函数接受两种形式的字符串参数,A表示ASCII形式的字符串参数,W表示Wide character strings,使用MSDN(Microsoft Developer Network library)查询函数功能时,要记得去掉A或者W后缀。
分析病毒时,一定要经常查阅MSDN,将常用的链接库以及函数功能熟记于心。