Como abrir arquivos .dll para ver o que está escrito dentro?


Respostas:



30

Siga as etapas abaixo ..

  1. Vá para o menu Iniciar.
  2. Digite Visual Studio Tool.
  3. Vá para a pasta acima.
  4. Clique em "Prompt de comando do desenvolvedor para VS 2013" no caso do VS 2013 ou apenas "Prompt de comando do Visual Studio" no caso do VS 2010.
  5. Depois que o prompt de comando for carregado na tela, ILDASM.EXEpressione ENTER.
  6. ILDASMa janela será aberta. Arraste o .dllarquivo para a janela da sua pasta. Ou clique em. Em File->Newseguida, adicione o .dll arquivo necessário .
  7. Após os passos acima, o Mainfest e o .dllarquivo aparecerão. Clique duas vezes nesses arquivos para ver o que eles contêm.

Segui suas instruções claras usando o VS 2012 e 2015 / Windows 7 Pro. No entanto, ILDASM emitiu a seguinte mensagem para o arquivo .dll que tentou examinar: has no valid CLR header and cannot be disassembled.
CODE-REaD

2
Este processo é usado para desmontar a linguagem intermediária gerada pelo CLR.
mmushtaq

7

Acho que você baixou o .NET Reflector e este plug-in FileGenerator http://filegenreflector.codeplex.com/ , se o fizer,

  1. Abra o Reflector.exe,

  2. Vá para Visualizar e clique em Suplementos,

  3. Na janela Add-Ins, clique em Adicionar ...,

  4. Em seguida, encontre a dll que você baixou

  5. FileGenerator.dll (que veio com o plug-in FileGenerator),

  6. Em seguida, feche a janela Add-Ins.

  7. Vá para Arquivo e clique em Abrir e escolha a dll que deseja descompilar,

  8. Depois de abri-lo, ele aparecerá na visualização em árvore,

  9. Vá para Ferramentas e clique em Gerar Arquivos (Crtl + Shift + G),

  10. selecione o diretório de saída e selecione as configurações apropriadas como desejar, clique em gerar arquivos.

OU

use http://ilspy.net/


especificamente qual deles você aconselha? ILspy ou refletor? prós e contras
T.Todua

3

Você não pode obter o código exato, mas pode obter uma versão descompilada dele.

A ferramenta mais popular (e melhor) é o Reflector , mas também existem outros descompiladores .Net (como o Dis # ).

Você também pode descompilar o IL usando ILDASM , que vem junto com o .Net Framework SDK Tools.


1

Abra o .dllarquivo com o Visual Studio. Ou editor de recursos.


2
Quando tentei abrir um arquivo .dll usando o Visual Studio Express 2013 / Windows 7 Pro, ele emitiu a seguinte mensagem:There is no editor available for (file I tried to open). Make sure the application for the file type (.dll) is installed.
CODE-REaD


1

Eu uso o Jetbrains Dot peek Software, você pode tentar isso também


-11

Os arquivos * .dll são arquivos abertos com winzip / 7zip etc. Isso não quer dizer que todos os arquivos .dll são arquivos, você pode salvar qualquer coisa com a extensão .dll, porém a maioria dos arquivos .dll do Windows são gerados para serem arquivos exemplos disso são janelas > twain_32.dll que é um arquivo compactado, entretanto twain.dll não é, se você olhar para twain.dll, verá um MZŽ como os três primeiros caracteres do bloco de notas que denota um arquivo / programa C compilado ou parte de um programa. Considerando que MZ parece ser um arquivo.

Além disso, a maioria dos arquivos .exe são arquivos contendo principalmente uma imagem de ícone etc. para o arquivo e os pacotes do instalador do Windows também contêm todas as informações de que o programa precisa para executar imagens, filmes, etc. e também diretórios, incluindo informações de instalação e arquivo de texto simples.

Eu tenho um jogo aqui game.exe e ele contém arquivos de classe java uma imagem um ponteiro direcionando o .exe para executar um arquivo .bat. Obviamente, seu arquivo .bat executará uma chamada javac do arquivo e executará o jogo, também há alguns arquivos .dll contendo arquivos de classe java.

[autorun]
ICON=AUTORUN\MINCRAFTLOGO.ICO

ícone padrão redirecionar aqui .ico é um arquivo de imagem dentro de um arquivo .dll dentro de um arquivo .exe. Portanto, a imagem vista no arquivo .exe é o logotipo do minecraft. Ele está em um arquivo chamado autorun.inf. Segundo exemplo

[discstarter]
    startpage=Autostart\Disk1.html
    uselanguagestartpage=1
    windowcaption=Solid Edge
    licensee=Siemens PLM Software
    productguid=05B227DF-DB00-4934-B3C8-40B7D8FAA54A
    singleinstance=1
    hidesplashscreen=1
    noscrollbars=0
    showstatusbar=1
    splashscreentime=0
    windowwidth=750
    windowheight=775
    buttondir=Autostart
    toolbarcolor=16777215
    toolbar=goback,goforward,gohome,print,exit
    [autorun]
    open=autostart.exe
    icon=Autostart\ENGINE.ICO

Este é o arquivo autorun.inf de borda sólida contido em solidedge.exe Autostart \ é o diretório Autostart.dll. open = autostart.exe especifica o arquivo autostart.exe a ser executado a partir do arquivo solidedge.exe original. Aqui está um programa de amostra usando os arquivos .dll (biblioteca de link dinâmico) http://www.flipcode.com/archives/Creating_And_Using_DLLs.shtml .

Também mostra como eles são criados. Como você pode ver, o conteúdo do arquivo dll é chamado por um arquivo exe, conforme expliquei anteriormente, também há um tutorial aqui http://msdn.microsoft.com/en-us/library/ms235636.aspx e como eu disse antes 7zip ou winzip abrirá uma biblioteca de vínculo dinâmico como um arquivo, desde que você tenha o arquivo .dll. Se o conteúdo da biblioteca de vínculo dinâmico foi compilado, obviamente você precisa de um programa que possa ler o arquivo.

No entanto, como os arquivos .dll são, por definição, apenas arquivos de biblioteca de arquivamento, a própria dll deve ser legível e não um arquivo C, C # compilado etc. etc. criado e qualquer informação que você armazena no arquivo DLL é criptografada. Geralmente, essa criptografia é tratada pelo próprio visual studio e geralmente não é editada manualmente. Quando você lê o conteúdo de um arquivo .dll como um .exe, o conteúdo é automaticamente descriptografado. Agora, quando falamos sobre compilar um programa, estamos mudando o conteúdo para bytecode que a máquina interpreta facilmente.

Este tamanho de arquivo seria menor do que o arquivo original com o mesmo conteúdo. No entanto, o tamanho do arquivo é maior, sugerindo que o arquivo foi realmente criptografado. Provavelmente para impedir que as pessoas leiam seu código. Como resultado, a leitura do conteúdo .dll é denominada descriptografia e não descompilação. A descompilação converteria os arquivos txt já compilados em código de byte ilegível. O uso de arquivos .dll padrão não é, por definição, código aberto porque envolve a ofuscação deliberada do código de bytes.


8
Não tenho certeza se isso contaria como apostasia ou heresia nos círculos de computação. Como poderia ser melhorado? Se estivesse no papel, eu poderia usar um fósforo para acabar com seu sofrimento.
brewmanz
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.