Commit Graph

708 Commits

Author SHA1 Message Date
elicn
386e0ed575 Include networking auditing sample in script 2024-09-19 17:17:04 +03:00
elicn
5cc2d80916 Adjust import path to new path 2024-09-19 17:16:21 +03:00
elicn
f573356a8b Add initial support for batch operations 2024-09-19 17:15:24 +03:00
elicn
4471377b77 Styling fixes 2024-09-19 17:13:36 +03:00
elicn
754194c7e8 Improve documentation 2024-09-19 17:04:21 +03:00
elicn
2da154721b Remove repr surplus method 2024-09-19 17:00:33 +03:00
elicn
7deb613a3c Reduce namespace clutter 2024-09-19 16:58:03 +03:00
Bet4
abefcb2f89
Remove using of distutils (#1964)
* Remove using of distutils

* Upgrade setuptools to fix CI

* Use Python 3.7 in build_wheel.sh
2024-06-12 14:45:23 +08:00
Jordan Moore
c39e80231c
Update Zig bindings to Zig 0.12.0 (#1951)
* update zig bindings to Zig 0.12.0

* support zig package manager

* Fix zig macos ci build

* Make the macos build use 1 process instead of hitting the macos
  process limit immediately, utilize the build.zig `-Dparallel
  false` option for macos ci
* Split the macos ci into a new build stage (out of the ubuntu,
  macos build maxtrix), to allow for multiple architecture builds
  in the future after the zig bindings improve
2024-05-06 21:02:24 +08:00
mio
85b289d074
Use correct lib path 2024-04-30 18:06:30 +08:00
Nguyễn Anh Khoa
38091b3046
Add unicorn_py3 folder to setup.py (#1942)
* Add unicorn_py3 folder to setup.py

* Run sample in CI

* Fix pip install & py2 breakage

---------

Co-authored-by: mio <mio@lazym.io>
2024-04-28 00:11:05 +08:00
lockbox
c850db1125 Inherit architecture support from cfg features
While the bindings conditionally compile code based on the cfg
flags, we still include the architecture support in emitted rust
code. This patch removes the ability to refer to architectures
that cannot possibly be supported.
2024-03-27 17:30:53 -04:00
lockbox
30b99601d2 apply default rust 2021 formatting 2024-03-27 16:54:51 -04:00
lazymio
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
mio
4c4d582fcb
Also add _repr_ for UcReg 2024-03-08 17:07:08 +08:00
mio
13f17e5b3f
Apply repr for C structs 2024-03-08 16:48:31 +08:00
mio
9463d00c3e
Merge remote-tracking branch 'origin/dev' into dev 2024-03-08 16:20:58 +08:00
mio
dae2391bb0
Apply fix for linux2 2024-03-08 16:19:53 +08:00
mio
399f204787
Merge elicn's work 2024-03-08 16:16:12 +08:00
lazymio
0bca8df694
Merge pull request #1796 from bet4it/dylib
Fix dynamic linkage on msvc
2024-03-08 15:16:36 +08:00
lazymio
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
lazymio
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
lazymio
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
lazymio
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
lazymio
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
lazymio
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
mio
247d643f2f
Restore Py2 compatibility 2023-06-28 16:40:43 +08:00