Eine dynamische LibEWF Bibliothek erstellen , um auf das Expert Witness Compression Format (*.EWF) zuzugreifen
IsoBuster 3.4 und höhere Versionen beinhalten die Funktion, die LibEWF Bibliothek dynamisch zu laden. LibEWF ist bereits in IsoBuster eingebaut, aber seit IsoBuster 3.4 ist es auch möglich, eine andere oder neuere Version von LibEWF dynamisch zu laden.
LibEWF ist eine Bibliothek für den Zugriff auf das Expert Witness Compression Format. Es erlaubt IsoBuster, *.EWF Dateien zu öffnen.
In diesem Artikel werden wir Ihnen zeigen, wie Sie Ihre eigene Version von LibEWF.dll erzeugen können mit der Hilfe zweier Compiler, MinGW und der kostenlose Borland C++ 5.5 Compiler (BCC32)
Es ist jedoch wichtig, darauf hinzuweisen, dass die mit Borland C++ kompilierte dll nur mit IsoBuster 3.6 und höher funktionieren wird. Der Grund dafür ist, dass MinGW und VC++ Funktionsnamen ohne weiteren Zusatz exportiert, während Borland einen Unterstrich an den Funktionsnamen hinzufügt. IsoBuster-Versionen 3.4 und 3.5 sucht die Funktionen ohne Unterstrich. IsoBuster Version 3.6 und höher sucht nach beiden, mit oder ohne Unterstrich, und nutzt dann das, was verfügbar ist.
Eine dynamische LibEWF Bibliothek (LibEWF.dll) erstellen mit MinGW
Laden Sie die neueste (oder die gewünschte) LibEWF Bibliothek herunter
Das LibEWF Projekt wird derzeit gehostet von GitHub, aber Sie sollten die benötigten Dateien zum Erstellen der dll nicht von diesem Ort herunterladen. Stattdessen, gehen Sies zur LibEWF wiki und laden Sie das Projekt von diesem Google Drive Speicherort herunter.
Beim Schreiben dieses Artikel habe ich folgende Version genutzt: libewf-20140608.tar.gz
Download und Installation von MinGW
Laden Sie MinGW herunter und starten Sie die Installation:
Am Ende der Installation startet der Installation Manager. Installieren Sie nichts auf diese Weise. Sie können dies zwar tun, aber ich werde Ihnen einen einfacheren Weg zeigen, bei dem sichergestellt ist, dass alle benötigten Pakete installiert werden.
Installieren der benötigten MinGW Pakete
In der Kommandozeile (CMD, auch DOS Box genannt), navigieren Sie zum \bin\ Ordner in welchen Sie MinGW installiert haben. Ich habe es installiert in M:\MinGW, also navigiere ich zu cd M:\MinGW\bin
Kopieren Sie folgende Zeile, fügen Sie sie in die Kommandozeile (CMD) ein und drücken Sie [Enter]:
Alle benötigten Pakete werden nun installiert
LibEWF.dll mit MinGW erstellen
Entpacken Sie das LibEWF Projekt. Für diesen Artikel habe ich libewf-20140608.tar.gz mit einem Entpackprogramm auf meinen Desktop entpackt (C:/Users/Peter/Desktop/libewf-20140608)
Starten Sie die MinGW Konsole (MSYS genannt) über die Kommandozeile (CMD), indem Sie eingeben:
MSYS wird starten. Das sieht dann etwa so aus:
Da Sie Zeilen in MSYS kopieren und einfügen möchten, müssen die Einstellungen geändert werden (besonders nach einer neuen Installation).
Klicken Sie mit Rechts auf die Titelleiste des MSYS-Fensters und wählen Sie 'Properties', dann gehen Sie auf den Reiter 'Options' und setzen Sie den Haken bei 'QuickEdit mode', anschließend klicken Sie auf 'OK'. Sie werden merken, dass ein Rechtsklick auf MSYS dem Einfügen entspricht.
Stellen Sie sicher, dass das MinGW Verzeichnis gemountet ist. Um das zu tun, geben Sie folgende Zeile in MSYS ein (oder Sie kopieren und fügen es ein; Einfügen = Rechtsklick):
Navigieren Sie in MSYS zum LibEWF Ordner. Ich habe das Projekt nach auf meinen Desktop entpackt, also habe ich Kopieren und Einfügen benutzt:
Weiter geht es in MSYS. Kopieren und fügen Sie folgende Zeile ein:
Nach einigen Minuten des Buildens müssen Sie noch make in MSYS ausführen:
Das wars ! Die erstellte dll (libewf-2.dll) wird im Projekt-Ordner \libewf\.libs\ abgelegt.
Prüfen Sie die dll mit einem Dependency Checker, um zu sehen, welche dlls aus der MinGW Installation benötigt werden. Dies habe ich natürlich bereits nachgeprüft. Sie benötigen die Dateien zlib1.dll und libgcc_s_dw2-1.dll aus dem MinGW Installationsordner. Kopieren Sie diese Dateien in den Ordner, in welchem Sie die libewf dll haben.
Zuletzt benennen Sie noch libewf-2.dll nach libewf.dll um und kopieren Sie sie zusammen mit zlib1.dll und libgcc_s_dw2-1.dll in den IsoBuster \Plugins\ Ordner. Einmal dort abgelegt, wird IsoBuster libewf.dll bei Bedarf laden.
Eine dynamische LibEWF Bibliothek (LibEWF.dll) erstellen mit Borland C++ 5.5
Laden Sie die neueste (oder die gewünschte) LibEWF Bibliothek herunter
Dieser Schritt wurde bereits hier beschrieben, aber wenn Sie hier beginnen möchten:
Das LibEWF Projekt wird derzeit gehostet von GitHub, aber Sie sollten die benötigten Dateien zum Erstellen der dll nicht von diesem Ort herunterladen. Stattdessen, gehen Sies zur LibEWF wiki und laden Sie das Projekt von diesem Google Drive Speicherort herunter.
Beim Schreiben dieses Artikel habe ich folgende Version genutzt: libewf-20140608.tar.gz
Herunterladen und Installieren von Borland C++ 5.5
Laden Sie Borland C++ 5.5 herunter und installieren Sie es am vorgeschlagenen Speicherort C:\Borland\BCC55, denn die nachfolgende Prozedur bezieht sich immer auf diesen Speicherort.
Download anderer benötigter Dateien und Tools
Laden Sie die zlib Bibliothek herunter. Laden Sie diese master.zip Projektdatei herunter, öffnen Sie sie und extrahieren Sie daraus nur generate_bcc32.sh, sonst keine anderen Dateien. Laden Sie libewf-20140608-bcc.patch von diesem Google Drive Speicherort herunter. Sollten Sie jedoch eine andere Version des Projektes nutzen, müssen Sie eine passende Patch-Datei finden. Es kann auch sein, dass LibEWF Packages in Zukunft diese Patch-Datei gar nicht mehr brauchen.
Da das *.sh Skript ausgeführt werden muss und weil die *.patch Datei zuerst angewandt werden muss, werden Unix tools benötigt. Wenn Sie nichts installiert haben, was mit solchen Dateien umgehen kann (bspw. CygWin), empfehle ich Ihnen MinGW. Installation und Benutzung von MinGW wurde in diesem Artikel weiter oben bereits beschrieben. Ich erkläre Ihnen kurz die nötigen Schritte:
Sollte MinGW noch nicht installiert sein, befolgen Sie genau die Schritte, die in diesem Artikel beschrieben sind "Download und Installation von MinGW".
In der Kommandozeile (CMD, auch DOS Box genannt), navigieren Sie zum \bin\ Ordner in welchen Sie MinGW installiert haben. Ich habe es installiert in M:\MinGW, also navigiere ich zu cd M:\MinGW\bin
Kopieren Sie folgende Zeile, fügen Sie sie in die Kommandozeile ein und drücken Sie [Enter]:
Patch wird benötigt, um die heruntergeladene *.patch Datei anwenden zu können
LibEWF.dll mit BCC32 erstellen
Erstellen Sie einen neuen Ordner (Ich habe /bcc_compile/ auf meinem Desktop erstellt) und entpacken Sie die zwei Bibliotheken zlib-1.2.8.tar.gz und libewf-20140608.tar.gz in diesen Ordner. Wenn Sie unterschiedliche Versionen dieser Bibliotheken nutzen, werden die Namen entsprechend anders lauten.
Bennenen Sie den Unterordner zlib-1.2.8 um nach zlib
Kopieren Sie generate_bcc32.sh und libewf-bcc.patch in den libewf-20140608 Unterordner.
Starten Sie die MinGW Konsole (MSYS genannt) über die Kommandozeile (CMD), indem Sie eingeben:
Für nähere Informationen zu MinGW und wie es eingerichtet werden kann, dass es Kopieren und Einfügen unterstützt, beziehe ich mich auf einen bereits behandelten Abschnitt in diesem Artikel.
Navigieren Sie in MSYS zum LibEWF Ordner. Ich habe das Projekt nach /bcc_compile/ auf meinen Desktop entpackt, also habe ich Kopieren und Einfügen benutzt:
Weiter geht es in MSYS. Kopieren und fügen Sie folgende Zeile ein:
Und anschließend:
Der nächste Schritt erstellt die eigentliche dll, aber bevor Sie weitermachen, gibt es einige Dinge zu bedenken. Make.bat wurde generiert und in den Projekt-Ordner (\bcc_compile\libewf-20140608\) abgelegt. Öffnen Sie die Datei mit einem Texteditor und Sie werden die fest hinterlegten Pfade zum BCC32 Installationsordner (C:\Borland\BCC55\) finden. Aus diesem Grund hatte ich Ihnen empfohlen, in diesen Ordner zu installieren. Die generierten *.bcc Dateien zeigen ebenfalls auf den BCC Installationsordner für die Include-Anweisungen. Wenn Sie wissen, was Sie tun, können Sie diese Pfade natürlich auf einen anderen Speicherort zeigen lassen, in der .bat und den *.bcc Datei(en). Im Falle der .bat Datei, können Sie die Pfade auch relativ angeben und den Wert von PATH anpassen. Bei der Anpassung von PATH gibt jedoch noch Folgendes zu bedenken: Wenn Sie noch einen anderen Borland/CodeGear/Embarcadero Compiler installiert haben, kann PATH durchaus zu verschiedenen Binaries zeigen, welche ausgeführt werden, bevor die BCC 5.5 Binaries bedacht werden. Überlegen Sie deshalb, ob Sie nicht auch die zweite Zeile in der .bat Datei ändern, damit nur die BCC 5.5 Binaries verwendet werden: set PATH=C:\Borland\BCC55\bin.
Wenn Sie bereit sind, weiterzumache, navigieren Sie mit Hilfe der Kommandozeile (CMD) in den Projekt-Ordner
Als Nächstes, immer noch in CMD, führen Sie die make.bat Datei aus
Alles wird kompiliert und die resultierende libewf.dll wird in \libewf-20140608\libewf\ abgelegt (auf meinem System in: C:\users\peter\desktop\bcc_compile\libewf-20140608\libewf\ )
Mithilfe eines Dependency Checkers können Sie sehen, dass zlib.dll benötigt wird, welche im \zlib\ Ordner liegt (auf meinem System in: C:\users\peter\desktop\bcc_compile\zlib\ )
Um die erzeugte dll mit IsoBuster zu nutzen, kopieren Sie sie zusammen mit zlib.dll, in den IsoBuster \Plugins\ Ordner. Einmal dort abgelegt, wird IsoBuster libewf.dll bei Bedarf laden.
Ich persönlich bevorzuge die mit Borland erstellte dll, denn sie ist kleiner, benötigt weniger andere dlls und der Borland Compiler ist kostenlos. Der MinGW Compiler hat einige Einschränkungen. Bedenken Sie jedoch, dass der Borland Compiler die Funktionen mit einem Unterstrich exportiert und Sie deshalb IsoBuster 3.6 oder neuer benötigen. Die mit Borland (BCC) erstellte dll funktioniert nicht mit IsoBuster Versionen unterhalb von 3.6.
Sie können die dll-Dateien, welche ich mit den oben beschriebenen Methoden erstellt habe, gerne hier herunterladen:
Download libewf.dll Version 20140608, erstellt mit MinGW Download libewf.dll Version 20140608, erstellt mit BCC32