Commit Graph

2134 Commits

Author SHA1 Message Date
lazymio
ad3c0a5b32
Bump python bindings version 2021-10-06 12:37:13 +02:00
lazymio
a4c6298302
Support building fuzz targets 2021-10-06 12:06:59 +02:00
lazymio
8ab7e0626d
To make dockcross-x86 happy 2021-10-06 11:53:34 +02:00
lazymio
3cbad9556a
Fix name typo 2021-10-06 11:07:55 +02:00
lazymio
76a1b4661c
Fix a memory leak due to wrong free order 2021-10-06 10:11:04 +02:00
mio
db821ad005
Sync documents 2021-10-06 04:53:05 +08:00
mio
fd4c6ef082
Update README to add Android 2021-10-06 04:49:18 +08:00
mio
ae1b6ad89b
Support building on Android arm aarch64 x86 x86_64
1. Add cmake support in CMakeLists.txt according to https://developer.android.com/ndk/guides/other_build_systems

2. Resolve symbols errors

3. Backport fixes from 438ed42311

   > QEMU relies on two optimization for ppc64 and arm:
   >
   > 1. if(0) /* optimized code */
   > 2. assert(0); /* optimized code */
   >
   > But the assert on mingw32 doesn't have noreturn attribute which prevents
   > the second optimization and some code is reverted to the original code
   > to fit in the first optimization.
   >
   > The assert implementation is copied from glib as qemu did.

   Unfortunately, NDK also doesn't have an assert implementation qemu prefers.
2021-10-06 04:42:44 +08:00
lazymio
04f538e151
Delete stale.yml 2021-10-05 19:50:41 +02:00
mio
4c438e7774
Update comments for UC_HOOK_INSN 2021-10-05 18:15:31 +02:00
mio
9d8a309fbf
Allow user to instrument cpuid instruction 2021-10-05 17:15:49 +02:00
mio
af60b4dfab
Add stale bot 2021-10-05 17:05:24 +02:00
mio
06d1010f14
Update the link to milestones 2021-10-05 15:44:42 +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
169efa6f2d
Revert so that we test python build everytime 2021-10-05 14:48:54 +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
mio
d6993e02c4
Link to libm to make sure our build works on older Linux 2021-10-05 12:47:27 +02:00
mio
bccc7f2fb7
Remove NULL tcg arg and add a test for sysenter 2021-10-04 18:50:42 +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
mio
b9918b74d7
Online publish when tagging 2021-10-04 17:49:04 +02:00
lazymio
91e84bf304
Merge pull request #1451 from chfl4gs/dev
Action for PyPI publishing
2021-10-04 17:37:45 +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
46e8ac03ad
Remove useless x86 registers according to #1440 2021-10-04 11:03:56 +02:00
mio
ebb468d042
Fix msvc build 2021-10-04 10:44:30 +02:00
mio
df5daed522
Manually fix for #219 2021-10-03 23:27:12 +02:00
mio
65e1a17386
Remove winsocks 2021-10-03 23:25:26 +02:00
mio
81942e9097
Manually fix for #1232 2021-10-03 23:23:55 +02:00
mio
2d043d387d
Change mips model to add DSP 2021-10-03 23:10:39 +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
5460bfd97d ChangeLog 2021-10-03 22:37:22 +08:00
Nguyen Anh Quynh
10f8106c24 cleanup Github workflows 2021-10-03 22:30:52 +08:00
Nguyen Anh Quynh
98b684d33e remove Travis 2021-10-03 22:28:22 +08:00
Nguyen Anh Quynh
af76a71df1 add .github/ 2021-10-03 22:27:18 +08:00
Nguyen Anh Quynh
ebcf4e2325 logo in README 2021-10-03 22:17:51 +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
Nguyen Anh Quynh
52f90cda02 update ChangeLog 2021-05-26 23:07:07 +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
668c43c94d update ChangeLog 2021-05-16 21:39:31 +08:00
Nguyen Anh Quynh
51665db668 Merge branch 'master' of github.com:unicorn-engine/unicorn 2021-05-16 21:38:17 +08:00
Nguyen Anh Quynh
2874435d2f bump version to 1.0.3 2021-05-16 21:38:08 +08:00
Sun Daowen
5790938452
compile on VS2008/VS2010 (#1397)
Compiling with Win32 Release/MinSizeRel/RelWithDebInfo in VS2008 will cause "fatal error C1063: compiler limit: compiler stack overflow" problem.
Compiling with Win32 Debug or x64 does not have this problem.
You can easily bypass this problem by changing the optimization options /O1 and /O2 to /Od.
In VS2010, when _INTPTR is 0 or 1, UINTPTR_MAX is 0xFFFFFFFF.
2021-05-16 21:36:33 +08:00
Nguyen Anh Quynh
db1b6342a3 update Changelog for 1.0.3 2021-05-14 18:36:54 +08:00
lazymio
225d387325
Fix wrong sync after UC_ERR_[READ, WRITE, FETCH]_[UNMAPPED, PROT] (#1368)
* Fix wrong sync after UC_ERR_[READ, WRITE, FETCH]_[UNMAPPED, PROT]

Note that:
1. We only guarantee the pc (and other internal states) is correct
if and only of `uc_emu_start` returns without any error (or errors
have been handled in callbacks.).
2. If memory read/write error isn't handled by hooks, the state is
undefined and the pc is probably wrong if no hook is installed.

This fixes #1323.

* Rename variables

* Add note in unicorn.h

* Refine test_i386_invalid_mem_read_in_tb
2021-05-12 00:10:45 +08:00