02e6c14e12
Writing / reading to model specific registers should be as easy as calling a function, it's a bit stupid to write shell code and run them just to write/read to a MSR, and even worse, you need more than just a shellcode to read... So, add a special register ID called UC_X86_REG_MSR, which should be passed to uc_reg_write()/uc_reg_read() as the register ID, and then a data structure which is uc_x86_msr (12 bytes), as the value (always), where: Byte Value Size 0 MSR ID 4 4 MSR val 8 |
||
---|---|---|
.. | ||
dotnet | ||
go | ||
haskell | ||
java | ||
msvc | ||
python | ||
ruby | ||
vb6 | ||
const_generator.py | ||
Makefile | ||
README |
This directory contains bindings & test code for Python, Java, Go, .NET and MSVC. 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. - MSVC binding: by Zak Escano - 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