misson20000
3fdb2d2442
add architecture query ( #842 )
2017-05-21 09:47:02 +08:00
misson20000
014ccfb94a
Aarch64 add thread registers ( #834 )
...
* add thread registers to AArch64
* update bindings to add AArch64 thread registers
* fix indentation for register read/write switch-case in unicorn_aarch64.c
2017-05-14 14:42:49 +07:00
Ryan Hileman
4b50ca5cec
Go: improve hook callback speed by 30% and add a HOOK_CODE benchmark ( #835 )
...
* add x86 hook benchmark
* Go: improve hook callback speed by 30%
2017-05-14 00:12:57 +07:00
Ryan Hileman
d39c20acfe
Go: fix NewRegBatch([]int{}) ( #831 )
2017-05-12 09:39:04 +07:00
Ryan Hileman
37edadedec
go: add faster RegBatch type ( #822 )
2017-05-06 22:32:35 +08:00
Ryan Hileman
187b470245
add arm64 CPACR_EL1 register support ( #814 )
2017-05-02 14:51:19 +08:00
Nguyen Anh Quynh
09d14704a5
bindings: update after UC_VERSION_EXTRA change
2017-04-25 12:41:00 +08:00
Nguyen Anh Quynh
5dbc640b9a
bump UC_VERSION_EXTRA to 1
2017-04-20 14:14:24 +08:00
Nguyen Anh Quynh
f4325f8c4e
bindings: update to support X86 MSR id
2017-02-24 21:51:01 +08:00
Nguyen Anh Quynh
b616115df1
update ChangeLog
2017-01-25 12:00:18 +08:00
Ryan Hileman
ab3828222a
go: fix uc_free, free uc_mem_regions pointer
2017-01-10 16:54:54 -05: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
Nguyen Anh Quynh
7287f2a82f
Go: fix Travis test on Mac
2016-12-25 18:40:23 +08:00
Nguyen Anh Quynh
af4c29c57f
Go: attempt to fix compilation issue on missing clock_gettime()
2016-12-25 01:34:59 +08:00
Chris Eagle
e46545f722
remove glib dependency by provide compatible replacements
2016-12-18 14:56:58 -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
Ryan Hileman
64f4692c22
Go: add context api ( #668 )
2016-10-31 16:00:57 +08:00
Nguyen Anh Quynh
7a1930a879
add UC_VERSION_{MAJOR, MINOR, EXTRA}
2016-10-25 14:37:47 +08:00
Nguyen Anh Quynh
4083b87032
add new hook type UC_HOOK_MEM_READ_AFTER, adapted from PR #399 by @farmdve. updated all bindings, except Ruby & Haskell
2016-10-22 11:19:55 +08:00
Ryan Hileman
5ade2fa627
Go bindings: fix concurrent hook updates
2016-07-27 05:16:12 -07: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
Ryan Hileman
5fd4c8719d
improve go binding memory leaks
2016-05-28 16:02:12 -07:00
coco
4021b635b1
fixed go bindings typo
2016-05-10 23:18:08 +02:00
Ryan Hileman
20e089a774
Go bindings: fix HookAdd in sample
2016-04-07 12:09:26 -07:00
Ryan Hileman
4e9dc1d8e6
fix Go binding C99 regression
2016-04-05 20:02:07 -07:00
Ryan Hileman
acd88856e1
add batched reg access
2016-04-04 20:51:38 -07:00
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
Ryan Hileman
cb09df3027
fix invalid memory hook in Go bindings
2015-08-29 09:42:36 -07:00
Ryan Hileman
e2036424c1
improve Go binding safety
2015-08-29 08:33:20 -07:00
Nguyen Anh Quynh
15f6da1c3a
bindings: update UC_MODE_BIG_ENDIAN after the change in the core
2015-08-29 15:10:33 +08:00
Ryan Hileman
59f4722009
update Go bindings for new mem_map API
2015-08-28 23:12:44 -07:00
Nguyen Anh Quynh
0c78613612
Go: update some consts after the last change on uc_mem_map() API
2015-08-29 13:18:22 +08:00
Nguyen Anh Quynh
8aba3170c6
bindings: update consts after the latest change in the core
2015-08-29 09:03:12 +08:00
Ryan Hileman
40ba1ea1b0
improve const generator; emit unicorn.h consts
2015-08-28 07:32:25 -07:00
Ryan Hileman
c5bcb02847
add Go bindings
2015-08-27 21:22:30 -07:00