Wie öffne ich DLL-Dateien, um zu sehen, was darin geschrieben ist?

91

Ich habe die Lösung der Klassenbibliothek verloren, kann ich eine .dllDatei öffnen , die von erstellt wird class-library.

HaDe
quelle
10
Reflektor ......
Mitch Wheat
23
DotPeek .........
Spender
7
Außerdem: Versuchen Sie es mit Source Code Control ....
Mitch Wheat
1
Mögliches Duplikat von DLLs zum Öffnen und Schnüffeln
Daniel Powell

Antworten:

28

Befolgen Sie die folgenden Schritte.

  1. Gehen Sie zum Startmenü.
  2. Geben Sie Visual Studio Tool ein.
  3. Gehen Sie zum Ordner oben.
  4. Klicken Sie bei VS 2013 auf "Developer Command Prompt for VS 2013" oder bei VS 2010 nur auf "Visual Studio Command Prompt".
  5. Nachdem die Eingabeaufforderung auf den Bildschirmtyp geladen wurde, ILDASM.EXEdrücken Sie die EINGABETASTE.
  6. ILDASMDas Fenster wird geöffnet. Ziehen Sie die .dllDatei aus Ihrem Ordner in das Fenster. Oder klicken Sie auf. File->NewFügen Sie dann die erforderliche .dll Datei hinzu.
  7. Nach den obigen Schritten werden Mainfest und .dllDatei angezeigt. Doppelklicken Sie auf diese Dateien, um zu sehen, was sie enthalten.
Abhi
quelle
Ich habe Ihre klaren Anweisungen mit VS 2012 und 2015 / Windows 7 Pro befolgt. ILDASM hat jedoch die folgende Meldung für die DLL-Datei ausgegeben, die ich untersuchen wollte : has no valid CLR header and cannot be disassembled.
CODE-REaD
2
Dieser Prozess wird verwendet, um die von CLR generierte Zwischensprache zu zerlegen.
mmushtaq
7

Ich denke , dass Sie den .NET Reflector heruntergeladen haben und diesen Filegenerator Plugin http://filegenreflector.codeplex.com/ , Wenn Sie das tun,

  1. Öffnen Sie die Datei Reflector.exe.

  2. Gehen Sie zu Ansicht und klicken Sie auf Add-Ins.

  3. Klicken Sie im Fenster Add-Ins auf Hinzufügen ...,

  4. Dann finden Sie die DLL, die Sie heruntergeladen haben

  5. FileGenerator.dll (mit dem FileGenerator-Plugin),

  6. Schließen Sie dann das Fenster Add-Ins.

  7. Gehen Sie zu Datei und klicken Sie auf Öffnen und wählen Sie die DLL aus, die Sie dekompilieren möchten.

  8. Nachdem Sie es geöffnet haben, wird es in der Baumansicht angezeigt.

  9. Gehen Sie zu Extras und klicken Sie auf Dateien generieren (Strg + Umschalt + G).

  10. Wählen Sie das Ausgabeverzeichnis aus und wählen Sie die gewünschten Einstellungen aus. Klicken Sie auf Dateien generieren.

ODER

benutze http://ilspy.net/

Backtrack
quelle
speziell welche raten Sie? ILspy oder Reflektor? Vor- und Nachteile
T.Todua
3

Sie können den genauen Code nicht erhalten, aber Sie können eine dekompilierte Version davon erhalten.

Das beliebteste (und beste) Tool ist Reflector , es gibt jedoch auch andere .Net-Dekompilierer (z. B. Dis # ).

Sie können die IL auch mit ILDASM dekompilieren, das im Lieferumfang der .Net Framework SDK-Tools enthalten ist.

Rohit
quelle
1

.dllDatei mit Visual Studio öffnen . Oder Ressourceneditor.

vusan
quelle
2
Als ich versuchte, eine DLL-Datei mit Visual Studio Express 2013 / Windows 7 Pro zu öffnen, wurde die folgende Meldung ausgegeben: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

Teleriks Just Decompile ist das Beste, was ich verwendet habe. Sobald Sie sich mit einer E-Mail angemeldet haben, ist dies kostenlos.

Geben Sie hier die Linkbeschreibung ein

Eric
quelle
1

Ich benutze die Jetbrains Dot Peek Software, das können Sie auch versuchen

user13570405
quelle
-11

* .dll-Dateien sind Archivdateien, die mit winzip / 7zip usw. geöffnet wurden. Das heißt nicht, dass alle .dll-Dateien Archive sind. Sie können alles mit der Erweiterung .dll speichern. Die meisten Windows-DLL-Dateien werden jedoch als Archive generiert. Beispiele hierfür sind Windows > twain_32.dll ist eine Archivdatei, twain.dll jedoch nicht. Wenn Sie sich twain.dll ansehen, sehen Sie eine MZ® als die ersten drei Notizblockzeichen, die eine kompilierte C-Datei / ein kompiliertes C-Programm oder einen Teil eines Programms bezeichnen. Während MZ ein Archiv zu sein scheint.

Außerdem sind die meisten EXE-Dateien Archive, die meistens ein Symbolbild usw. für die Datei und die Windows-Installationspakete enthalten. Sie enthalten alle Informationen, die das Programm zum Ausführen von Bildern, Filmen usw. benötigt, sowie Verzeichnisse, einschließlich Installationsinformationen und Nur-Text-Dateien.

Ich habe hier ein Spiel game.exe und es enthält Java-Klassendateien, ein Bild und einen Zeiger, der die EXE-Datei anweist, eine .bat-Datei auszuführen. Offensichtlich wird Ihre .bat-Datei einen Java-Aufruf aus dem Archiv ausführen und das Spiel ausführen. Es gibt auch einige DLL-Archive, die auch Java-Klassendateien enthalten.

[autorun]
ICON=AUTORUN\MINCRAFTLOGO.ICO

Standard-Symbolumleitung hier .ico ist eine Bilddatei innerhalb einer DLL-Datei innerhalb einer EXE-Datei. Das Bild in der EXE-Datei ist also das Minecraft-Logo. Dies ist in einer Datei namens autorun.inf. Zweites Beispiel

[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

Dies ist die autorun.inf-Datei mit fester Kante in solidedge.exe. Autostart \ ist das Verzeichnis Autostart.dll. open = autostart.exe gibt die Datei autostart.exe an, die im ursprünglichen Archiv solidedge.exe ausgeführt werden soll. Hier ist ein Beispielprogramm mit den DLL-Dateien (Dynamic Link Library) http://www.flipcode.com/archives/Creating_And_Using_DLLs.shtml .

Es zeigt auch, wie sie erstellt werden. Wie Sie sehen können, wird der Inhalt der DLL-Datei von einer Exe-Datei aufgerufen, wie ich zuvor erklärt habe. Außerdem gibt es hier ein Tutorial: http://msdn.microsoft.com/en-us/library/ms235636.aspx und wie ich bereits sagte 7zip oder winzip öffnen eine dynamische Linkbibliothek als Archiv, solange Sie über die DLL-Datei verfügen. Wenn der Inhalt der Dynamic Link Library offensichtlich kompiliert wurde, benötigen Sie ein Programm, das die Datei lesen kann.

Da DLL-Dateien per Definition nur Archivbibliotheksdateien sind, sollte die DLL selbst lesbar sein und keine kompilierte C-, C # -Datei usw. usw. Grundsätzlich sollten DLL-Dateien Archive sein, wenn eine DLL-Datei in Visual Studio erstellt wird erstellt und alle Informationen, die Sie in der DLL-Datei speichern, werden verschlüsselt. Meistens wird diese Verschlüsselung von Visual Studio selbst durchgeführt und im Allgemeinen nicht von Hand bearbeitet. Wenn Sie den Inhalt einer DLL-Datei als EXE-Datei lesen, wird der Inhalt automatisch entschlüsselt. Wenn wir jetzt über das Kompilieren eines Programms sprechen, ändern wir den Inhalt in Bytecode, den die Maschine leicht interpretiert.

Diese Dateigröße wäre kleiner als die Originaldatei mit demselben Inhalt. Die Dateigröße ist jedoch größer, was darauf hindeutet, dass die Datei tatsächlich verschlüsselt wurde. Wahrscheinlich, um Leute davon abzuhalten, ihren Code zu lesen. Infolgedessen wird das Lesen von DLL-Inhalten als Entschlüsselung und nicht als Dekompilierung bezeichnet. Die Dekompilierung würde die bereits kompilierten txt-Dateien in unlesbaren Bytecode konvertieren. Die Verwendung von Standard-DLL-Dateien ist per Definition keine Open Source-Datei, da der Bytecode absichtlich verschleiert wird.

David
quelle
8
Ich bin mir nicht sicher, ob dies in Computerkreisen als Abfall vom Glauben oder als Häresie gelten würde. Wie könnte es verbessert werden? Wenn es auf Papier wäre, könnte ich ein Streichholz verwenden, um es aus seinem Elend zu befreien.
Brewmanz