Commit Graph

2048 Commits

Author SHA1 Message Date
Daniel Deptford
bc572be472 Check for TLB invalidation after read callback(s). (#1122)
* Adding regression test for issue where writing memory into a read only segment during a access callback fails.

* Check for TLB invalidation when calling read callbacks;  Writes to read-only memory by the callback cause a TLB flush which requires a re-read of the TLB.
2019-08-22 17:54:24 +08:00
Stephen
8f0f77233d fix msys2 and travis builds (#1118)
* fix msys2 builds

* move to travis xenial

now the default

* add i386 cmocka

* move to only different cmocka on 32 bit build

* minimize packages on non x86
2019-08-11 17:47:36 +08:00
naq
2a4924b161 Merge branch 'master' of github.com:unicorn-engine/unicorn 2019-08-05 23:00:26 +08:00
naq
9208a6f317 initialize ret=0 in cpu_exec(). issue #1115 2019-08-05 23:00:01 +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
naq
3eb3a18b56 Merge branch 'master' of github.com:unicorn-engine/unicorn 2019-07-31 15:43:38 +08:00
naq
540c893157 cleanup qemu/cpus.c 2019-07-31 15:43:06 +08:00
Stephen
b55bbd0ac6 fix broken build (#1108)
* fix broken build

* add binutils to path
2019-07-31 12:34:49 +08:00
Stephen
ca6cb2368f remove broken iOS builds (#1109) 2019-07-31 09:33:13 +08:00
Kevin Phoenix
3053e64708 Specify python for building QEMU on macOS (#1107) 2019-07-30 10:49:33 +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
Starlet Leonhart
0cd69ee03b Add ARM64 Android support in make.sh (#1099)
* Add Android ARM64 support.

* Fix some things
2019-07-01 19:24:36 +08:00
kj.xwings.l
5efc0afd49 activate CP0C3_ULRI for CONFIG3, mips (#1097) 2019-06-24 20:58:53 +08:00
Ryan Houdek
ae6e3c193d Fixes register reading and writing for XMM8-15 on x86-64 (#1090) 2019-06-03 19:04:41 +08:00
lzutao
778171fc95 Update help description for make.sh (#1078)
* Update help description for make.sh

* Add description for msvc_update_genfiles
2019-04-11 09:30:56 +08:00
Lukas Dresel
55d8d073bd support for YMM registers ymm8-ymm15 (#1079) 2019-04-01 11:00:34 +08:00
Aldo Mazzeo
d38c8fb27f Don't duplicate a uc_mem_map_ptr'd memory region when splitting it (#1028) (#1030) 2019-03-07 09:05:26 +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
yhql
3185128031 Add ARM MSP, PSP and CONTROL register access (#1071)
Necessary for NVIC exception emulation from user.
2019-03-07 08:37:27 +08:00
Stephen
c012d19034 Add xenial support (#1069)
trusty is sunsetting support in April 2019
2019-03-01 01:09:41 +08:00
Nguyen Anh Quynh
6d47b38b7f bindings: update after recent addition of ARM_REG_IPSR 2019-02-28 09:56:29 +08:00
cfrantz
6c319941a5 Add support for the ARM IPSR register. (#1067)
1. Create an enum name for the IPSR register.
2. Implement read and write of the IPSR via the xpsr helper functions.

Fixes #1065
2019-02-28 09:55:27 +08:00
Stephen
075bd65bbb Fix Cygwin Python Issue (#1068)
* Test Cygwin

* more specific python setuptools

* readd other tests
2019-02-28 09:54:45 +08:00
dmarxn
5bf6d77e4e Fixed the decoding of opcodes after getting vex2 using 0xc5 (#1064)
* Fixed the decoding of opcodes after getting vex2 using 0xc5

* Added testcase for vex. Can and should be expanded

* Fixed warning of testcase for vex (parentheses for assignment)
2019-02-25 21:14:20 +08:00
Nguyen Anh Quynh
738d102989 bindings: add newly added register MXCSR 2019-02-15 13:01:27 +08:00
dmarxn
256e7782ce Added MXCSR register, fixed writing to FPUCW. (#1059)
* Added MXCSR register for reading and writing

* Changed writing for fpucw register, now the qemu rounding status is updated as well
2019-02-15 12:59:49 +08:00
dmarxn
360e9c60e1 changed cpu_compue_eflags to use the updated eflags variable. Otherwise, cli/sti and popfl may break, as we get the non-updated eflags (#1057) 2019-02-07 23:10:01 +08:00
dmarxn
3df5ef8ab1 Fixed conditional move tcg bug (tcg_gen_movcond), which generated an ALWAYS / NEVER condition despite QEMU no supporting those conditions in the tcg_out part (#1054) 2019-01-31 09:59:51 +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
Stephen
ac0cd2144d Test i386 build (#1051)
* Test i386 build

* More i386 testing

* switch i386 packages

* add pthreads

* switch to pthread dev

* only dev libraries

* add libgcc dev

* libc for 386

* add gcc multilib

* Update .travis.yml

* test specific directories

* remove clang
2019-01-02 09:45:13 +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
BrunoPujos
536c4e77c4 i386: set MSR IA32_EFER to correct value at init for IA32e Mode (#1047) 2018-11-30 11:42:19 +08:00
Stephen
083a1749ee CI Cleanup (#1042)
* Improve homebrew

* remove msys cache

has ballooned out of control, now hurting build times

* re-add msys cache and clean unused pkgs

should prevent ballooning

* move cc
2018-11-19 23:51:58 +08:00
nanoric
a2493a0d41 [Fix] Fix a problem that use uc_reg_write to write fs, gs has no effets in x86 64-bit mode. (#984) 2018-11-10 21:24:11 +08:00
Brian McKenna
873fffc505 Haskell bindings: use ExceptT instead of deprecated EitherT (#1034) 2018-10-25 12:54:35 -03:00
Catena cyber
400a0ab309 Uses latest qemu arm thumb load store stuff (#1021) 2018-09-27 10:32:48 +08:00
Catena cyber
333bfdf65e Removes accessible assert (#1022) 2018-09-24 20:21:30 +08:00
Catena cyber
46999575fb Mips undefined shift fix (#1011) 2018-09-16 21:51:03 +08:00
Catena cyber
910999d396 Prevents abort with m68K (#1012)
* Prevents abort with m68K

Raises exception instead

* M68K remove one uses of abort

* Less aborts and logs instead for M68K
2018-09-16 21:50:35 +08:00
Catena cyber
4a86318cf4 Initializes i386 prefix value (#1013) 2018-09-16 21:50:00 +08:00
Catena cyber
b8df067514 Sparc increase ttl number (#1016) 2018-09-16 21:49:34 +08:00
Catena cyber
12bcf3bea0 Fuzz builds ok (#1007)
* Fuzzing M68K without abort

* UC_MODE_32 is not ok with sparc

use UC_MODE_SPARC32|UC_MODE_BIG_ENDIAN instead

* Temporary removing leaking on start targets

* Do not abort for m68K undef instructions
2018-09-11 12:49:32 +08:00
Vladimir Panteleev
2ab9e83703 bindings/README: Add D bindings (#1010) 2018-09-11 12:45:07 +08:00
Catena cyber
7a980e875c Adding Philippe Antoine to CREDITS (#1004) 2018-08-30 19:59:30 +08:00
Catena cyber
feb46abb4a Fuzz (#1000)
* Integration with oss-fuzz

* Use CFLAGS even for linking

as for fuzzing with asan

* Do not abort on uc_emu_start error

* Redirect fuzz output somewhere else than stdout

* Use uc_open for every fuzz instance

* Avoids timeouts from infinite loops

Limiting the number of instructions

* Moving fuzz to tests directory
2018-08-29 10:36:23 +08:00
toshiMSFT
0f14c47344 Makes SYSENTER hookable again on x86 (#996)
Adds SYSENTER to the whitelist of supported hookable instructions in unicorn
as well as fixes up the existing sysenter_hook_x86 regression test which was
previously failing

Fixes unicorn-engine/unicorn#995
2018-08-09 23:32:31 +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
Alex von Gluck IV
c7be4a2160 Haiku support patches (#989)
* Haiku: fix broken gcc strong stack protector

* qemu: Backport minor Haiku fix

We need to push this fix upstream to qemu. If we don't
get it upstreamed, i'll circle back and patch it if
Unicorn updates its qemu version.
2018-08-03 11:15:14 +08:00
Nguyen Anh Quynh
e3af0d086d Merge branch 'master' of github.com:unicorn-engine/unicorn 2018-07-26 15:19:58 +08:00