* fix mem_unmap and query for Ruby bindings * ruby bindings: fix issues with GC freeing callbacks while we still have references to them * ruby bindings: add test for garbage collection of hooks * ruby bindings: let the VM garbage collect hooks properly this time * ruby bindings: update garbage collection test to make sure Proc is garbage collected after Uc is collected * ruby bindings: fix m_uc_hook_add to return the ruby VALUE with proper memory management instead of making another one with bad memory management * ruby bindings: fix cb_hook_intr signature * add architecture query * ruby bindings: only treat certain x86 registers specially if we're actually on x86 * only treat certain x86 registers specially if we're actually on x86 (uc_reg_read and uc_reg_write) * ruby bindings: read and write ARM64's 128-bit NEON registers
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.
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