Como faço para executar um *.ficheiro dll

Tenho um ficheiro DLL e quero executá-lo no Windows. Obtive este DLL de um site de desafio que alega que o DLL deve ser executado independentemente.

 20
Author: vs4vijay, 2010-06-15

7 answers

Para executar as funções numa DLL, primeiro descubra quais essas funções estão a usar qualquer programa de análise PE (executável portátil) (por exemplo Andador de dependências). Em seguida, utilize RUNDLL32.EXE com esta sintaxe:

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

O Dllname é a localização e o nome do seu ficheiro dll, o entrypoint é o nome da função e os argumentos opcionais são os argumentos da função

 32
Author: Ron, 2015-02-27 01:17:47

Poderá executar uma função definida num ficheiro DLL usando o comando rundll. Você pode explorar as funções disponíveis usando Dependency Walker .

 4
Author: Krumelur, 2010-06-15 10:50:50

Embora muitas pessoas tenham apontado que você não pode executar dlls diretamente e deve usar rundll32.exe para executar as funções exportadas em alternativa, aqui está uma imagem de um ficheiro dll actual a correr como um executável:

enter image description here

Embora não possa executar directamente os ficheiros dll, suspeito que seja possível executá-los a partir de outro processo usando uma função WinAPI CreateProcess:

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

 2
Author: Timur Nuriyasov, 2016-09-23 14:04:20

.Os ficheiros DLL não são executáveis no sentido em que os ficheiros .EXE/.com/.BAT são executáveis, por isso não tenho a certeza do que quer dizer.

Você pode usar a aplicação de Andarilho de dependências que vem com o SDK do Windows para interrogar A.DLL e veja que funções são exportadas pelo Arquivo.

 0
Author: William Leara, 2010-06-15 10:47:11
Não podes "executar" um DLL. Você pode executar funções dentro do DLL, como explicado nas outras respostas. Embora .EXE files and .Os arquivos DLL são essencialmente idênticos em termos de formato, a característica distintiva de um .EXE é que ele contém um "ponto de entrada" designado para ir e fazer a coisa que o EXE foi criado para fazer. DLLs realmente tem algo similar, mas o propósito da "DLL main" é apenas executar a inicialização e não cumprir o propósito primário da DLL; que é para as (presumivelmente) várias outras funções que contém.

Você pode executar qualquer uma das funções exportadas por um DLL, assumindo que você sabe qual deseja executar; um EXE pode conter um monte de funções, mas uma e apenas uma é especialmente designada para ser executada simplesmente "executando" isso.

 0
Author: Zenilogix, 2015-02-26 04:53:14

Para Correr A.ficheiro dll..Primeiro descubra quais são as funções que está exportando..Os ficheiros Dll serão excecute as funções especificadas na exportação Category..To saber qual a função que exporta refere-se a "filealyzer" Application..It irá mostrar-lhe a função de exportação na categoria "exportação de PE"..Notedown a nome da função-- Em seguida, abra a linha de comandos, escreva Rundll32 dllname, functionname (dllname--nome do seu dll) (Functionname-- nome da função que encontrou sob a exportação de PE) Nota:garante que a sua localização da linha de comandos é a sua localização do ficheiro dll

 0
Author: pavithran G, 2016-09-09 14:05:00

A seguinte série de passos pode ser útil:

  1. Abrir O Windows Explorer
  2. No canto superior esquerdo, clique em "organizar"
  3. seleccione"Opções de pesquisa e pasta"
  4. muda para a página " Ver "
  5. deslocar para baixo e desligar a opção "Esconder as extensões de ficheiros dos tipos de ficheiros conhecidos"
  6. Clique em OK
  7. agora encontra o ficheiro dll
  8. carregue com o botão direito e seleccione "mudar o nome"
  9. muda a extensão(o que vem depois da última .) e muda-a para .exe
 -4
Author: Nobody, 2013-09-29 20:47:28