Якщо у мене є виконуваний файл Windows, як я можу дізнатись, які dll-файли він буде завантажувати?
Я просто говорю про те, які будуть завантажуватися статично, а не ті, які вони можуть динамічно завантажувати щось на зразок LoadLibrary.
Якщо у мене є виконуваний файл Windows, як я можу дізнатись, які dll-файли він буде завантажувати?
Я просто говорю про те, які будуть завантажуватися статично, а не ті, які вони можуть динамічно завантажувати щось на зразок LoadLibrary.
Відповіді:
Є комунальні служби, які зроблять це за вас.
Раніше я використовував інструмент MS (залежить.exe), який постачався з (я думаю) VB .:
https://msdn.microsoft.com/en-us/library/8kche8ah.aspx
а є і це:
http://dependencywalker.com/
і, можливо, інші.
dumpbin - це інструмент, який постачається з VC ++.
Щоб побачити, які бібліотеки DLL програма імпортує:
Dump of file whatever.exe File Type: EXECUTABLE IMAGE Image has the following dependencies: AIOUSB.DLL sqlite3.dll wxmsw293u_core_vc_custom.dll wxbase293u_vc_custom.dll KERNEL32.dll ole32.dll OLEAUT32.dll MSVCP90.dll MSVCR90.dll
Щоб побачити, які функції (і бібліотеки DLL) він буде імпортувати, використовуйте
C:\> dumpbin /imports whatever.exe
.exe
бібліотек, які не є бібліотеками, від яких виконуваний файл залежить опосередковано.
Відкрийте командний рядок і введіть нижче команди
tasklist / m / fi "imagename eq netbeans.exe"
Натомість введіть netbeans.exe, незалежно від імені вашого файлу exe.
Просто перейдіть до командного рядка та введіть tasklist /m
, і ви побачите список dll-файлів, що використовуються конкретною програмою.
Залежність Walker може допомогти вам визначити, який .dll буде завантажено.
Dependency Walker
спробуйте знайти бібліотеки DLL та їх ієрархічні залежності.
progfr простий і корисний: [ http://members.fortunecity.com/michaelmoser/tip11.htm]
Існує зручний інструмент під назвою NDepend, який надасть вам усі залежності DLL.
NDepend
є засобом статичного аналізу для керованого коду .NET ' . Отже, це працює лише для додатків .Net.
Провідник процесів поставляється з SysInternals Suite https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite
Переваги: дозволяє досліджувати вже запущений процес (я не знайшов, щоб приєднати ходунок залежностей до існуючого процесу)