227ff1d8bd
Merge pull request #1928 from mlgiraud/feat/add_start_end_to_hook
...
Feature: Bindings: add start end to block hook
2024-03-11 19:50:46 +08:00
4c4d582fcb
Also add _repr_ for UcReg
2024-03-08 17:07:08 +08:00
13f17e5b3f
Apply repr for C structs
2024-03-08 16:48:31 +08:00
9463d00c3e
Merge remote-tracking branch 'origin/dev' into dev
2024-03-08 16:20:58 +08:00
dae2391bb0
Apply fix for linux2
2024-03-08 16:19:53 +08:00
399f204787
Merge elicn's work
2024-03-08 16:16:12 +08:00
0bca8df694
Merge pull request #1796 from bet4it/dylib
...
Fix dynamic linkage on msvc
2024-03-08 15:16:36 +08:00
ba92f79c9e
Merge pull request #1823 from unicorn-engine/restore-py2
...
[RFC] Restore py2 compatibility by using 2 files
2024-03-08 15:12:24 +08:00
d1da4de080
Merge pull request #1929 from xclusivor/master
...
Remove semicolons in python files
2024-03-08 15:10:58 +08:00
xclusivor
4a694d8a30
remove semicolons
2024-03-06 02:15:02 -05:00
Mark Giraud
00680412d3
feat: Add start and end address to rust block hook binding
2024-02-26 11:20:27 +01:00
43597af0ed
Merge pull request #1833 from nneonneo/rework-java-api
...
Rework the Java bindings
2023-12-25 19:53:45 +08:00
Mario Haustein
5983b399d8
use full prototypes for functions without parameters
2023-10-08 13:39:13 +02:00
Mark Giraud
ce1ee5ac4d
refactor: Make clippy happy
2023-08-25 15:40:00 +02:00
Mark Giraud
fbe1b4421a
feat: Add ctl_context_mode to rust bindings
2023-08-16 14:13:50 +02:00
Mark Giraud
fd3b7082b4
refactor: Make rust bindings more rusty
2023-08-15 11:04:50 +02:00
Mark Giraud
5fd12af68a
formating: Use rustfmt style for rust bindings
2023-08-14 13:55:24 +02:00
Mark Giraud
5318fcda33
fix: Make from handle function unsafe
2023-08-14 13:38:26 +02:00
Mark Giraud
bb7df65a1c
fix: Wrap uc_hook to not expose ffi types in public api
2023-08-14 10:38:27 +02:00
19a794b97e
Merge pull request #1866 from mlgiraud/fix/unsafe_ptr_deref
...
fix: Make functions that deref ptr unsafe
2023-08-13 14:36:50 +08:00
Mark Giraud
4e194a54d9
fix: Make functions that deref ptr unsafe
2023-08-11 13:18:04 +02:00
3c89d0c3ce
Fix ctl_remove_cache for python2
2023-08-09 14:11:21 +08:00
Matheus C. França
4fb4b3e4b0
Zig binding
...
* zig binding - sample added
* zig build CI
* split mingw (shared/static) CI/CD
* unicorn log added
* build C/C++ samples
2023-08-04 11:24:00 -03:00
Mark Giraud
c43ab92326
fix: Add missing Copy derive
2023-07-26 09:58:09 +02:00
Mark Giraud
5a5b1bbb05
fix: update bitflags dependency and fix flippy warnings
2023-07-26 09:55:04 +02:00
239766aa66
Merge pull request #1849 from mlgiraud/fix/rust_compiler_warnings
...
Fix rust compiler warnings
2023-07-26 15:35:33 +08:00
Mark Giraud
546561f3cc
fix: Remove unnecessary use statement that causes warnings
2023-07-18 11:49:18 +02:00
elicn
0a876d30ea
Allow setting CPU model on Uc initialization
2023-07-14 00:44:58 +03:00
elicn
cef2b3394d
Fix MMIO hooks prototypes
2023-07-14 00:43:42 +03:00
elicn
b1605d4006
Fix TCG opcode hook prototype
2023-07-14 00:42:40 +03:00
Eli
922c1e6333
Merge branch 'dev' into uc-py-next
2023-07-13 23:00:01 +03:00
lockbox
2f2bf8d96f
add cpu model to architectures for rust bindings
2023-07-13 13:58:14 -04:00
lockbox
84fe5d1756
expose ffi in rust bindings
2023-07-13 13:57:04 -04:00
Robert Xiao
f55e7834ba
Replace javah by javac -h, only write new constant files if something changes.
...
The const_generator changes help to ensure that e.g. Java rebuilds don't keep
rebuilding everything.
2023-07-06 20:12:36 -07:00
Robert Xiao
763d04127c
Switch Java bindings to reg2 API.
...
This is mostly an extra safety measure; the front-end Unicorn.java should always
be sending an appropriately-sized buffer.
2023-06-29 16:37:42 -07:00
Robert Xiao
dfdc8e7e8e
Switch to Maven to build the Java bits.
...
Maven is now used to update the constants, build the Java code, call make to
build the native library, and run all the tests. I have removed the "install"
and "uninstall" targets; instead, the expectation will be that the JNI library
will be placed somewhere on java.library.path and the JAR file will be used as
usual (e.g. in a downstream Maven project, or placed on the classpath of your
project).
Since Maven is now running our tests, this eliminates the need to bundle test
dependencies in `testdep`, and makes the project structured more like a typical
Java project.
2023-06-29 16:08:18 -07:00
247d643f2f
Restore Py2 compatibility
2023-06-28 16:40:43 +08:00
d6d1af243f
Specify the source directory explicitly
2023-06-28 16:40:17 +08:00
Robert Xiao
2198ea4f69
Add comment about unicorn_Unicorn.h to the .c file
2023-06-17 14:34:25 -07:00
Robert Xiao
d9407c9041
Add a link to the relevant issue for ARM PAC handling
2023-06-17 14:22:56 -07:00
Robert Xiao
05f6fb9bf3
Properly check return value of makeHookWrapper
2023-06-17 14:19:10 -07:00
Robert Xiao
98f70d3213
Port sample_batch_reg.c to Java, incidentally finding a bug in the generic register implementation.
2023-06-17 14:19:10 -07:00
Robert Xiao
edd80ddeda
Port sample_x86_32_gdt_and_seg_regs over to Sample_x86_mmr
2023-06-17 14:19:10 -07:00
Robert Xiao
4f563490e2
Update Java samples to match C samples.
...
Also add all of the samples as Java tests, referencing the output of the C
samples.
2023-06-17 14:19:10 -07:00
Robert Xiao
3739c7e3e0
Write some code to test out ARM64 CP register handling.
2023-06-17 14:19:10 -07:00
Robert Xiao
910bb572d3
Accept unsigned BigIntegers, and produce unsigned BigIntegers by default.
...
Unsigned BigIntegers are a bit more ergonomic, particularly for bitwise
operations. reg_write still accepts negative BigIntegers (and will automatically
sign extend them), but reg_read will produce unsigned BigIntegers by default.
2023-06-17 14:19:10 -07:00
Robert Xiao
d4df61b4c5
Refactor tests and add a few more
2023-06-17 14:19:10 -07:00
Robert Xiao
77d4a1d8b1
Fix definition of uc_version
2023-06-17 14:19:10 -07:00
Robert Xiao
32e638dcf4
Add more deprecated APIs for backwards compat
2023-06-17 14:19:10 -07:00
Robert Xiao
48870c4cc3
Reintroduce hook_del(Hook), since it seems useful.
...
This also improves backwards compatibility a bit.
2023-06-17 14:19:10 -07:00