Commit Graph

189 Commits

Author SHA1 Message Date
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
Peter Mackay
0e661cb3cb Fix incorrect end address passed to emu_start. 2016-06-21 09:26:27 +01:00
Nguyen Anh Quynh
65bef683d3 regress: more flexible .gitignore 2016-06-16 09:27:47 +08:00
Peter Mackay
d4f0ab7ba8 Add Thumb-2 code to enable FP and VFP. 2016-06-15 23:43:51 +01:00
Peter Mackay
5d06e6638e Add arm_fp_vfp_disabled.py test. 2016-06-10 08:19:09 +01:00
Nguyen Anh Quynh
125f77a460 regress: chmod +x vld.py 2016-05-04 08:42:53 +08:00
Nguyen Anh Quynh
8b95cad550 regress: remove vmov.py 2016-05-04 08:41:09 +08:00
mkravchik
1afbee3a12 Merge pull request #3 from mkravchik/vld
Vld
2016-05-03 22:26:00 +03:00
mkravchik
33d105917d Added files via upload 2016-05-03 18:43:39 +03:00
Nguyen Anh Quynh
4084a385c2 regress: add mem_64_c.c from issue #523 by Chris Eagle 2016-04-24 22:53:30 +08:00
Nguyen Anh Quynh
df1de25db0 regress: chmod +x write_before_map.py 2016-04-24 18:09:06 +08:00
Tim Blazytko
0e52b913e7 added regression test write_before_map.py 2016-04-24 11:47:04 +02:00
Nguyen Anh Quynh
cc6cbc5cf7 Merge branch 'memleak' into m2 2016-04-18 12:48:13 +08:00
practicalswift
06a64dc3b0 Add six crash cases (2 * ARM + 4 * M68K)
* 001-bad_condition_code_0xe.c (ARM)
* 002-qemu__fatal__unimplemented_control_register_write_0xffb___0x0.c (M68K)
* 003-qemu__fatal__wdebug_not_implemented.c (M68K)
* 004-segmentation_fault_1.c (ARM)
* 005-qemu__fatal__illegal_instruction__0000___00000404.c (M68K)
* 006-qemu__fatal__illegal_instruction__0421___00040026.c (M68K)

```
$ ./001-bad_condition_code_0xe # ARM
uc_emu_start(…)
Bad condition code 0xe
Aborted

$ ./002-qemu__fatal__unimplemented_control_register_write_0xffb___0x0 # M68K
uc_emu_start(…)
hook_code(…) called
qemu: fatal: Unimplemented control register write 0xffb = 0x0

Aborted

$ ./003-qemu__fatal__wdebug_not_implemented # M68K
uc_emu_start(…)
qemu: fatal: WDEBUG not implemented
Aborted

$ ./004-segmentation_fault_1 # ARM
uc_emu_start(…)
hook_code(…) called
Segmentation fault

$ ./005-qemu__fatal__illegal_instruction__0000___00000404 # M68K
uc_emu_start(…)
qemu: fatal: Illegal instruction: 0000 @ 00000404
Aborted

$ ./006-qemu__fatal__illegal_instruction__0421___00040026 # M68K
uc_emu_start(…)
hook_code(…) called
qemu: fatal: Illegal instruction: 0421 @ 00040026
Aborted
```
2016-04-09 15:27:20 -04:00
Zach Riggle
67ae30a2fb Add test showing failure to track targets properly when single-stepping.
This issue breaks emulation of conditional instructions on amd64.
2016-04-05 10:06:39 -07:00
Nguyen Anh Quynh
b138393a2b regress: chmod +x translator_buffer.py 2016-04-05 21:40:02 +08:00
Nguyen Anh Quynh
6ee7d22c68 Merge pull request #510 from emdel/master
test case for the dynmaic translator buffer issue
2016-04-05 20:37:52 +07:00
emdel
1120a22b4d test case for the dynmaic translator buffer issue 2016-04-05 06:11:21 -07:00
Nguyen Anh Quynh
1486ccce70 regress: fix all the calls to uc_hook_add() following recent change on this API 2016-04-03 23:32:14 +08:00
Nguyen Anh Quynh
4e07e71e04 regress: chmod +x x86_64_eflags.py 2016-03-31 10:06:33 +08:00
Zach Riggle
8cd23bcead Add test case for unicorn-engine/unicorn#499 2016-03-30 21:25:35 -04:00