我有一個.exe文件,我相信它是用VB6創建的。 Visual Studio 6或更高版本中是否有任何工具可讓我看到應用程序運行所需的任何動態庫?確定.exe依賴關係
回答
嘗試this - Dependancy Walker。
您可以看到與Dumpbin/imports隱式鏈接的DLL依賴關係。或Dependency Walker提供的靜態視圖。但是,VB6程序通常對COM組件有很大的依賴性,並且它們在程序運行時獲得需求加載。這些組件需要在程序加載和使用前註冊。
爲了看到這一點,您需要一個實用程序來顯示程序如何使用註冊表。 VS6工具箱沒有這個功能,你可以使用SysInternals的ProcMon工具。請注意試圖在HKLM \ Software \ Classes \ CLSID註冊表項中打開註冊表項的程序,這是註冊COM組件的位置。您應該看到它找不到可以從中確定CLSID的密鑰。
這仍然沒有真正讓你在任何地方,因爲這只是一個不透明的數字,它並不告訴你的名稱或DLL的位置。在程序正確運行的機器上使用Regedit.exe。找到該鍵,LocalServer32值告訴你哪個DLL或OCX實現COM組件。
HKLM \ Software \ Classes \ CLSID並非全包。自從Win2K以來,我們已經進行了每用戶註冊,並且自Vista以來進行了虛擬化每用戶註冊。隔離清單完全繞過註冊表的早期和晚期對象。我不知道什麼是「隱式鏈接的DLL」。也許你的意思是靜態鏈接? – Bob77 2010-06-25 22:30:23
「靜態鏈接動態庫」是什麼意思?鏈接一個DLL隱式做:http://msdn.microsoft.com/en-us/library/d14wsce5%28VS.90%29.aspx讓Vista將您的程序視爲時間的受害者,以便它將虛擬化註冊表可能是解決方案我猜。 – 2010-06-25 23:01:57
- 1. 確定maven的正確依賴關係?
- 2. 確定Maven提供的依賴關係
- 3. 如何確定庫間依賴關係?
- 4. 如何確定libstdC++依賴關係?
- 5. 依賴關係的nuget依賴關係
- 6. 指定項目的依賴關係:複製依賴關係?
- 7. 依賴關係定義
- 8. 依賴關係
- 9. EXE和DLL依賴關係 - 何時重新編譯EXE?
- 10. Hudson依賴關係
- 11. tools.jar依賴關係
- 12. URLClassloader依賴關係
- 13. WildFly依賴關係
- 14. flickrj依賴關係
- 15. DLL依賴關係
- 16. Python依賴關係?
- 17. Eclipse:Android依賴關係
- 18. automake依賴關係
- 19. Knockoutjs依賴關係
- 20. Maven依賴關係
- 21. asyntasks依賴關係
- 22. Webkit依賴關係
- 23. iMX31依賴關係?
- 24. Maven依賴關係
- 25. SharedPreferences依賴關係
- 26. Jira依賴關係
- 27. Scala:Spec2依賴關係
- 28. NetSSL依賴關係?
- 29. UML依賴關係
- 30. require.js加載依賴關係不正確
請注意,程序運行時可能會動態加載一些內容(例如COM組件)。您需要針對依賴項步行者運行該程序並鍛鍊所有程序功能。 – MarkJ 2010-06-25 13:38:03