Commit Graph

1835 Commits

Author SHA1 Message Date
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
Nguyen Anh Quynh
1cb45fab51
MacOS: do not build in universal format by default 2018-07-28 00:19:49 +08:00
Nguyen Anh Quynh
4d0157eb4a x86: fix #968. also fix potential bug of not clearing high bytes when updateing EIP 2018-07-26 15:19:23 +08:00
Nguyen Anh Quynh
58e1f03f12 Revert "x86: fix #968"
This reverts commit 91033dd0f0.
2018-07-25 17:04:35 +08:00
Nguyen Anh Quynh
91033dd0f0 x86: fix #968 2018-07-25 13:34:15 +08:00
Nguyen Anh Quynh
86313650f9 fix some gcc warnings 2018-07-25 12:38:15 +08:00
nanoric
2a240079d8 [Fix] Add feature support for CMPXCHG16B instruction. (#983) 2018-07-25 15:00:41 +08:00
Guillaume Sottas
cf0bcb82b4 fix invalid script path (#975) (#976)
* fix invalid script path (#975)

* expose target_page_align and target_page_size to public API.

* add newly exposed values to python binding.

* Revert "expose target_page_align and target_page_size to public API."

This reverts commit 38145bbaba26900118809c6179164d060b8e73e5.

* Revert "add newly exposed values to python binding."

This reverts commit 0884e06527155799494138733557adaf2f4fe71c.

* add python2-setuptools in required cygwin packages.

* Revert "fix invalid script path (#975)"

This reverts commit 8c55ca7d3447824fb672ab83ff4af5aee9ec089d.
2018-07-11 22:33:13 +07:00
Duncan Ogilvie
0b3cd70e67 Update dotnet bindings (#973) 2018-07-05 21:30:33 +08:00
Disconnect3d
19ffa83d43 Fix naming in Python sample_x86.py (#961) 2018-05-07 09:44:27 +08:00
Stephen
2edb4b57c4 switch appveyor to cygwin over https (#960) 2018-04-24 08:55:39 +08:00
Sebastian Willenborg
9a01ae8379 Fix tests when using go 1.10 (#949) 2018-03-21 00:36:37 +08:00
Nguyen Anh Quynh
1f408ce359 java: cleanup Makefile 2018-03-12 13:41:38 +08:00
Jeremy Sears
94b1168776 Fix Java Makefile on Darwin (#936)
* Fixes the logic for Dylib extensions on macOS.
* Adds an uninstall task and documentation.
2018-03-12 20:40:40 +07:00