藏在 DLL 中的惡意軟體
抓到了! ;-)
DLL 檔(Dynamic-link library,動態連結函式庫)是微軟在 Windows 中共享函式庫的一種實作方式。當程式呼叫到DLL檔內的函式時,Windows才會把DLL載入到記憶體中。
一般而言, DLL 會輸出函式名稱供主程式叫用, 但有些惡意軟體會在其中藏匿完整的惡意主程式, 這樣的話, DLL 就會有 4D5A 這個辨別碼,只要找到它位於記憶中的位址, 再把它 dump 出來, 就可以把整個惡意程式完整地由 DLL 中抽出來, 並存成實際的執行檔, 之後, 就能方便地脫殼、反組譯程式碼、分析惡意軟體的行為。
如圖所示,dump 出來的惡意程式, 它甚至還用 VMProtect 加上密殼來躲避反組譯!