unicorn/bindings/pascal
Nguyen Anh Quynh 8259d76c6c bindings: add UC_ERR_TIMEOUT
Backports commit b0d5837c61c4bdd91106c355c8af730929f5a78f from unicorn
2020-01-14 09:47:35 -05:00
..
examples Pascal/Delphi binding 2019-02-28 16:36:56 -05:00
unicorn bindings: add UC_ERR_TIMEOUT 2020-01-14 09:47:35 -05:00
LICENSE Pascal/Delphi binding 2019-02-28 16:36:56 -05:00
README.md Pascal/Delphi binding 2019-02-28 16:36:56 -05:00

unicorn-engine-pascal

Pascal/Delphi language binding for the Unicorn emulator (GitHub).

Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework based on QEMU.

License

GPLv2

Compilers Compatibility

Free Pascal >= v3

  • Mac OS
  • Windows
  • Linux

Delphi

  • Windows

Features

  • Same API as the C core

    • with some workarounds for Pascals case insensitivity:

      uc_mem_write() -> uc_mem_write_(), uc_mem_read() -> uc_mem_read_()

    • and the missing feature passing variable number of arguments to functions (...):

      i solve it by using -> args : Array of Const; you can pass args inside [] like :

      uc_hook_add(uc, trace, UC_HOOK_INSN, @HookIn, nil, 1,0,[UC_X86_INS_IN];
      

      the main loader in Unicorn_dyn.pas , check X86 example for more info .

  • Multiplatform (Mac OS , Windows and Linux are tested)

Examples

  • X86 Emulate 16, 32, 64 Bit x86

Version History

  • 1.1
    • Add Delphi Compatibility [ Windows ]
  • 1.0
    • this is the first version it has all APIs of UNICORN v1.0.1

TODO

  • Add more Examples
  • Add Mac , Linux Support for Delphi