Подтвердить что ты не робот

Как выполнить файл *.dll

У меня есть DLL файл и вы хотите его выполнить в Windows. Я получил эту DLL с сайта Challenge, который утверждает, что DLL должна выполняться независимо.

4b9b3361

Ответ 1

Чтобы запустить функции в DLL, сначала выясните, что эти функции используют любую программу анализа PE (Portable Executable) (например, Dependency Walker). Затем используйте RUNDLL32.EXE с этот синтаксис:

 RUNDLL32.EXE <dllname>,<entrypoint> <optional arguments>

dllname - это путь и имя вашего файла dll, entrypoint - имя функции, а необязательные аргументы - аргументы функции

Ответ 2

Вы можете выполнить функцию, определенную в DLL файле, с помощью команды rundll. Вы можете изучить функции, доступные с помощью Dependency Walker.

Ответ 3

. Файлы DLL не исполняются в том смысле, что файлы .EXE/.COM/.BAT исполняемы, поэтому я не уверен, что вы имеете в виду.

Вы можете использовать приложение Dependency Walker, которое поставляется вместе с SDK Windows для опроса .DLL и посмотреть, какие функции экспортируются файлом.

Ответ 4

Вы не можете "выполнить" DLL. Вы можете выполнять функции в DLL, как объяснено в других ответах. Хотя .EXE файлы и .DLL файлы по существу идентичны с точки зрения формата, отличительной особенностью .EXE является то, что он содержит обозначенную "точку входа", чтобы идти и делать то, что было создано EXE. У DLL действительно есть что-то подобное, но цель "dll main" - это просто выполнить инициализацию и не выполнять основную задачу DLL; то есть для (предположительно) различных других функций, которые он содержит.

Вы можете выполнить любую из функций, экспортируемых DLL, при условии, что вы знаете, какой из них вы хотите выполнить; EXE может содержать множество функций, но один и только один специально предназначен для выполнения просто путем "запуска" его.

Ответ 5

Запустить файл .dll. Сначала узнаем, какие функции он экспортирует. Файлы DLL будут отменены функции, указанные в разделе "Экспорт". Чтобы узнать, какая функция экспортируется, обратитесь к "filealyzer" Application.It покажет вам функцию экспорта в категории "PE EXPORT". имя функции-- Затем откройте командную строку, введите Rundll32 dllname, имя функции (dllname - имя вашей dll) (Functionname-- имя функции, найденной в PE Export) Примечание. Убедитесь, что местоположение вашей командной строки - это местоположение вашего dll файла.

Ответ 6

В то время как многие люди указали, что вы не можете выполнять dll напрямую, и вместо этого использовать rundll32.exe для выполнения экспортированных функций, вот скриншот фактического файла DLL, выполняемого как исполняемый файл:

введите описание изображения здесь

Пока вы не можете напрямую запускать DLL файлы, я подозреваю, что их можно запускать из другого процесса с помощью функции CreateProcess WinAPI:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx

Ответ 7

Может оказаться полезным следующая последовательность шагов:

  • Откройте проводник Windows
  • В верхнем левом углу нажмите "Организовать"
  • выберите "Папка и параметры поиска"
  • Перейдите на вкладку "Просмотр"
  • Прокрутите вниз и снимите флажок "Скрыть расширения файлов для известных типов файлов"
  • Нажмите "ОК"
  • Теперь найдите dll файл
  • Щелкните его правой кнопкой мыши и выберите "Переименовать"
  • Измените расширение (что происходит после последнего .) и измените его на .exe