分析樣本是發現線程數量從一個莫名增加到了5個,在CreateThread、--beginthread處下斷點,停在了CreateThread處,線程入口點地址很大,不像是用戶代碼。
後來一步步調試發現:
1、LoadLibraryW(L"wininet.dll")執行時會創建一個線程,注意下面2張圖,線程窗口多了一個線程。
2、HttpSendRequestW()調用創建了另外3個線程,注意下面2張圖對比:
在VS中寫了demo測試,發現在加載了wininet.dll庫的程序中確實多了一個線程,使用HttpSendRequestW()發送請求時確實會創建一些線程,數量不一定是3個,可能更多。發個demo地址,有興趣的同學調試一下:https://download.csdn.net/download/singleyellow/11068797