日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Visual Studio 2013开发 mini-filter driver step by step 获取可执行文件名称 - 实现process monitor的一个功能 (10)

發(fā)布時間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Visual Studio 2013开发 mini-filter driver step by step 获取可执行文件名称 - 实现process monitor的一个功能 (10) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

國慶就要結(jié)束了,遺憾一下:)

先看看process monitor的樣子

他的功能就是監(jiān)控哪些應(yīng)用程序執(zhí)行了什么操作,比如打開了哪些文件,讀取了哪些文件等。

今天在使用一張小學(xué)英語光盤的時候,發(fā)現(xiàn)安裝軟件后,必須要光盤才能運行,很是麻煩,而且里面的mp3文件也不知道在哪里存放,把隱藏文件,系統(tǒng)文件等顯示了,仍然不知道那些mp3存放在光盤的什么地方了,沒辦法,又要想拷貝他們到手機(jī)上,好輔導(dǎo)孩子的學(xué)習(xí),不能每次都把光盤放到電腦上,好麻煩。

所以啟動了process monitor,很快就知道了mp3的藏身之處,就在光盤的一個名字叫assets的目錄下面。輕松拷貝下來:)

今天要討論的就是怎么獲得應(yīng)用程序的名字,從內(nèi)核態(tài)很容易知道哪些文件被操作了,前面的blog中已經(jīng)提到了,這里不再贅述。

要獲得應(yīng)用程序的名字,有很多種方法,網(wǎng)上也有很多討論,主要的方法就是利用EPROCESS結(jié)構(gòu),用類似hack的方法來查找文件名,基本思路是在Driver_Entry中獲取到system進(jìn)程的名字,然后記錄下進(jìn)程名的偏移量,然后再在需要的時候使用這個偏移量來獲得進(jìn)程名。

這個方法確實可行,但是也有一些問題,不同的系統(tǒng)EPROCESS可能會有所不同,會有不兼容的問題。

從Windows XP以后,ntoskrnl.exe提供了一個未公開API,叫PsGetProcessImageFileName,該函數(shù)的原型為:

char* PsGetProcessImageFileName(PEPROCESS p);

雖然為公開文檔,但是可以直接拿來使用,使用的時候當(dāng)然也很簡單。

需要先申明一下:

extern

char* PsGetProcessImageFileName(PEPROCESS p);

然后就可以使用了:

PsGetProcessImageFileName(PsGetCurrentProcess());

注意,只能返回進(jìn)程名,而不會返回全路徑,正如process monitor一樣。



總結(jié)

以上是生活随笔為你收集整理的Visual Studio 2013开发 mini-filter driver step by step 获取可执行文件名称 - 实现process monitor的一个功能 (10)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。