Commit Graph

730 Commits

Author SHA1 Message Date
Eli
957df0ec3a Fix TLB fill hook (#2042)
* Fix the TLB fill hook

* Add missing annotations
2024-10-25 20:22:53 +08:00
16916b2f1e Fix small typo 2024-10-19 16:32:43 +08:00
Eli
28ff8d8627 Hook tlb fill (#2037)
* Support TLB fill hooks

* Improve consistency among structure names
2024-10-18 23:22:04 +08:00
@Antelox
6fbbf3089a Python binding setup refactoring + cibuildwheel workflow (#2026)
* Python bindings: Make the test scripts handy for pytest

* Python bindings: Update MANIFEST.in with new paths

* Update .gitignore to exclude PyCharm-related files/folders

* Python bindings: Update CMakeLists.txt in order to set CMAKE_OSX_ARCHITECTURES var

* Python bindings:
- Moved project package settings to the new TOML format
- Refactored setup.py to cleanup/improve the code and make it ready for cibuildwheel
- Updated README.md with the package long description part
- Removed setup.cfg since universal wheel building will be deprecated soon

* Python bindings:
- Replaced old PyPI-publishing.yml workflow with brand-new one based on cibuildwheel
- Removed old building scripts

* Replaced macos-12 runner with macos-13 since it will be removed soon

* Python bindings: Specify SYSTEM_VERSION_COMPAT=0 env var for macos-13 x86_64 runner as per cibuildwheel warning message

* Python bindings: Enable i686 for debugging

* Python bindings: Enable DEBUG flag according to the presence of tag release

* Python bindings: Added matrix to cover i686 manylinux/musllinux builds

* Python bindings:
- Replaced macos-14 runner with macos-latest
- Bumped cibuildwheel GitHub action to 2.21.3 version

* Python bindings:
- Adapt test_uc_ctl_tb_cache test to the recent changes
- Fixed typos
- PEP8 fixes

* GitHub Action Workflow: Introduce BUILD_TYPE env var to select build type according to the presence of tag release

---------

Co-authored-by: mio <mio@lazym.io>
2024-10-17 19:35:42 +08:00
mio
7e32864774 Also include cmake directory in sdist 2024-10-13 16:34:25 +08:00
Eli
78580ca8f9 Python3 bindings improvements (#2024)
* Allow Uc subclasses to use additional constructor args

* Add missing conext reg write batch prorotype

* Sort uc prototypes for better readability

* Redefine internal C API structures

* Add ctypes alises to improve readability

* Added documentation for ctl methods

* Added ctl tcg buffer size accessors

* Fix tcg buffer size return type
2024-10-09 14:13:42 +08:00
Daniel Roethlisberger
26268e69af python: Fix assertion failure on ctl_flush_tb() (#2023) 2024-10-08 12:48:05 +08:00
Eli
ac4872be4c Support additional API on Python 3 bindings (#2016)
* Styling and commets fixes

* Add errno API support

* Improve OOP approach by adjusting the way reg types are selected

* Leverage new approach to deduplicate reg_read and reg_write code

* Adjust reg_read_batch

* Add support for reg_write_batch

* Adjust x86 MSR accessors

* Turn asserts into descriptive exceptions

* Improve comments and styling

* Fix ARM memcpy neon regression test

* Modify canonicals import

* Introduce ARM CP reg accessors
2024-10-06 23:14:03 +08:00
mio
07e67c6570 Remove gdb history 2024-10-02 16:03:57 +08:00
mio
91122b6a68 Fix compatibility of 3.8 2024-09-26 23:02:03 +08:00
mio
d568885d64 Re-add muls_wheel.sh
Thanks to @Antelox

Co-authored-by: @Antelox <anteloxrce@gmail.com>
2024-09-26 19:15:03 +08:00
mio
050f2fbcaf temp remove 2024-09-26 19:13:57 +08:00
mio
9e0addd682 Still add plat-name for Linux 2024-09-26 19:11:53 +08:00
mio
2ccdc08237 Fix musl build script 2024-09-26 18:47:20 +08:00
mio
867770c7ef Tag and release 2.1.1 2024-09-26 18:44:51 +08:00
mio
869968a96f Only publish when tagging 2024-09-26 18:13:43 +08:00
mio
08e14abf70 Remove hacks for bdist_wheel 2024-09-26 17:18:36 +08:00
mio
1e04dbf83b Remove pkg-packages 2024-09-26 17:15:53 +08:00
mio
67f08b1c27 Bump version and generate bindings 2024-09-21 23:00:57 +08:00
6c4a3fd84b Merge pull request #2005 from omer54463/dev
Add py.typed to the Python binding package
2024-09-21 23:00:41 +08:00
mio
78cb4affda Fix uccallback 2024-09-21 22:48:32 +08:00
Omer Lubin
5c7fa35b43 ADD py.typed 2024-09-21 00:05:48 +03:00
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
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
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