440 Commits

Author SHA1 Message Date
insane-shane
47ecfc1b2c Handle exceptions raised in Python hook functions (#1387) 2021-10-12 08:35:52 +08:00
Peter Meerwald-Stadler
00b4a17c1b Fix some typos in include files (#1350) 2021-10-11 11:18:27 +08:00
smeng9
d1496f3700 Update binding list (#1349) 2021-10-11 11:17:49 +08:00
mio
8f7ecfe48b
Support configure threads by environment variable 2021-10-10 23:46:22 +02:00
Bet4
8120a11f24 Update dependencies of rust bindings 2021-10-06 22:43:14 +08:00
lazymio
ad3c0a5b32
Bump python bindings version 2021-10-06 12:37:13 +02:00
mio
2474f9513b
Sync docs from wiki and remove cmake.sh 2021-10-05 15:26:13 +02:00
mio
5668fd9c42
Set zip_safe and is_pure to False and trigger another build 2021-10-05 15:11:59 +02:00
mio
59deed7484
Simply the setup.py 2021-10-05 14:46:04 +02:00
mio
aff9c9dc48
Clean debug print and make it compatible with python3.5 2021-10-05 13:48:26 +02:00
lazymio
2aebf93143
Merge pull request #1443 from bet4it/reg
Support to read ST registers in rust bindings
2021-10-04 18:30:30 +02:00
mio
e1204d8977
Specify the content type 2021-10-04 18:09:44 +02:00
Bet4
23e01a4862 Support to read ST registers in rust bindings 2021-10-04 23:18:05 +08:00
chfl4gs
e571dc278a PyPI publishing 2021-10-04 22:22:41 +08:00
Nguyen Anh Quynh
e8bd7ca087 bindings: update X86 register constants 2021-10-04 19:41:41 +08:00
mio
ebb468d042
Fix msvc build 2021-10-04 10:44:30 +02:00
Nguyen Anh Quynh
0a7223996d bindings: update constants from ARM registers 2021-10-04 01:04:43 +08:00
Nguyen Anh Quynh
54e7e3b9ef bindings: add Rust 2021-10-04 01:01:43 +08:00
Nguyen Anh Quynh
aaaea14214 import Unicorn2 2021-10-03 22:14:44 +08:00
Bet4
772558119a
Add missing constants in rust bindings (#1423)
* Update arm64.rs

* Update mips.rs
2021-07-08 20:43:00 +08:00
Bet4
9c6134ca91
Add Rust bindings to master branch (#1401)
* Rust bindings (#1295)

* rust bindings init

* updated bindings/README

* 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.

* Improve Rust bindings (#1367)

* fixed tests

* constant readability

* HookType as bitflags

* Mode as bitflags

* improve bitflags

* cargo fmt

* removed unnecessary "as usize"

* fixed buggy deallocation of uc_context structs

* Remove data field in rust bindings

Co-authored-by: Lukas Seidel <pr0me@users.noreply.github.com>
Co-authored-by: Nikolas Eller <nikolas.e@mail.de>
Co-authored-by: Simon Wörner <git@simon-woerner.de>
Co-authored-by: floesen <floesen@users.noreply.github.com>
2021-05-26 23:05:12 +08:00
Nguyen Anh Quynh
2874435d2f bump version to 1.0.3 2021-05-16 21:38:08 +08:00
insane-shane
4f9a6cfcf3
Handle exceptions raised in Python hook functions (#1387) 2021-04-26 00:35:56 +08:00
w4kfu-synacktiv
21ec6e8f83
Add ARM BE8 support (#1369)
Co-authored-by: w4kfu <gw4kfu@gmail.com>
2021-03-31 21:22:35 +08:00
iGio90
e42e58cd91
Remove deprecated javah and build with javac (#1360)
Hi, I was having trouble building java bindings on latest ubuntu. I installed jdk8 which has javah but somehow was failing during install (missing compiled classes even if they were in place in unicorn/). I guess mixing with jdk11 pop the issue. 
Using javac from most recent jdk works very fine.
2020-12-23 13:28:17 +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 fbef45b18f2f59d9699af54c6ad6ac73eaba3b29.
Now the code assumes if it completes without an error, it was
successful.
2020-09-21 10:37:38 +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
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
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
99be837364 python: add long description to setup.py 2020-05-29 11:56:24 +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
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