Commit Graph

498 Commits

Author SHA1 Message Date
Nguyen Anh Quynh
9e64cba6ec Rename some hook related enums:
- UC_ERR_READ_INVALID -> UC_ERR_READ_UNMAPPED
 - UC_ERR_WRITE_INVALID -> UC_ERR_WRITE_UNMAPPED
 - UC_ERR_FETCH_INVALID -> UC_ERR_FETCH_UNMAPPED
 - UC_MEM_READ_INVALID -> UC_MEM_READ_UNMAPPED
 - UC_MEM_WRITE_INVALID -> UC_MEM_WRITE_UNMAPPED
 - UC_MEM_FETCH_INVALID -> UC_MEM_FETCH_UNMAPPED
 - UC_HOOK_MEM_READ_INVALID -> UC_HOOK_MEM_READ_UNMAPPED
 - UC_HOOK_MEM_WRITE_INVALID -> UC_HOOK_MEM_WRITE_UNMAPPED
 - UC_HOOK_MEM_FETCH_INVALID -> UC_HOOK_MEM_FETCH_UNMAPPED
 - UC_HOOK_MEM_INVALID -> UC_HOOK_MEM_UNMAPPED

This also renames some newly added macros to use _INVALID postfix:

 - UC_HOOK_MEM_READ_ERR -> UC_HOOK_MEM_READ_INVALID
 - UC_HOOK_MEM_WRITE_ERR -> UC_HOOK_MEM_WRITE_INVALID
 - UC_HOOK_MEM_FETCH_ERR -> UC_HOOK_MEM_FETCH_INVALID
 - UC_HOOK_MEM_ERR -> UC_HOOK_MEM_INVALID

Fixed all the bindings Java, Go & Python.
2015-09-30 14:46:55 +08:00
Nguyen Anh Quynh
3ca8774f1a arm: properly handle the case when first insn in block is until address 2015-09-30 14:42:08 +08:00
Nguyen Anh Quynh
4a42041a83 handle 'bad ram pointer' case. this fixes issue #159 2015-09-29 18:22:22 +08:00
Nguyen Anh Quynh
976950d3c3 chmod +x tests/regress/bad_ram.py 2015-09-29 15:24:30 +08:00
Nguyen Anh Quynh
283ff544ac Merge pull request #159 from mothran/badram_regress
added bad_ram regress
2015-09-29 13:59:40 +08:00
mothran
0e258b9587 updated a few small errors in the script 2015-09-28 22:50:27 -07:00
mothran
eeebcc5a44 added bad_ram regress 2015-09-28 21:41:38 -07:00
Nguyen Anh Quynh
8b4d274c34 regress: convert some mips tests to use unittest 2015-09-28 11:57:24 +08:00
Nguyen Anh Quynh
2b0b4169bc mips: advance PC for SYSCALL instruction. this fixes issue #157 2015-09-28 10:58:43 +08:00
Nguyen Anh Quynh
0b971a4413 Merge pull request #158 from lunixbochs/master
add regress for #157
2015-09-27 16:29:08 +08:00
Ryan Hileman
13be3435c9 add regress for #157 2015-09-27 01:08:46 -07:00
Nguyen Anh Quynh
53ce8f217d mips: handle delay slot better for branch instructions. this should fix issue #155 2015-09-27 15:05:40 +08:00
Nguyen Anh Quynh
4a2092fa10 Merge pull request #156 from lunixbochs/master
add regress for #155
2015-09-27 13:46:23 +08:00
Nguyen Anh Quynh
5055899514 clarify that UC_HOOK_INTR is also for handling syscall events 2015-09-27 11:29:19 +08:00
Nguyen Anh Quynh
728fe750b9 Merge pull request #140 from cherepanov74/master
Fixes crash on Windows 64bit
2015-09-27 11:10:02 +08:00
Ryan Hileman
4b42b4be52 add regress for #155 2015-09-26 12:48:25 -07:00
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