У меня есть DLL файл и вы хотите его выполнить в Windows. Я получил эту DLL с сайта Challenge, который утверждает, что DLL должна выполняться независимо.
Как выполнить файл *.dll
Ответ 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