Dump of file hnetcfg.dll File Type: DLL Dump of file LINK : fatal error LNK1181: cannot open inp

Тема в разделе "WASM.BEGINNERS", создана пользователем sato, 20 мар 2018.

  1. sato

    sato Забанен

    Публикаций:
    0
    Регистрация:
    15 янв 2012
    Сообщения:
    5
    при создании DEF файла
    Dumpbin /EXPORTS hnetcfg > output.txt
     
  2. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.933
    Код (Text):
    1. @echo off
    2. cls
    3. set masm64_path=...<-- ваш путь к dumpbin.exe и link.ехе
    4. @echo %masm64_path%
    5. set FileName=hnetcfg
    6. if exist %FileName%.inc del %FileName%.inc
    7. if exist %FileName%.def del %FileName%.def
    8. %masm64_path%bin\dumpbin.exe /EXPORTS %windir%\System32\%FileName%.dll /OUT:%FileName%.txt
    9. ::%masm64_path%bin\dumpbin.exe /EXPORTS %FileName%.dll /OUT:%FileName%.txt
    10. @echo EXPORTS >> %FileName%.def
    11. for /f "skip=16 tokens=1-4" %%a in (%FileName%.txt) do ( if "%%a"=="Summary" goto :exit
    12. if "%%d"=="" ( @echo extern __imp_%FileName%_ordinal%%a:qword >> %FileName%.inc
    13. @echo %FileName%_ordinal%%a TEXTEQU ^<__imp_%FileName%_ordinal%%a^> >> %FileName%.inc
    14. @echo %FileName%_ordinal%%a=ordinal%%a @%%a NONAME >> %FileName%.def
    15. ) else ( if not "%%d"=="(forwarded" ( @echo extern __imp_%%d:qword >> %FileName%.inc
    16. @echo %%d TEXTEQU ^<__imp_%%d^> >> %FileName%.inc
    17. @echo %%d=__imp_%%d >> %FileName%.def )))
    18. :exit
    19. %masm64_path%bin\link -lib /DEF:%FileName%.def /OUT:%FileName%.lib /MACHINE:X64 <-- для 32-разрядной заменить на MACHINE:X86
    без проблем собрались hnetcfg.inc, hnetcfg.def, hnetcfg.ехр, и hnetcfg.lib
     
  3. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.933
    да это МАСМ64, но для переделки для МАСМ32 достаточно поменять /MACHINE:X64 на /MACHINE:X86, ну или на основе моего бат-файла создать свой...
     
    sato нравится это.
  4. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.933
    что я могу сказать? Вы берете реальную dll, обрабатываете ее, получаете доступ к тем функциям, которые из нее экспортируются.
    INetSharingConfiguration::AddPortMapping method
    INetSharingConfiguration::EnableSharing method
    INetSharingConfiguration::EnableInternetFirewall method
    INetSharingConfiguration::lol: isableSharing method
    INetSharingConfiguration::lol: isableInternetFirewall method
    INetSharingConfiguration::get_EnumPortMappings method
    INetSharingConfiguration::get_SharingConnectionType method и т.д.
     
  5. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.933
    лучше под отладчиком запустить софтину, в которой используется AddPortMapping, тогда будет понятно какая функция из hnetcfg.dll используется