本文收錄多款經典惡意代碼原始碼片段,包括熊貓燒香變種「仇英」、Cabir手機蠕蟲、Love Letter、Backdoor等,並以WinCE.Dust為例深入剖析Windows CE平台病毒的感染邏輯、API動態導入技術、PE結構解析與繞過系統保護機制的手法。
進入點 virus_start 保存所有暫存器,建立堆疊框架,預留空間儲存導入函數位址(udiv、malloc、free、檔案映射、檔案搜尋、MessageBox等)。
為相容不同版本coredll.dll,病毒不使用函數名稱,而是掃描記憶體中的模組鏈表(KDataStruct → aInfo[KINX_MODULES]),定位 coredll.dll 模組結構,取得其映像基址與導出表RVA,再依序數解析所需API位址。此技術繞過了WinCE無PE標頭、無SEH的限制。
FindFirstFileW/FindNextFileW 遍歷根目錄(註:原碼因未處理當前目錄路徑,實際僅掃描根目錄)。infect_file)。host_ep)。程式碼針對Pocket PC 2003 (WinCE 4.20.0 build 13252) 測試通過。不同版本模組結構偏移可能不同,需動態調整。作者亦嘗試過掃描記憶體尋找「MZ」標頭定位kernel32基址(Win32常用技巧),但WinCE模組無標頭而作罷。
聲明:原始碼僅供學術研究與防禦技術分析,嚴禁用於製造或傳播惡意程式。