Analyzing Malicious Windows Programs
Analyzing Malicious Windows Programs
WinINet API
Higher-level API (stored in Wininet.dll)
InternetOpen: initiate connection to the Internet
InternetOpenURL: connect to a URL
InternetReadFile: read data from a downloaded file
Dynamic link libraries (DLL)
DLL
use libraries to share code among multiple applications (code re-use
among apps including malware)
Memory shared among running processes (static libs are loaded n
times for n programs, n times of memory)
Minimize software distributions
Malware:
hides malicious code in DLL rather than .exe
uses standard Windows DLLs to interact with OS
Uses third-party DLLs (e.g. Firefox DLL) to avoid re-implementing
functions
No real difference between DLL and .exe (except a flag)
Processes