Comment ouvrir les fichiers .dll pour voir ce qui est écrit à l'intérieur?

92

J'ai perdu la solution de class-library, puis-je ouvrir le .dllfichier créé par class-library.

HaDe
la source
10
Réflecteur ......
Mitch Wheat
23
DotPeek .........
dépensier
7
Aussi: essayez d'utiliser le contrôle du code source ...
Mitch Wheat
1
duplication possible des DLL
Daniel Powell

Réponses:

30

Suivez les étapes ci-dessous.

  1. Allez dans le menu Démarrer.
  2. Tapez Visual Studio Tool.
  3. Accédez au dossier ci-dessus.
  4. Cliquez sur «Invite de commandes du développeur pour VS 2013» dans le cas de VS 2013 ou simplement sur «Invite de commandes Visual Studio» dans le cas de VS 2010.
  5. Une fois l'invite de commande chargée dans le type d'écran, ILDASM.EXEappuyez sur ENTRÉE.
  6. ILDASMLa fenêtre s'ouvre.Faites glisser le .dllfichier vers la fenêtre à partir de votre dossier.Ou cliquez sur File->New.Ensuite, ajoutez le .dll fichier requis .
  7. Après les étapes ci-dessus, Mainfest et le .dllfichier apparaîtront. Double-cliquez sur ces fichiers pour voir ce qu'ils contiennent.
Abhi
la source
J'ai suivi vos instructions claires en utilisant VS 2012 et 2015 / Windows 7 Pro. Cependant, ILDASM a émis le message suivant pour le fichier .dll je tentais d'examiner: has no valid CLR header and cannot be disassembled.
CODE-REaD
2
Ce processus est utilisé pour désassembler le langage intermédiaire généré par CLR.
mmushtaq
7

Je pense que vous avez téléchargé le .NET Reflector et ce plugin FileGenerator http://filegenreflector.codeplex.com/ , si vous le faites,

  1. Ouvrez Reflector.exe,

  2. Allez dans Afficher et cliquez sur Compléments,

  3. Dans la fenêtre Compléments, cliquez sur Ajouter ...,

  4. Recherchez ensuite la dll que vous avez téléchargée

  5. FileGenerator.dll (qui est venu avec le plugin FileGenerator),

  6. Puis fermez la fenêtre Compléments.

  7. Allez dans Fichier et cliquez sur Ouvrir et choisissez la dll que vous souhaitez décompiler,

  8. Une fois que vous l'avez ouvert, il apparaîtra dans l'arborescence,

  9. Allez dans Outils et cliquez sur Générer des fichiers (Crtl + Shift + G),

  10. sélectionnez le répertoire de sortie et sélectionnez les paramètres appropriés comme vous le souhaitez, cliquez sur générer des fichiers.

OU

utilisez http://ilspy.net/

revenir en arrière
la source
spécifiquement lequel conseillez-vous? ILspy ou réflecteur? avantages et inconvénients
T.Todua
3

Vous ne pouvez pas obtenir le code exact, mais vous pouvez en obtenir une version décompilée.

L'outil le plus populaire (et le meilleur) est Reflector , mais il existe également d'autres décompilateurs .Net (comme Dis # ).

Vous pouvez également décompiler l'IL en utilisant ILDASM , fourni avec les outils du SDK .Net Framework.

Rohit
la source
1

Ouvrez le .dllfichier avec Visual Studio. Ou éditeur de ressources.

Vusan
la source
2
Lorsque j'ai tenté d'ouvrir un fichier .dll à l'aide de Visual Studio Express 2013 / Windows 7 Pro, il a émis le message suivant: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

Just Decompile de Telerik est le meilleur que j'ai utilisé. C'est gratuit une fois que vous vous inscrivez avec un e-mail.

entrez la description du lien ici

Eric
la source
1

J'utilise le logiciel Jetbrains Dot peek, vous pouvez aussi l'essayer

user13570405
la source
-11

Les fichiers * .dll sont des fichiers d'archive ouverts avec winzip / 7zip, etc. Cela ne veut pas dire que tous les fichiers .dll sont des archives, vous pouvez tout enregistrer avec l'extension .dll, mais la plupart des fichiers .dll de Windows sont générés pour être des archives. > twain_32.dll qui est un fichier d'archive mais twain.dll ne l'est pas si vous regardez twain.dll vous verrez un MZ® comme les trois premiers caractères du bloc-notes qui désignent un fichier / programme C compilé ou une partie d'un programme. Alors que MZ semble être une archive.

De plus, la plupart des fichiers .exe sont des archives contenant principalement une image d'icône, etc. pour le fichier et les packages d'installation de Windows.Ils contiennent également toutes les informations dont le programme a besoin pour exécuter des images, des films, etc., ainsi que des répertoires comprenant des informations d'installation et un fichier texte brut.

J'ai un jeu ici game.exe et il contient des fichiers de classe java une image un pointeur dirigeant le .exe pour exécuter un fichier .bat. Évidemment, votre fichier .bat exécutera un appel javac à partir de l'archive et exécutera le jeu, il y a aussi quelques archives .dll contenant également des fichiers de classe Java.

[autorun]
ICON=AUTORUN\MINCRAFTLOGO.ICO

redirection d'icône standard ici .ico est un fichier image dans un fichier .dll dans un fichier .exe. Ainsi, l'image vue sur le fichier .exe est le logo minecraft. C'est dans un fichier appelé autorun.inf. Deuxième exemple

[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

Il s'agit du fichier autorun.inf Solid Edge contenu dans solidedge.exe. Autostart \ est le répertoire Autostart.dll. open = autostart.exe spécifie le fichier autostart.exe à exécuter à partir de l'archive solidedge.exe d'origine. Voici un exemple de programme utilisant les fichiers .dll (bibliothèque de liens dynamiques) http://www.flipcode.com/archives/Creating_And_Using_DLLs.shtml .

Il montre également comment ils sont créés. Comme vous pouvez le voir, le contenu du fichier dll est appelé par un fichier exe comme je l'ai déjà expliqué, il y a aussi un tutoriel ici http://msdn.microsoft.com/en-us/library/ms235636.aspx et comme je l'ai déjà dit 7zip ou winzip ouvrira une bibliothèque de liens dynamiques en tant qu'archive tant que vous avez le fichier .dll. Si le contenu de la bibliothèque de liens dynamiques a été compilé, il vous faut évidemment un programme capable de lire le fichier.

Cependant, comme les fichiers .dll ne sont par définition que des fichiers de bibliothèque d'archives, la dll elle-même doit être lisible et non un fichier C, C # compilé, etc. créé et toutes les informations que vous stockez dans le fichier dll sont cryptées. La plupart du temps, ce cryptage est géré par Visual Studio lui-même et n'est généralement pas édité à la main. Lorsque vous lisez le contenu d'un fichier .dll au format .exe, le contenu est automatiquement déchiffré. Maintenant, quand nous parlons de compiler un programme, nous changeons le contenu en bytecode que la machine interprète facilement.

Cette taille de fichier serait plus petite que le fichier d'origine du même contenu. Cependant, la taille du fichier est plus grande, ce qui suggère que le fichier a effectivement été crypté. Probablement pour empêcher les gens de lire leur code. En conséquence, la lecture du contenu .dll est appelée décryptage et non décompilation. La décompilation convertirait les fichiers txt déjà compilés en code octet illisible. L'utilisation de fichiers .dll standard n'est par définition pas open source car elle implique l'obfuscation délibérée de code d'octet.

David
la source
8
Je ne sais pas si cela compterait comme apostasie ou hérésie dans les cercles informatiques. Comment cela pourrait-il être amélioré? Si c'était sur papier, je pourrais utiliser une allumette pour le sortir de sa misère.
brewmanz