Il malware normalmente utilizza le funzioni API di Windows (Application Programming Interface) per interagire con il sistema operativo (per eseguire file system, processi, memoria e internet). Windows esporta la maggior parte delle sue funzioni richieste per queste interazioni per le librerie dinamiche (DLL). Gli eseguibili importano e chiamano queste funzioni API da varie DLL, che forniscono diverse funzionalità. Per chiamare l’API, il processo eseguibile carica il file DLL nella sua memoria e quindi chiama la funzione API. Ispezionando le DLL, un malware fa affidamento a queste funzionalità per eseguire le sue funzioni. Grazie a questo possiamo capire le capacità del malware. Nella tabella seguente vengono descritte alcune delle DLL comuni e il funzionalità che implementano se non utilizza un packer o encrypt.

Kernel32.dll

Questa DLL esporta funzioni relative a processo, memoria, hardware e operazioni con il file system. Il malware importa le funzioni API da queste DLL per eseguireoperazioni relative alla memoria e al processo con il file system.

Advapi32.dll

Contiene funzionalità relative al servizio e al registro. Il malware utilizza l’API da questa DLL per eseguire operazioni relative ai servizi e al registro.

Gdi32.dll

funzioni di grafica

User32.dll

Implementa funzioni che creano e manipolano l’interfaccia utente di Windows e i suoi componenti, come desktop, finestre, menu, finestre di messaggio, prompt messaggi. Alcuni programmi malware utilizzano le funzioni di questa DLL per eseguire DLL injection e per monitorare gli eventi della tastiera (per keylogging) e del mouse.

MSVCRT.dll

Contiene implementazioni delle funzioni della libreria standard C.

WS2_32.dll and WSock32.dll

Contengono funzioni per la comunicazione in rete. Importazione di malware di funzioni da queste DLL è per eseguire attività relative alla rete.

Wininet.dll

Espone funzioni di alto livello per interagire con i protocolli HTTP e FTP.

Urlmon.dll

È un wrapper per WinInet.dll ed è responsabile della gestione del tipo MIME e del download di contenuto web. I downloader di malware utilizzano le funzioni di questa DLL per ottenere persistence e scaricare nuovi stager per i loro attacchi.

NTDLL.dll

Esporta le funzioni API native di Windows e funge da interfaccia tra i programmi in modalità utente e kernel. Ad esempio, quando un programma chiama API funzioni in kernel32.dll (o kernelbase.dll), l’API, a sua volta, chiama ntdll.dll. Un programma in genere non importa le funzioni da ntdll.dll direttamente; le funzioni in ntdll.dll vengono importate indirettamente da
DLL come Kernel32.dll. La maggior parte delle funzioni in ntdll.dll non sono documentate e gli autori di malware a volte importano funzioni da questa DLL