lazymio
7f8ff1af6a
Update sample for MRS hook
2022-02-27 15:28:32 +01:00
lazymio
dd96cab9bf
Update bindings
2022-02-27 15:28:32 +01:00
Bet4
504b31b928
Update constants of bindings
2022-02-19 21:24:40 +08:00
lazymio
3ed9dbda13
Update bindings
2022-02-15 22:08:27 +01:00
lazymio
c10639fd46
Bump version in bindings
2022-02-13 11:03:57 +01:00
lazymio
16e9efa4f5
Bump version
2022-02-13 09:56:10 +01:00
lazymio
d503a69239
Merge pull request #1511 from bet4it/use_system_unicorn
...
Add use_system_unicorn feature in rust bindings
2022-02-12 22:57:01 +01:00
lazymio
9bf074d824
Remove armeb-softmmu and aarch64eb-softmmu for rust bindings
2022-02-12 14:18:01 +01:00
lazymio
15f3b58d9b
Implement coprocessor register read/write for python bindings
2022-02-11 23:03:56 +01:00
lazymio
89a1da9a33
Update bindings
2022-02-11 22:42:31 +01:00
Bet4
394f25b1fa
rust: Add get_handle
to expose unicorn handle
2022-01-23 08:22:09 +08:00
Bet4
2977c9ca47
Support to pass unicorn handle to rust through FFI
2022-01-21 22:37:15 +08:00
mio
f57467e7ed
Generate bindings
2022-01-19 20:10:09 +01:00
mio
c5ad3c318c
Sync with dev and resolve conflicts
2022-01-19 20:09:25 +01:00
Duncan Ogilvie
d200eb4be6
Fix rust bindings
2022-01-18 21:33:22 +01:00
mio
7095605607
Merge branch 'dev' into systemz
2022-01-18 21:10:55 +01:00
mio
c84dbac9a8
Rename build dir for python bindings
2022-01-18 20:15:28 +01:00
mio
28e791a37f
Add debug tracing feature
...
It's disabled by default, use -DUNICORN_TRACER=on to enable it
2022-01-18 19:35:43 +01:00
Bet4
5559c097d5
rust: Allow to remove self inside a hook
2022-01-17 21:56:33 +08:00
lazymio
06be6fdc24
Merge pull request #1537 from gerph/clear-pending-hook-exception-before-emulation
...
Clear Python pending hook exception before we enter the emulation.
2022-01-15 22:13:24 +01:00
lazymio
459a595a98
Merge branch 'dev' into s390x
...
Mostly for bindings update.
2022-01-15 20:56:39 +01:00
lazymio
dfb0446137
Update bindings
2022-01-15 20:56:24 +01:00
Charles Ferguson
1ba59ed70a
Clear Python pending hook exception before we enter the emulation.
...
The pending exception hook is set when the hook raised an exception
and wants to report it outside the emulation loop. However, it is
never cleared back to None. This means that after an exception is
raised in a hook, all subsequent execution (even if successful) will
raise the exception.
This change clears the exception before we start another emulation,
which should ensure that if we have _hook_exception set, it really
is from hooks in this emulation run.
2022-01-15 17:45:45 +00:00
lazymio
71f044ca50
Merge branch 'dev' into s390x
2022-01-10 15:17:42 +01:00
lazymio
c671efe798
Update bindings
2022-01-05 22:00:59 +01:00
lazymio
c4b4189857
Update bindings
2022-01-04 21:12:52 +01:00
Nguyen Anh Quynh
6813e4a042
bindings: update const_generator.py, and update all binding constants
2022-01-01 09:24:28 +08:00
mio
8b0285e135
Add python support for s390x
2022-01-01 00:58:10 +01:00
mio
d5e0bff7d5
Fix rust build for s390x
2022-01-01 00:41:59 +01:00
lazymio
3184d3fcdf
Update python bindings
2021-12-22 20:46:14 +01:00
Bet4
3e9ae003b7
Add use_system_unicorn feature in rust bindings
2021-12-10 19:44:39 +08:00
Brandon Miller
2cc15c7260
Added SetCPUModel go binding
...
Go cannot use C macros directly, so I followed existing convention and
added a helper to uc.c to call the uc_ctl_set_cpu_model macro
2021-12-04 16:25:23 -05:00
Sven Bartscher
59fb8a2733
rust: Add RISCV CSR registers
...
The addition of these registers in the C base caused the rust values
for all floating point registers and the PC to point to some of the
CSR registers instead.
2021-11-30 16:09:24 +01:00
lazymio
10d88e89a5
Fix uc_version and bump again
2021-11-25 18:19:46 +01:00
lazymio
9a4d5d0be8
Bump bindings version to 2.0.0-rc5
2021-11-25 14:29:41 +01:00
Sven Bartscher
a237505adb
rust: Implement deallocation of MMIO callbacks
...
Previously the user data of MMIO callbacks would live until the end of
the containing Unicorn engine. Now they are deallocated once all
memory referencing those callbacks has been unmapped.
2021-11-24 12:15:20 +01:00
Sven Bartscher
20d97a0c00
Add map_mmio to rust bindings
2021-11-24 12:15:20 +01:00
mid-kid
2d665aa752
Accomodate for setting a different CMAKE_GENERATOR in the environment.
...
This makes sure the right build utility is called, depending on the
value of the CMAKE_GENERATOR environment.
2021-11-13 13:34:11 +01:00
lazymio
fafec703e1
Merge pull request #1480 from domenukk/rust_bindings
...
Rust bindings improvements
2021-11-10 07:52:31 +01:00
lazymio
7f43e1de3e
Rename rust env to decide build dir
2021-11-10 07:51:07 +01:00
Dominik Maier
67cd9b1c2f
fixed doc tests
2021-11-10 04:49:27 +01:00
Dominik Maier
7adcced19b
cleanup
2021-11-10 04:26:56 +01:00
Dominik Maier
7873e60740
reverted unfinished commit
2021-11-10 04:21:30 +01:00
Dominik Maier
a231440cf8
reverted build.rs
2021-11-10 04:14:56 +01:00
Dominik Maier
177b21c2af
removed need for extra api; no_std
2021-11-10 04:11:14 +01:00
Dominik Maier
492779d7d4
fixed context
2021-11-09 16:19:27 +01:00
Dominik Maier
3b0ce89a7a
missing pcs
2021-11-09 16:09:02 +01:00
Dominik Maier
a3e139847d
reapply missing changes
2021-11-09 16:04:59 +01:00
Dominik Maier
1f90734b12
No longer redownloads unicorn each cargo build
2021-11-09 15:51:11 +01:00
Dominik Maier
d7ead41a51
fixed testcases
2021-11-09 14:49:18 +01:00
lazymio
ec02eccb85
Fixup Rust CI
2021-11-09 00:58:13 +01:00
lazymio
0714fb5760
Bump bindings version
2021-11-09 00:23:19 +01:00
Dominik Maier
0dfc0cba1f
removed duplicate
2021-11-08 19:39:15 +01:00
Dominik Maier
a8f9655189
lifetime
2021-11-08 19:37:38 +01:00
Dominik Maier
f8f0d4471f
Unicorn rust bindings improvements
2021-11-08 19:34:53 +01:00
lazymio
9abbba173c
Update python bindings
2021-11-07 21:00:05 +01:00
George Hotz
8732cff287
add rpath and go.mod
2021-11-07 20:24:50 +01:00
lazymio
923b4ad3cc
Update python bindings
2021-11-04 21:47:30 +01:00
lazymio
b9c0066a47
Format and naming
2021-11-04 20:04:57 +01:00
lazymio
db90f39ac6
Generate bindings
2021-11-04 20:01:19 +01:00
lazymio
3dfec280c7
Merge and close #1161
2021-11-03 21:02:48 +01:00
Bet4
aaf340d9e4
Merge branch 'dev' into patch
2021-11-02 18:36:22 +08:00
lazymio
090686f8ed
uc_ctl proposal ( #1473 )
...
* Add uc_ctl
* Add comments
* Slightly changed for bindings generation
* Generate bindings
2021-10-30 10:45:32 +08:00
lazymio
9e1443013b
Fix gen_const
2021-10-26 13:10:59 +02:00
lazymio
e695686c15
Remove AFL Integration by reverting
2021-10-26 11:22:21 +02:00
lazymio
17963ff4aa
Update python bindings for afl
2021-10-25 01:27:51 +02:00
lazymio
f08b7d6b5b
Make gen_const work and updates constants
2021-10-25 00:57:32 +02:00
mio
fbdd321afe
Remove useless import
2021-10-18 21:44:10 +02:00
mio
2463467302
Format the code
2021-10-18 21:41:19 +02:00
mio
a1d5c5f1b0
Don't reply on git command
2021-10-18 21:39:59 +02:00
Bet4
c400924fe1
Merge branch 'dev' into patch
2021-10-17 18:18:09 +08:00
mio
15bcdf7cbc
Add documentation link
2021-10-17 03:36:58 +02:00
mio
a11cd9c43f
Ready for rust bindings release
2021-10-17 03:26:40 +02:00
mio
6d0d0897f8
Fix Rust build and CI.
...
Add a test for ppc and fix ppc on windows.
2021-10-17 02:11:38 +02:00
mio
c8eea0bcb3
Fix build.rs and tests
2021-10-16 21:21:12 +02:00
Bet4
5a97bf7f8f
Update Rust constants to Unicorn2
2021-10-15 09:17:43 +08:00
Bet4
fe296d1c9e
Improve Java bindings
2021-10-14 18:39:38 +08:00
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 fbef45b18f
.
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
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
Duncan Ogilvie
0b3cd70e67
Update dotnet bindings ( #973 )
2018-07-05 21:30:33 +08:00
Disconnect3d
19ffa83d43
Fix naming in Python sample_x86.py ( #961 )
2018-05-07 09:44:27 +08:00
Sebastian Willenborg
9a01ae8379
Fix tests when using go 1.10 ( #949 )
2018-03-21 00:36:37 +08:00
Nguyen Anh Quynh
1f408ce359
java: cleanup Makefile
2018-03-12 13:41:38 +08:00
Jeremy Sears
94b1168776
Fix Java Makefile on Darwin ( #936 )
...
* Fixes the logic for Dylib extensions on macOS.
* Adds an uninstall task and documentation.
2018-03-12 20:40:40 +07:00
Nguyen Anh Quynh
505f926992
link to Crystal binding
2017-12-23 00:26:40 +08:00
Nguyen Anh Quynh
41cc047b87
bindings: update after #922
2017-12-20 22:13:29 +08:00
Stephen
5a117c84ff
add travis testing path ( #930 )
...
closes #927
2017-12-17 19:24:09 +08:00
Sascha Schirra
bc34c36eae
version changed and unicorn.gemspec renamed to unicorn-engine.gemspec ( #915 )
2017-10-27 20:30:01 +08:00
Sascha Schirra
8df86c86a4
changed gem name to unicorn-engine ( #911 )
...
* changed gem name to unicorn-engine
* changed the gem name in Makefile
2017-10-17 00:53:20 +08:00
Andrew Dutcher
12642c2555
Cleanups/fixes for the library issue conglomerate ( #897 )
...
* Python: Disable distribution of static library on linux and macos; add environment variable LIBUNICORN_PATH to let user specify location of native library; prevent build of native library if this option is enabled; closes #869
* Python: Update README.TXT to describe how to manage the building and usage of the native library
2017-09-24 22:33:01 +08:00