Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Zydis - X86/X86-64 Disassembler Library

  Alt 23. Feb 2018, 01:54
Hallo zusammen,

Was ist Zydis?
Die Zyan Disassembler Library (Zydis) ist eine plattformunabhängige X86/X86-64 Disassembler Library geschrieben in C. Bei der Entwicklung wurde neben Korrektheit (des Disassemblys) auch insbesondere auf Performance und eine kleine Codegröße Wert gelegt. Die Bibliothek unterstützt hierbei alle zum heutigen Tage existierenden ISA-Extensions. Der gesamte Code beinhaltet eine umfassende Doxygen Dokumentation.

Detailierte Informationen über das Zydis Projekt und die dazugehörigen C-Sourcen (MIT Lizenz) gibt es auf GitHub (Englisch):
https://github.com/zyantific/zydis

Zydis Pascal:
Hierbei handelt es sich um die Pascal-Bindings (Low-Level Übersetzung und Top Level Wrapper Klassen) für Zydis. Ein Kompilat der .DLL und die .OBJ-Dateien für statisches Linken (32- und 64-Bit), sowie ein paar Beispiele liegen dem Archiv ebenfalls bei.

Die aktuellste Version der Bindings und die dazugehörigen Binaries (.DLLs und .OBJ Dateien), finden sich auch immer in unserem GitHub Repository (Englisch):
https://github.com/zyantific/zydis-pascal

Readme:
Die Pascal Bindings unterstützen sowohl dynamisches, als auch statisches Linken:
  • Dynamisch
    • Zydis32.dll bzw. Zydis64.dll aus Bin32 bzw. Bin64 in das Verzeichnis der eigenen Anwendung, oder nach C:\Windows\System32\ (64-Bit) bzw. C:\Windows\SysWOW64\ (32-Bit) kopieren
    • Die Compilerdirektive {$DEFINE ZYDIS_DYNAMIC_LINK} in der Zydis.pas aktivieren (standardmäßig an)
  • Statisch
    • Die Verzeichnisse Bin32 bzw. Bin64 in den Root-Ordner der Pascal Bindings kopieren (bereits erledigt, wenn ihr das Archiv hier aus dem Thread herunterladet)
    • Die Compilerdirektive {$DEFINE ZYDIS_DYNAMIC_LINK} in der Zydis.pas deaktivieren
    • Wenn statisch gelinkt wird, sollte die Bibliothek neben Windows auch auf allen Unixoiden bzw. mobilen Systemen vollständig lauffähig sein, da keine Plattformspezifischen Funktionen importiert werden

Roadmap:
  • Doxygen Dokumentation für die Bindings
  • Unterstützung für ältere Delphi Versionen und FreePascal

Viele Grüße
Zacherl
Miniaturansicht angehängter Grafiken
logo.png   zydisinfo.png  
Angehängte Dateien
Dateityp: rar zydis-pascal.rar (671,2 KB, 20x aufgerufen)
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)

Geändert von Zacherl (10. Apr 2018 um 20:15 Uhr)
  Mit Zitat antworten Zitat