Commit Graph

428 Commits

Author SHA1 Message Date
Simon Wörner 66df39ebc9
Improve Rust bindings (#1367)
* fixed tests

* constant readability

* HookType as bitflags

* Mode as bitflags

* improve bitflags

* cargo fmt

* removed unnecessary "as usize"
2021-05-08 18:48:50 +08:00
Nguyen Anh Quynh fb667f5cdc merge master & fix conflicts 2020-11-17 13:07:34 +08:00
Peter Meerwald-Stadler 770d5679c3
Fix some typos in include files (#1350) 2020-10-29 11:16:45 +08:00
smeng9 5e4423a419
Update binding list (#1349) 2020-10-28 09:47:59 +08:00
LAADHARI e639d3fc93
FIX java binding compilation #1339 (#1340) 2020-10-07 11:43:26 +08:00
lazymio 1044403d38
Implement uc_context_free (#1336)
* Implement uc_context_free

* Use uc_context_free for python bindings

* Format code

* Simplify code

* Move next,context inside while loop

* Add my name to CREDITS.TXT
2020-09-24 22:28:55 +08:00
lazymio 4441394258
Fix context saving (#1335)
* Fix context size

* Make UcContext convertible to bytes and picklable

Fix when updaing context

* Test context pickling

* Fix double free when the context is pickled from bytes
2020-09-24 00:53:23 +08:00
☃ Stephen Shkardoon ☃ b1459f7554
Fix failing test caused by removal of UC_ERR_TIMEOUT (#1305)
Caused by fbef45b18f.
Now the code assumes if it completes without an error, it was
successful.
2020-09-21 10:37:38 +08:00
Nikolas Eller 473405797d
Improved Rust bindings: (#1309)
* Added basic block hooking
* Changed confusing struct naming. Before: Protection::All -> R,W,X, Now: Permission::All -> R,W,X
* Fixed issue with remove_hook(..). Implementation tried to remove hook from incorrect hashmap.
* Made unused private vmmap(..) public.
2020-09-21 10:36:58 +08:00
chfl4gs c03f50f76a
Fixing installation on cygwin, Travis-ci cache adjustment (#1322)
* Adding Travis-CI cmake static

* fix 64-bit fstenv (#1300)

* fix 64-bit fstenv

* fix fstenv

* safe_zip to false and travis adjustment

* Fixed zip_safe and cygwin setup

Co-authored-by: liangjs <761232680@qq.com>
2020-09-10 10:01:13 +08:00
Lukas Seidel 5a6344b8d8
Rust bindings (#1295)
* rust bindings init

* updated bindings/README
2020-06-14 21:39:59 +08:00
Nguyen Anh Quynh 564ae2b14a python: correct a comment on hooking on sample_arm64.py. fix #1292 2020-06-10 17:56:01 +08:00
chfl4gs 9288b4a845
adding pypi workflow (#1280)
* adding pypi workflow

* PyPI distribution packages workflow
2020-06-06 12:53:31 +08:00
Nguyen Anh Quynh b33c0afa63 save cpu->jmp_env in saving context, so uc_emu_start() can be reentrant. also improved Python binding on handling context 2020-06-06 12:52:00 +08:00
Nguyen Anh Quynh 2e0f753e6f save cpu->jmp_env in saving context, so uc_emu_start() can be reentrant. also improved Python binding on handling context 2020-06-05 20:12:44 +08:00
Nguyen Anh Quynh 7292e5d6e4 python: add PPC to long description of setup.py 2020-05-29 11:59:24 +08:00
Nguyen Anh Quynh eeb6208fb3 python: add long description to setup.py 2020-05-29 11:58:33 +08:00
Nguyen Anh Quynh 99be837364 python: add long description to setup.py 2020-05-29 11:56:24 +08:00
Nguyen Anh Quynh 8cbbf3df42 powerpc: chmod -x source files 2020-05-27 15:32:14 +08:00
Nguyen Anh Quynh 02047d7645 update bindings 2020-05-27 15:04:42 +08:00
Nguyen Anh Quynh 5b25f3f53e Merge branch 'master' of https://github.com/simigo79/unicorn-ppc into next 2020-05-27 14:02:32 +08:00
Nguyen Anh Quynh fbef45b18f remove UC_ERR_TIMEOUT, so timeout on uc_emu_start() is not considered error. added UC_QUERY_TIMEOUT to query exit reason 2020-05-24 23:54:45 +08:00
Simon Gorchakov a5ab143189 Fixed some comments in the samples 2020-05-21 22:08:53 +03:00
Simon Gorchakov 92ecc28491 Add python binding aattempt #2 2020-05-10 22:38:42 +03:00
Simon Gorchakov a5bc710d08 Add python bindings and test 2020-05-10 22:35:47 +03:00
Nguyen Anh Quynh cf3451c37a bindings: update ARM64 registers 2020-05-10 21:51:14 +08:00
Dominik Maier 625399774c
X64 base regs (#1166)
* x86: setup FS & GS base

* Fixed base register writes for x64, removed then for x16/x32 (the don't exist there?)

* FS reg comes before GS so the base regs do so, too

* added shebang to const_generator.py

* Added base regs to and added 'all' support to const_generator

Co-authored-by: naq <aquynh@gmail.com>
2020-05-05 08:34:51 +08:00
Pedro Tammela 18aa2627f7
fix binding install on python2 (#1231) 2020-04-24 17:15:12 +08:00
Saagar Jha d69ebfa55c
Make it easier to link against libunicorn on macOS (#1195)
Adding @rpath to the install name to make it possible to link against
the library without modifying it with install_name_tool. Copying both
the versioned and unversioned dylibs simplifies linking.
2020-02-12 14:16:34 +08:00
Nguyen Anh Quynh 810bd34eef python: handle UC_ERR_TIMEOUT, so sample_x86.py behaves like sample_x86.c 2020-01-01 10:11:16 +08:00
Nguyen Anh Quynh b0d5837c61 bindings: add UC_ERR_TIMEOUT 2019-12-29 00:19:34 +08:00
Audrey Dutcher 3cea38bff7 restrict msbuild to win32 platform (#1172) 2019-11-20 00:34:56 +08:00
naq 3b17db0d84 bindings: update after the last commit on adding ARM modes 2019-10-26 05:02:39 +08:00
Audrey Dutcher fd3ccb2ef7 Python packaging logic for msvc build (#1151)
* remove bundling of DLLs we no longer need!

* Add logic for building with msvc in python setup

* Also include the msvc build scripts with sdist
2019-10-10 22:00:42 +08:00
naq 355eaecc12 bindings: update after addition of UC_HOOK_INSN_INVALID 2019-09-23 01:54:24 +08:00
Azertinv 07f94ad1fc Added an invalid instruction hook (#1132)
* first draft for an invalid instruction hook

* Fixed documentation on return value of invalid insn hook
2019-09-23 01:53:06 +08:00
AeonLucid c46e745338 Fixes #1143 (#1144) 2019-09-16 01:58:08 +08:00
BAYET 8987ad0fff Handle serialization of cpu context save (#1129)
* Handle the cpu context save in a more pythonic way, so the context can be serialized and reuse in an other process using the same emulator architecture and modes

* Fix type error ; mistakes a size_t uint64_t ; breaks in 32bit...
2019-09-07 19:09:17 +08:00
Guille Polito 56ac8859b3 Add pharo-unicorn to binding list (#1110)
* Add pharo-unicorn to binding list

* Add Pharo
2019-07-31 15:56:28 +08:00
kj.xwings.l 24f55a7973 Removed hardcoded CP0C3_ULRI (#1098)
* activate CP0C3_ULRI for CONFIG3, mips

* updated with mips patches

* updated with mips patches

* remove hardcoded config3

* git ignore vscode

* fix spacing issue and turn on floating point
2019-07-06 17:53:02 +08:00
Lukas Dresel 55d8d073bd support for YMM registers ymm8-ymm15 (#1079) 2019-04-01 11:00:34 +08:00
Jonas d6d4131873 Added x86Msr functions for the go bindings (#986) 2019-03-07 08:39:38 +08:00
Nguyen Anh Quynh 07cafff76a bindings: update for latest ARM registers addition 2019-03-07 08:38:41 +08:00
Nguyen Anh Quynh 6d47b38b7f bindings: update after recent addition of ARM_REG_IPSR 2019-02-28 09:56:29 +08:00
Nguyen Anh Quynh 738d102989 bindings: add newly added register MXCSR 2019-02-15 13:01:27 +08:00
kj.xwings.l 8c6cbe3f3c update python binding samples, shellcode.py with 64bit syscall (#1052)
* update python binding samples, shellcode.py with 64bit syscall

* fix with quynh comments

* fix with more q comments

* reformatted

* reformatted and moved file

* reformatted and moved file

* delete file

* delete dead code

* deleted more dead code

* deleted more dead code / fix bugs

* fix 64bit eip intno eax

* rearrage rip

* Inconsistent print
2019-01-15 14:57:11 +08:00
Diego Argueta f243818806 Add Lua binding to README (#1050)
Closes https://github.com/dargueta/unicorn-lua/issues/1
2018-12-24 17:45:40 +08:00
Brian McKenna 873fffc505 Haskell bindings: use ExceptT instead of deprecated EitherT (#1034) 2018-10-25 12:54:35 -03:00
Vladimir Panteleev 2ab9e83703 bindings/README: Add D bindings (#1010) 2018-09-11 12:45:07 +08:00
Coldzer0 84220d8360 Pascal/Delphi binding (#987)
* Pascal/Delphi binding

Pascal/Delphi language binding

* update credits
2018-08-03 20:33:25 +08:00