Files
unicorn/bindings
Levente Polyak 1aad423fe5 bindings: ruby: fix unexpected uc_query result pointer type (#1962)
uc_query expects a size_t *, while we are passing uc_arch *. This has
been working for a while as gcc just warned about this, however with
latest gcc this changed into an error:

unicorn.c:122:34: error: passing argument 3 of ‘uc_query’ from incompatible pointer type [-Wincompatible-pointer-types]
  206 |     uc_query(_uc, UC_QUERY_ARCH, &arch);
unicorn.h:689:60: note: expected ‘size_t *’ {aka ‘long unsigned int *’} but argument is of type ‘uc_arch *’
  689 | uc_err uc_query(uc_engine *uc, uc_query_type type, size_t *result);

Fix this issue by querying the result into a size_t and later downcast
the result into an uc_arch enum.
2025-04-05 06:05:43 +08:00
..
2025-03-10 11:32:14 +08:00
2025-03-10 11:32:14 +08:00
2025-03-10 11:32:14 +08:00
2025-03-10 11:32:14 +08:00
2025-03-10 11:32:14 +08:00
2025-03-21 00:36:42 +08:00
2023-03-23 10:09:41 -03:00
2021-10-11 11:17:49 +08:00

This directory contains bindings & test code for Python, Java, Go and .NET.
See <language>/README or <language>/README.TXT or <language>/README.md for how to install each binding.

The following bindings are contributed by community.

- Java binding: by Chris Eagle.
- Go binding: by Ryan Hileman.
- .NET binding: by Antonio Parata.
- Ruby binding: by Sascha Schirra
- Haskell binding: by Adrian Herrera.
- VB6 binding: David Zimmer.
- FreePascal/Delphi binding: Mohamed Osama.

More bindings created & maintained externally by community are available as follows.

- UnicornPascal: Delphi/Free Pascal binding (by Stievie).
    https://github.com/stievie/UnicornPascal

- Unicorn-Rs: Rust binding (by Sébastien Duquette)
    https://github.com/ekse/unicorn-rs

- UnicornEngine: Perl binding (by Vikas Naresh Kumar)
    https://metacpan.org/pod/UnicornEngine

- Unicorn.CR: Crystal binding (by Benoit Côté-Jodoin)
    https://github.com/Becojo/unicorn.cr

- Deimos/unicorn: D binding (by Vladimir Panteleev)
    https://github.com/D-Programming-Deimos/unicorn

- Unicorn-Lua: Lua binding (by Diego Argueta)
    https://github.com/dargueta/unicorn-lua

- pharo-unicorn: Pharo binding (by Guille Polito)
    https://github.com/guillep/pharo-unicorn

- Unicorn.js: JavaScript binding (by Alexandro Sanchez)
    https://github.com/AlexAltea/unicorn.js