平淡

因為每次開機后監控程序A都會啟動,顯然它是通過系統的某種方式自啟動的。因此先通過系統工具來查找啟動項。在Windows 10中,分別通過程序的三種自啟動方式來進行查看:
1常規的自啟動程序
在任務欄搜索框中輸入“啟動”,打開“啟動應用”設置后就可以看到本機所有的自啟動項了。我們可以看到當前電腦中并沒有可疑的啟動項(圖1)。
2查看任務計劃
因為監控程序會定時重啟,所以它很有可能是通過任務計劃啟動的。啟動任務計劃程序,點擊“顯示所有正在運行的任務”,在正在運行的任務窗口中也沒有發現可疑的計劃。但是在查看任務的過程中,系統又提示XX游戲未找到,現在可以排除程序A是通過任務計劃啟動的可能(圖2)。
3查看系統服務
在“運行”框中輸入“msconfi g”,啟動程序后切換到“服務”選項卡,勾選“隱藏所有Microsof t服務”,可以看到所有第三方的服務。這里除了名為“Lsass Game Service”的服務外,其他的均是知名廠商如英特爾、騰訊、搜狗提供的服務,因此該服務極為可疑(圖3)。
接著根據圖3顯示的服務名稱,打開服務管理組件并打開對應的服務屬性窗口,可以看到該服務啟動的程序是“C:\Windows\lsass.exe”(圖4)。這個看上去像是系統進程,但是按提示打開文件資源管理器,查看“lsass.exe”的文件屬性卻是空白的,基本可以判定這是一個非系統文件。

通過上面的方法我們找到可疑的系統服務及其對應的程序,那么這次的問題是不是它導致的呢?打開任務管理器,切換到“服務”,根據圖4顯示的“服務名稱”找到“lsass”服務并將其終止。問題并沒有解決,系統依然定時彈出啟動提示,顯然在后臺還有“幫兇”。
1查看進程的命令行參數
打開任務管理器并切換到“進程”,然后在“名稱欄”上右擊,在彈出的菜單中勾選“命令行”,這樣我們可以看到進程的命令行參數。因為筆者當前的電腦中并沒有運行任何命令行程序,但是在“進程”下可以看到一個“Windows命令處理程序”(即“c m d. e xe”),其運行的參數是“C:\ U s e r s\當前用戶\ A p p Da t a\Local\Temp\D19D.tmp\D19E.tmp\d19f.batC:\windows\lsass.exe”(圖5)。根據命令行的參數可以知道,批處理“D19F.bat”會啟動“C:\Windows\lsass.exe”,所以即使終止該服務,批處理仍會在后臺啟動它。
2查看運行的批處理和腳本
打開文件資源管理器,按提示展開“C:\Users\當前用戶\ AppData\Lo c a l \Temp\ D19 D. tmp\ D19 E.tmp”,果然在其中看到運行的批處理“D19F.bat”,使用記事本程序打開查看代碼,可以看到這實際上就是一個監控指定進程運行的批處理,如果在進程列表中沒有找到指定的進程(即代碼“set _task=”指定游戲程序),那么10秒后就重啟指定的游戲(圖6)。
同時根據其中的代碼“c sc r i pt// b //n o l o g o %tmp%/de l ay.v b s10000”可以知道,該程序還會在用戶的臨時目錄下生成“delay.vbs”腳本文件,執行的間隔是“10 0 0 0”毫秒(即10秒)。返回任務管理器窗口,同上在圖5所示的窗口中再次進行排查,可以看到有一個名為“Mi crosoftConso l e Base d c sc ipt Host”的進程,運行的參數為“c sc r i pt //b // n o l o g o %t m p%/d e l a y.v b s10000”(圖7)。
在文件資源管理器中打開“C:\Users\當前用戶\ AppData\Local\Temp”,可以看到其中的“ de l ay.vbs”文件,使用記事本程序打開后可以看到運行的實際代碼(圖8)。
至此,筆者知道了這次問題之所在:該游戲在安裝后注冊了一個系統服務,系統服務啟動后釋放指定的批處理“D19F. bat ”(數字是隨機的,需要通過圖7所示的方法來查找)到用戶的臨時目錄中并運行,批處理運行后會在臨時目錄中生成“delay.vbs”,通過系統自帶的“cscript.exe”命令運行這個“delay.vbs”腳本,接著腳本會不斷掃描進程列表中是否有指定游戲的進程,如果沒有則重啟它,所以出現前文所述的定時重啟XX游戲的提示。
知道了問題的原因后,解決起來就簡單了:先停止“ L s a s s”服務,然后刪除上述臨時目錄中的“D19 F.bat”和“del ay.vbs”,最后再將“L s a s s”服務徹底刪除,最終順利解決問題。