[原]排错实战——使用process explorer替换任务管理器
前言
一般,我們會使用任務(wù)管理器查看系統(tǒng)中有哪些進(jìn)程在運(yùn)行,強(qiáng)制殺掉某個進(jìn)程。可是系統(tǒng)自帶的任務(wù)管理器功能有限,process explorer是一個功能更強(qiáng)大的工具。它可以讓我們查看更多更詳細(xì)的信息( 比如查看某個進(jìn)程的父進(jìn)程,進(jìn)程加載了哪些dll,打開了哪些文件,線程的cpu使用情況,線程的調(diào)用棧,哪些文件被哪些進(jìn)程占用了,等等 …… )。有沒有辦法讓process explorer替換系統(tǒng)自帶的任務(wù)管理器呢?????
功能介紹
這個功能,process explorer的作者M(jìn)ark Russinovich已經(jīng)幫我們想到了。process explorer提供了一個很酷的功能——替換任務(wù)管理器(taskmgr.exe),這樣當(dāng)我們運(yùn)行任務(wù)管理器的時候,就會自動打開功能更強(qiáng)大的process explorer了。
replace task manager說明:此操作需要以管理員權(quán)限運(yùn)行process explorer。
這么厲害的操作,是怎么實(shí)現(xiàn)的呢?????
實(shí)現(xiàn)原理
原來windows中有個注冊表項(xiàng)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options。如果程序A在Image File Execution Options下有對應(yīng)的注冊表項(xiàng), 當(dāng)我們啟動程序A的時候,系統(tǒng)會啟動Debugger子項(xiàng)中的值對應(yīng)的程序,并把程序A的路徑當(dāng)作參數(shù)傳遞過去。
以taskmgr.exe為例,設(shè)置如下圖:
當(dāng)taskmgr.exe啟動的時候,系統(tǒng)檢測到taskmgr.exe在Image File Execution Options下有對應(yīng)的設(shè)置項(xiàng),系統(tǒng)會啟動Debugger子項(xiàng)中的值對應(yīng)的程序C:\My\tools\sysinternals\procexp.exe,并把taskmgr.exe的路徑(我機(jī)器上是C:\WINDOWS\SYSTEM32\TASKMGR.EXE)當(dāng)作參數(shù)傳遞給procexp.exe。
驗(yàn)證
process explorer到底是不是通過這種方法實(shí)現(xiàn)的呢?讓我們用process monitor來觀察一下整個過程吧。具體步驟我就省略了,請參考下面的動圖。
replace taskmanager screen record注意: ?process monitor默認(rèn)會過濾掉process explorer相關(guān)的事件,如果想看到相關(guān)事件,需要手動取消過濾。自己驗(yàn)證的時候,一定不要忘了這一點(diǎn)。為了引起大家的重視,我特地把相關(guān)設(shè)置截圖貼到下方!
輕松一下
既然我們知道了原理,我們可以嘗試嘗試其它玩法。用notepad.exe替換taskmgr.exe怎么樣?當(dāng)啟動taskmgr.exe的時候,啟動的將會是notepad.exe。何不用這項(xiàng)技術(shù)娛樂下周圍的同事?替換掉大家常用的vs(對應(yīng)的進(jìn)程名為devenv.exe),這樣當(dāng)同事打開vs準(zhǔn)備寫代碼的時候,會是什么表情呢?????
腳本
把下列代碼保存成taskmgr.reg,雙擊即可導(dǎo)入到注冊表。
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe]"Debugger"="\"C:\\My\\tools\\sysinternals\\procexp.exe\""注意: Debugger的值要替換成你自己機(jī)器上的路徑。
你知道嗎?
可以使用Ctrl + Alt + Esc或者Ctrl + Alt + Delete來打開任務(wù)管理器。你喜歡用哪種方式打開呢?還知道其它打開任務(wù)管理器的方法嗎?
總結(jié)
利用process monitor的Process Tree功能,可以方便的讓我們查找到指定的進(jìn)程,并進(jìn)行過濾。
Image File Execution Options注冊表項(xiàng)很好很強(qiáng)大。鏡像劫持。
process explorer和process monitor只是sysinternals工具集中的兩個常用的工具。心動了嗎?請認(rèn)準(zhǔn)官方下載地址:https://docs.microsoft.com/en-us/sysinternals/downloads/
參考資料
Image File Execution Options[1]
《Windows Sysinternals 實(shí)戰(zhàn)指南》
References
[1]? Image File Execution Options:
https://blogs.msdn.microsoft.com/junfeng/2004/04/28/image-file-execution-options/
歡迎留言交流
總結(jié)
以上是生活随笔為你收集整理的[原]排错实战——使用process explorer替换任务管理器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 祝贺王远当选为中国区第二位 Teams
- 下一篇: ABP vNext中使用开源日志面板 L