Commit Graph

481 Commits

Author SHA1 Message Date
Nguyen Anh Quynh
886946dcf4 do not use syscall to quit emulation. this can fix issues #147 & #148 2015-09-26 16:49:00 +08:00
Nguyen Anh Quynh
79b81e6ae4 Merge branch 'java_dev' of https://github.com/cseagle/unicorn into cseagle-java_dev 2015-09-25 16:14:57 +08:00
Chris Eagle
347a01d6b5 spaces to tabs in Makefile 2015-09-25 00:20:02 -07:00
Nguyen Anh Quynh
c6a0638f33 Merge branch 'java_dev' of https://github.com/cseagle/unicorn into cseagle-java_dev 2015-09-25 13:53:18 +08:00
Chris Eagle
0e680fbafa Hack to make gen_const work even if java not installed 2015-09-24 22:45:59 -07:00
Nguyen Anh Quynh
633fe59931 Merge branch 'java_dev' of https://github.com/cseagle/unicorn into cseagle-java_dev 2015-09-25 12:42:42 +08:00
Chris Eagle
25f85ae1dd file permissions 2015-09-24 21:27:57 -07:00
Chris Eagle
a21772ad37 Cause java constnats to get updated by bindings Makefile 2015-09-24 21:26:54 -07:00
Nguyen Anh Quynh
4da8cac8fa Merge pull request #152 from cseagle/java_dev
Update for new mem hooking apis
2015-09-25 09:43:43 +08:00
Chris Eagle
f65ba7fb69 Merge branch 'master' into java_dev 2015-09-24 09:48:44 -07:00
Chris Eagle
4ebc876bd1 file permissions 2015-09-24 09:47:06 -07:00
Chris Eagle
4297ba4310 additional update to handle new hooking macros 2015-09-24 09:41:49 -07:00
Nguyen Anh Quynh
dc1e9d3626 remove UC_HOOK_*_ALL hook types as they are not for same hook handlers 2015-09-24 23:23:05 +08:00
Nguyen Anh Quynh
aa546ba7d6 add UC_HOOK_MEM_ALL macro to hook all kind of memory accesses 2015-09-24 20:59:45 +08:00
Chris Eagle
14a71b5546 update java bindings for new memory event hooking constants 2015-09-24 04:33:02 -07:00
Nguyen Anh Quynh
2599d41404 add some hooking macros for all kind of memory access events 2015-09-24 19:21:31 +08:00
Nguyen Anh Quynh
738b8d89f9 correct instructions for uc_cb_hookmem_t & uc_cb_eventmem_t. this fixes a part of issue #151 2015-09-24 18:50:49 +08:00
Nguyen Anh Quynh
e0dceb95da Merge pull request #150 from lunixbochs/master
update Go bindings for #149
2015-09-24 18:45:51 +08:00
Ryan Hileman
eb19d9bff5 update Go bindings for #149 2015-09-24 01:01:39 -07:00
Nguyen Anh Quynh
90eb8f2e72 This commit continues the PR #111
- Allow to register handler separately for invalid memory access
- Add new memory events for hooking:
   - UC_MEM_READ_INVALID, UC_MEM_WRITE_INVALID, UC_MEM_FETCH_INVALID
   - UC_HOOK_MEM_READ_PROT, UC_HOOK_MEM_WRITE_PROT, UC_HOOK_MEM_FETCH_PROT
- Rename UC_ERR_EXEC_PROT to UC_ERR_FETCH_PROT
- Change API uc_hook_add() so event type @type can be combined from hooking types
2015-09-24 14:18:02 +08:00
Nguyen Anh Quynh
e479f72403 update .gitignore 2015-09-24 13:52:10 +08:00
Sean Heelan
dfb4a9d9ad Revert "Remove uc_cb_eventmem_t as it is identical to uc_cb_hookmem_t"
As pointed out by aquynh the return types are actually different. A
uc_cb_eventmem_t callback returns a bool, while uc_cb_hookmem_t has a
void return type.

This reverts commit cb2b97f26c.
2015-09-23 12:51:47 +07:00
Sean Heelan
2ef59e5727 Renamed UC_HOOK_MEM_INVALID_[READ/WRITE/FETCH] to
UC_HOOK_MEM_[READ/WRITE/FETCH]_INVALID as per aquynh's feedback.
2015-09-23 12:48:13 +07:00
Sean Heelan
cb2b97f26c Remove uc_cb_eventmem_t as it is identical to uc_cb_hookmem_t, as per
issue #111
2015-09-22 12:37:05 +07:00
Sean Heelan
75c5904ec1 Makes the hook types consistent, with a single indicator for each of
read, write and fetch.

This commit only adds the enum values. The functionality still has to be
updated.

As per issue #111
2015-09-22 12:26:01 +07:00
Nguyen Anh Quynh
734aa15fa6 correct supported archs in COMPILE.TXT 2015-09-22 12:12:17 +08:00
Nguyen Anh Quynh
14a01b5186 mips: handle delay slot so do not duplicate calling instruction handler. this fixes issue #133 2015-09-22 11:59:53 +08:00
Nguyen Anh Quynh
80c316026f update .gitignore 2015-09-22 11:05:38 +08:00
Nguyen Anh Quynh
a853eb6363 mips, m68k: early check to see if the address of BB is the until address 2015-09-22 10:24:26 +08:00
danghvu
242713ce64 Missing update on make test clean 2015-09-21 21:04:20 -05:00
Nguyen Anh Quynh
25342d71d1 m68k -> M68K, x86 -> X86 2015-09-22 10:00:05 +08:00
Nguyen Anh Quynh
7d8d044b5e Merge pull request #145 from JonathonReinhart/update-readme
change README to markdown, minor edits
2015-09-22 09:58:23 +08:00
danghvu
3c1d65ea66 Reorganize test directories 2015-09-21 20:47:45 -05:00
danghvu
0c67f41ed9 Fix issue #118 2015-09-21 20:30:05 -05:00
Nguyen Anh Quynh
f9dc4dcede test: fix test_x86_64() 2015-09-21 22:56:53 +08:00
Nguyen Anh Quynh
26ee533303 return NULL in memory_mapping() if no memory is mapped. this fixes test_bad_unmap in test_x86.c 2015-09-21 22:17:26 +08:00
Nguyen Anh Quynh
441d15e314 test: correct the input code for test_i386_invalid_mem_read() 2015-09-21 21:45:32 +08:00
Nguyen Anh Quynh
d8c3b44cb6 Merge branch 'unit-testing-framework' of https://github.com/JonathonReinhart/unicorn into JonathonReinhart-unit-testing-framework 2015-09-21 21:08:00 +08:00
Jonathon Reinhart
163e9020c8 test/unit: add test_sanity
This test ensures that the custom uc_assert_xxx() macros are working
as intended.
2015-09-21 08:37:27 -04:00
Jonathon Reinhart
02daa8df46 test/unit: simplify uc_assert_fail() macro
This removes the UC_ASSERT_ERR_ANY constant, which was causing a
compilation error on OSX:

error: comparison of constant 3735928559 with expression of type
'uc_err' (aka 'enum uc_err') is always true
[-Werror,-Wtautological-constant-out-of-range-compare]

I could have probably changed 0xDEADBEEF to a constant < 0x80000000
but this seems cleaner anyway.
2015-09-21 08:37:21 -04:00
Nguyen Anh Quynh
47b904c3ba Merge pull request #139 from JonathonReinhart/unit-testing-framework
[WIP] Unit testing framework
2015-09-21 11:18:59 +08:00
Jonathon Reinhart
07122809b5 test/unit: add test_basic_blocks
This verifies that the basic block callback is working as expected.
2015-09-20 22:45:45 -04:00
Nguyen Anh Quynh
d7d4be25b1 arm64: early check to see if the address of this block is the until address 2015-09-21 10:26:33 +08:00
Jonathon Reinhart
cc1cfb9141 add information about unit tests to COMPILE.txt 2015-09-20 22:16:48 -04:00
Jonathon Reinhart
1be8ef69c8 add 'test' to main Makefile 2015-09-20 22:16:48 -04:00
Jonathon Reinhart
46ee860084 update to new error constants and silence printfs 2015-09-20 22:16:48 -04:00
Jonathon Reinhart
f225584f77 change README to markdown, minor edits 2015-09-20 22:10:51 -04:00
Jonathon Reinhart
7a98fc4e78 add tests to test_x86.c from samples/ 2015-09-20 21:13:22 -04:00
Jonathon Reinhart
c026c23efb add more mem map API tests 2015-09-20 21:13:22 -04:00
Jonathon Reinhart
4dae31b25e add uc_assert_(err|fail) macros 2015-09-20 21:13:22 -04:00