如何確定給定的exe或dll或sys文件是否實際上是驅動程序? 我的意思是區分驅動程序和正常可執行文件的區別?如何識別驅動程序可執行文件?
回答
駕駛員的圖像始終標記爲IMAGE_SUBSYSTEM_NATIVE(IMAGE_OPTIONAL_HEADER.Subsystem - See the Microsoft Portable Executable specification),而應用程序的圖像通常標記爲IMAGE_SUBSYSTEM_WINDOWS_GUI或IMAGE_SUBSYSTEM_WINDOWS_CUI。
正常的可執行程序在用戶模式下運行,而驅動程序在內核模式下運行。 正常的可執行文件通常與桌面交互,而驅動程序無法與桌面交互(沒有用戶界面)。 正常的可執行程序與Windows API交互,而驅動程序無法與Windows API交互。
@mox - 這是正確的,但是它意味着使用調試器/十六進制編輯器/其他PE頭讀取工具。相反,您可以始終查看該文件的依賴關係(使用Dependency Walker),如果該文件依賴於NTOSKRNL.EXE,則很可能是驅動程序。
其實我想編寫一個列出給定文件夾中所有驅動程序文件的工具。我想我應該在我的問題上更具體。不管怎麼說,多謝拉。 – CodeWarrior 2012-04-11 16:49:27
@CodeWarrior:不幸的是,除了使用外部「工具」外,沒有其他方法可以檢測到要檢測的屬性(驅動程序)。我使用和開發的一個:-)是PeStudio(http://www.winitor.com)。 – mox 2012-04-12 07:57:41
@CodeWarrior:點擊Enter提前!此外,像autocheck.exe等應用程序是沒有驅動程序,但仍然被檢測爲「本機」。這使得分類工作不容易! – mox 2012-04-12 08:02:13
- 1. 如何識別應用程序意圖執行\運行文件?
- 2. 識別便攜式可執行文件
- 3. 該驅動程序不可執行Chromedriver
- 4. 使用可執行文件安裝驅動程序
- 5. java.lang.IllegalStateException:驅動程序可執行文件不存在 - Selenium Webdriver
- 6. 驅動程序可執行文件不存在:Selenium Firefox
- 7. Php不識別PDO_DBLIB驅動程序
- 8. ndk-build可執行文件未被識別爲可執行文件
- 9. 如何設置可執行IE 11驅動程序的路徑
- 10. 如何識別安裝程序文件?
- 11. 如何推動在mongodb中執行emdeded文件c#驅動程序
- 12. 安裝期間Inno Setup啓動可執行文件(安裝驅動程序)
- 13. 主要可執行文件運行啓動程序可執行文件,然後啓動程序運行主要可執行文件
- 14. 驅動程序可執行文件的路徑必須由webdriver.chrome.driver設置; IllegalStateException
- 15. 設置驅動程序可執行文件路徑的步驟是什麼?
- 16. 執行上下文驅動的編程
- 17. 使用Mono在Linux中識別可執行文件?
- 18. 不是可執行格式:文件格式無法識別GDB
- 19. Process.Start不能識別我的可執行文件?
- 20. 如何識別程序集?
- 21. 在驅動程序端如何執行多重查詢?
- 22. java.lang.IllegalStateException:驅動程序不可執行:/resources/phantomjs-2.1.1-linux-x86_64/bin/phantomjs
- 23. spark驅動程序如何序列化發送給執行程序的任務?
- 24. 相當於Mongo執行的PHP MongoDB驅動程序執行
- 25. C#活動程序識別
- 26. mysql jdbc驅動程序不識別latin1字符
- 27. 的JBoss 6.3管理應用程序不能識別MySQL驅動
- 28. 如何在事件驅動編程中找到執行結束
- 29. Linux如何識別它需要加載哪個輸入驅動程序?
- 30. JavaScript的執行程序運行時可執行的JAR文件
正是我在找的東西。我希望我能夠投票贊成,但我沒有足夠的代表... – CodeWarrior 2012-04-11 16:45:48
您可以在下次投票... :-)謝謝。 – mox 2012-04-12 08:03:49