Commit graph

209 commits

Author SHA1 Message Date
Catena cyber deb4c46a7a
Fuzz builds ok
* 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

Backports commit 12bcf3bea093ed733904d3993bbdba0c2572a497 from unicorn.
2018-10-06 04:55:02 -04:00
toshiMSFT b4bb7edfe8
Makes SYSENTER hookable again on x86
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

Backports commit 0f14c473445661a633ca5bda3a91ba1a87c35c64 from unicorn
2018-09-03 07:53:48 -04:00
Willi Ballenthin d331b8f7d8 add 64-bit test demonstrating setting MSRs and FS/GS segments (#901)
* add x86_64_msr.py test demonstrating setting MSRs and FS/GS segments

* x86_64_msr.py: remove references to hooks

* x86_64_msr.py: remove references to old global variable
2017-09-29 04:26:23 +08:00
Nguyen Anh Quynh de7bf524f3 tests: fix mem_fuzz.c - FIXME 2017-07-23 16:33:57 +08:00
Nguyen Anh Quynh 281177aa9d regress: an attempt to fix build error on mem_fuzz.c 2017-07-22 23:40:59 +08:00
Stephen 7f116846c0 MSYS test (#852)
* MSYS test

using new cmocka msys package

* Update .appveyor.yml

* temp package install

before real ones get uploaded to db

* Update .appveyor.yml

* Update .appveyor.yml

* Update .appveyor.yml

* Update Makefile

* Update test_x86_shl_enter_leave.c

* Update Makefile

* Update threaded_emu_start.c

* Update .appveyor.yml

* remove unused install
2017-06-25 10:11:35 +08:00
Nguyen Anh Quynh c01dcf0a14 fix merge conflicts 2017-03-10 21:04:33 +08:00
Nguyen Anh Quynh 70db329749 regress: ignore arm_enable_vfp 2017-02-26 10:50:18 +08:00
Nguyen Anh Quynh a40e5aae09 regress: fix warning on compilation on eflags_noset.c. see #764 2017-02-25 11:20:26 +08:00
Nguyen Anh Quynh b12ce92468 regress: eflags_noset.c should only asm x86 code on x86 platform. fix #764 2017-02-25 01:14:47 +08:00
Nguyen Anh Quynh 6ea39f7d5a merge msvc with master 2017-02-24 10:39:36 +08:00
Parker Thompson 053ecd7bf4 Added ARM coproc registers (#684)
* Added ARM coproc registers

* Added regression test for vfp
2017-01-25 11:56:19 +08:00
xorstream cbd0e6056c Fixed some conflicts 2017-01-23 11:35:00 +11:00
xorstream 724c765028 Merging with current msvc 2 2017-01-23 01:07:50 +11:00
Nguyen Anh Quynh 206819bd98 cleanup after msvc port 2017-01-22 21:27:17 +08:00
Nguyen Anh Quynh f9f184e719 test: fix missng pthread functions 2017-01-21 22:29:07 +08:00
Nguyen Anh Quynh de9083a532 test: fix missng pthread functions 2017-01-21 22:22:09 +08:00
xorstream 770c5616e2 Automated leading tab to spaces conversion. 2017-01-21 12:28:22 +11:00
xorstream fac6a66860 platform.h move #3 2017-01-21 00:13:21 +11:00
xorstream 1aeaf5c40d This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
Elton G 47150b6df3 reg_read and reg_write now work with registers W0 through W30 in Aarch64 (#716)
* reg_read and reg_write now work with registers W0 through W30 in Aarch64 emulaton

* Added a regress test for the ARM64 reg_read and reg_write on 32-bit registers (W0-W30)
Added a new macro in uc_priv.h (WRITE_DWORD_TO_QWORD), in order to write to the lower 32 bits of a 64 bit value without overwriting the whole value when using reg_write

* Fixed WRITE_DWORD macro

reg_write would zero out the high order bits when writing to 32 bit registers

e.g. uc.reg_write(UC_X86_REG_EAX, 0) would also set register RAX to zero
2017-01-15 20:13:35 +08:00
Nguyen Anh Quynh 55f0292aa9 Merge branch 'master' of https://github.com/unicorn-engine/unicorn 2017-01-13 20:13:31 +08:00
Nguyen Anh Quynh 353dc99af6 regress: fix arm_fp_vfp_disabled.py 2017-01-13 20:13:20 +08:00
hedger d2b7d13443 Fixed circular refs preventing Uc instances from being GC'd. Added a test case, requires objgraph module. 2017-01-11 18:23:21 +03:00
Nguyen Anh Quynh bc569f5a54 rename API uc_mem_free() to uc_free(). see #662 2017-01-10 20:59:14 +08:00
Nguyen Anh Quynh fdbbdc6216 rename uc_context_free() to uc_mem_free(). see #373 2017-01-09 20:52:14 +08:00
me 87e8532e67 regress: link on Linux with -lrt 2016-12-26 14:16:56 +08:00
Nguyen Anh Quynh 5f81c00559 Merge branch 'noglib' of https://github.com/cseagle/unicorn into cseagle-noglib 2016-12-19 17:32:27 +08:00
Chris Eagle e46545f722 remove glib dependency by provide compatible replacements 2016-12-18 14:56:58 -08:00
Grazfather 795a241dd3 Add ARM bx crash regress test case 2016-11-26 12:51:01 -08:00
Stephen 75d90aff52 Make cleanup (#666)
* make cleanup

* Update .travis.yml
Update eflags_nosync.c
Update sigill2.c
Update ro_mem_test.c
Update ro_mem_test.c
Update nr_mem_test.c
Update mem_fuzz.c
Update mem_double_unmap.c
Update emu_stop_in_hook_overrun.c
Update eflags_nosync.c
remove unused
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update mem_64_c.c
Update mem_64_c.c
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update .travis.yml
try android ndk build
Update unicorn.py
Update unicorn.py
Update Makefile
Update unicorn.py
Update unicorn.py
remove an untrue comment

if a dll/so/dylib gets loaded at runtime is dependent on many different factors, primarily the LD/DYLD paths. Those do not always include the current working directory
Update Makefile
Update .appveyor.yml
Update .travis.yml
Update Makefile
Update .appveyor.yml
Fix bad sample

* Update Makefile

* Update Makefile

* Update install-cmocka-linux.sh

* remove verbose option from tar

* add upgrade to pacman for cmake

* pacman double update, needed to get new packages

* enable cmocka unit testing

* rejigger commands to fail on any step

should get fails in msys builds for cmocka

* fix quote

* make cmocka in cygwin only

* add msys cache
2016-11-19 17:17:48 +08:00
Peter Harliman Liem 7660768942 Fix leak and style in map_write.c (#658)
Fix potential leak, wrong text in log, and restyle
to a cleaner exit path
2016-10-25 23:47:55 +08:00
Andrew Dutcher f8ac51bb3d Document assembly instructions for x86_self_modifying 2016-08-30 14:40:26 -05:00
Nguyen Anh Quynh 10519d6864 regress: fix compilation warning in invalid_read_in_cpu_tb_exec.c 2016-08-30 21:23:50 +08:00
Nguyen Anh Quynh 69d976375e Merge branch 'fix/self_modifying' of https://github.com/rhelmot/unicorn into rhelmot-fix/self_modifying 2016-08-30 21:20:22 +08:00
Nguyen Anh Quynh 49d546b355 regress: fix some warnings on printing sizeof() 2016-08-28 01:38:37 +08:00
Nguyen Anh Quynh 89c9ea5f8f Merge branch 'fix/eflags' of https://github.com/rhelmot/unicorn into rhelmot-fix/eflags 2016-08-24 16:13:31 +08:00
Hors 90fb03cf5c Update mem_map_0x100000000.c 2016-08-19 23:33:04 +02:00
Hors 0fc3861699 Update Makefile 2016-08-19 23:32:19 +02:00
Hors deeca1f722 Create mem_map_0x100000000.c 2016-08-19 11:19:06 +02:00
Andrew Dutcher 46c53fa4b7 Add regression test for new eflags patch 2016-08-15 00:12:32 -07:00
Andrew Dutcher 42949408ca Added test for real self-modifying code 2016-08-14 23:21:38 -07:00
Andrew Dutcher 97b10da133 Undo the disaster that was the patch to unicorn github issue #266 and fix it correctly. makes normal self-modifying code work. 2016-08-09 19:35:20 -07:00
Nguyen Anh Quynh 07426d324b regress: chmod +x x86_fldt_fsqrt.py 2016-07-16 22:31:39 +08:00
Niklas Baumstark 3eaceec07e add regression test for fsqrt hang 2016-07-16 15:19:44 +02:00
Nguyen Anh Quynh 0a4ca0d365 regress: make some tests less noisy 2016-07-09 10:50:21 +08:00
Hoang-Vu Dang 9a2a5b15d8 Rename unhandled CPU exception 2016-07-05 11:10:39 -05:00
Hoang-Vu Dang 9cdca5a32b Unhandled interrupt will halt execution 2016-07-04 17:07:57 -05:00
Hoang-Vu Dang 3151451c87 Fix some invalid code in regress 2016-07-04 00:59:34 -05:00
Nguyen Anh Quynh faef4365cf Merge pull request #583 from petmac/arm_fp_vfp_disabled
Fix incorrect end address passed to emu_start.
2016-06-27 22:17:12 +08:00