Commit Graph

58 Commits

Author SHA1 Message Date
Ryan Hileman
79ec6145db expose version from Go bindings 2016-03-24 08:56:44 -07:00
Ryan Hileman
2a9a794bff tweak Go bindings for 32-bit 2016-03-14 17:44:02 -07:00
Nguyen Anh Quynh
28b94d10b8 bindings: add X86 FPTAGS & FPCW registers after recent change in the core 2016-03-14 09:14:48 +08:00
Nicolas PLANEL
2031f7cbdd [query] update bindings UC_QUERY_PAGE_SIZE
Signed-off-by: Nicolas PLANEL <nplanel@redhat.com>
2016-03-04 15:54:24 +11:00
Ryan Hileman
4f1c88e70c Go: add RegReadMmr and test 2016-02-28 12:01:24 -08:00
Ryan Hileman
43eb9ec351 Go: add uc_query api 2016-02-27 11:15:06 -08:00
Ryan Hileman
9f1603c157 Go: add MemRegions 2016-02-27 11:10:15 -08:00
Ryan Hileman
74f783a274 Go: add x86 RegWriteMmr method 2016-02-27 10:56:04 -08:00
Ryan Hileman
475c8de3de Go: update test hooks 2016-02-27 10:56:04 -08:00
Ryan Hileman
693719e732 Go: update hook interface 2016-02-27 10:55:59 -08:00
Nguyen Anh Quynh
0822c0af85 bump API version to 1.0 2016-02-11 08:05:15 +08:00
Nguyen Anh Quynh
6986fa3947 x86: add new register enums for IDT, LDT, GDT & TR 2016-02-06 17:35:45 +08:00
Nguyen Anh Quynh
a2ef52172c add combination hook type UC_HOOK_MEM_VALID to intercept all valid memory access 2016-01-31 13:12:34 +08:00
Nguyen Anh Quynh
9ec2163571 bindings: add UC_MODE_PPC32 constant after recent update on unicorn.h 2016-01-24 20:50:26 +08:00
Nguyen Anh Quynh
6f3d48077e rename UC_QUERY_ARM_MODE to a more generic name UC_QUERY_MODE. make all bindings support this new constant 2016-01-24 01:08:23 +08:00
Nguyen Anh Quynh
d79925f477 sparc: add SPARC32 mode (= UC_MODE_32) 2016-01-23 10:48:18 +08:00
Nguyen Anh Quynh
ca79d11211 bindings: update constants after recent changes in unicorn.h 2016-01-23 10:31:16 +08:00
Ryan Hileman
c0eabddef3 add binding support for Go 1.6beta1 (fix #326) 2015-12-18 07:42:11 -08:00
Nguyen Anh Quynh
771f9f7c3b fix conflicts when merging map-ptr branch to master branch 2015-12-17 08:12:02 +08:00
Ryan Hileman
638ff7a3f5 Go binding: add mem_protect wrapper 2015-12-05 11:24:56 -08:00
Ryan Hileman
230cbd5330 add permissions to map_ptr api 2015-11-28 11:28:31 -08:00
Ryan Hileman
18066b3578 support uc_mem_map_ptr in Go and Python bindings 2015-11-27 23:30:36 -08:00
Nguyen Anh Quynh
2f297bdd3a handle some errors properly so avoid exit() during initialization. this fixes issue #237 2015-11-12 01:43:41 +08:00
Ryan Hileman
a6ffb71e4c Go bindings: add Close() and set as GC finalizer 2015-10-30 22:08:35 -07:00
Ryan Hileman
715d5c3557 Go 1.2 binding compatibility 2015-10-25 04:33:10 -07:00
Ryan Hileman
716cbd78e9 add MemUnmap to Go bindings 2015-10-18 12:21:43 -07:00
Ryan Hileman
e45d225d69 fix #192 (outdated enums in Go test) 2015-10-16 12:21:38 -07:00
Ryan Hileman
c41294d45d fix sample.go 2015-10-16 05:59:55 -07:00
Ryan Hileman
1bb4d6685c add Go README and sample.go 2015-10-13 19:41:55 -07:00
Nguyen Anh Quynh
b1d41d414b on some hook events, uc_hook_add() should not allow more than 1 handler. this add UC_ERR_HOOK_EXIST error type 2015-10-10 18:01:47 +08:00
Ryan Hileman
7e7c6512f5 add composite const generator (fix #161) 2015-10-03 10:41:19 -07:00
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
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
fe807952d0 bindings: update Sparc registers after the last core change 2015-09-15 14:17:57 +07:00
Nguyen Anh Quynh
39ac1bcb4e rename UC_ERR_INVAL to UC_ERR_ARG 2015-09-09 16:54:47 +08:00
Nguyen Anh Quynh
d7ef204398 rename error codes ERR_MEM_READ, ERR_MEM_WRITE, ERR_MEM_FETCH 2015-09-09 16:25:48 +08:00
Nguyen Anh Quynh
d3d38d3f21 handle read/write/fetch from unaligned addresses. this adds new error codes UC_ERR_READ_UNALIGNED, UC_ERR_WRITE_UNALIGNED & UC_ERR_FETCH_UNALIGNED 2015-09-09 15:52:15 +08:00
Ryan Hileman
9a0d80b84c refactor Go bindings to be more idiomatic 2015-09-08 00:04:27 -07:00
Nguyen Anh Quynh
7a5d790ade rename UC_MEM_EXE to UC_MEM_FETCH 2015-09-08 12:55:56 +08:00
Ryan Hileman
7beb90ca95 remove UC_ prefix for go binding consts 2015-09-07 19:25:13 -07:00
Ryan Hileman
185b7a7cef fix Go types on uc_mem_read() and uc_mem_write() 2015-09-07 19:25:04 -07:00
Ryan Hileman
70c42731c2 update go bindings for type changes 2015-09-05 06:56:11 -07:00
Nguyen Anh Quynh
d1bdbd11e7 rename uchook to uc_hook, ucengine to uc_engine, uc_hook_t to uc_hook_type 2015-09-05 11:20:32 +08:00
Nguyen Anh Quynh
022f8d82d1 handle memory fetch as invalid memory access. now we can also report error if exec memory is unmapped (UC_ERR_MEM_FETCH) 2015-09-04 11:55:17 +08:00
Nguyen Anh Quynh
7ceb2eb0b9 bindings: update constants after the recent changes in the core 2015-09-04 10:54:21 +08:00
Nguyen Anh Quynh
0962c4822b cleanup & update bindings' constants 2015-09-04 09:43:31 +08:00
Ryan Hileman
f230de876e fix go binding hook arguments 2015-09-02 20:00:13 -07:00
Ryan Hileman
ac1fc4d631 add missing interrupt hook for Go bindings 2015-08-30 15:53:06 -07:00
Ryan Hileman
f83ddf5ad4 clean up Go binding hook types 2015-08-30 15:52:50 -07:00