Commit Graph

39 Commits

Author SHA1 Message Date
7a1930a879 add UC_VERSION_{MAJOR, MINOR, EXTRA} 2016-10-25 14:37:47 +08:00
1ab2154fe5 Change save/restore API to have explicit alloc/free functions. Python has explicit save/update functions. 2016-10-07 11:39:42 -07:00
73577cbcd1 rename uc_regstate_restore to uc_context_restore, uc_context_save to uc_context_save 2016-10-07 10:03:19 +08:00
b7cdbe7a88 Merge branch 'feat/reg_save_restore' of https://github.com/rhelmot/unicorn into rhelmot-feat/reg_save_restore 2016-10-07 09:57:07 +08:00
e3b0e52013 Rename save/restore functions to match the style of the rest of the API 2016-09-28 21:21:44 -07:00
edd49cd21c Remove version number from shared library filename packaged with python bindings 2016-09-12 14:06:20 -07:00
6c042410ae Basically, make python builds work as expected 2016-09-12 14:06:20 -07:00
885b809004 Add python bindings for reg save/restore 2016-09-08 14:40:39 -07:00
41b5aa0bdc Change xmm struct names, for style and for correctness 2016-08-22 17:29:13 -05:00
4a8f52ae7f support xmm registers 2016-08-09 19:34:34 -07:00
12a809624a Fix issue #603 2016-08-07 23:49:36 -04:00
1b957b7b50 Python 3 compatibility: raise unicode exception messages
In order to make exceptions display well with the Python binding on Python 3.x, return exception message as unicode/str rather than str/bytes.
2016-06-30 22:54:35 +02:00
76786850c4 code cleanup of python bindings
Addresses a couple of pep8 related changes improving the code quality.
2016-03-29 16:20:40 +02:00
25864b589d Bugfix: uc_x86_mmr has no attribute limits 2016-03-18 07:44:05 +01:00
23b3f651f9 Indentation 2016-03-10 07:45:36 -03:00
3038726a5b Fix 2016-03-09 22:14:51 -03:00
a5f2a64de5 -spaces- 2016-03-09 18:27:59 -03:00
ff66a72d7b GDT/LDT/IDT/FPU access from python bingings 2016-03-09 18:07:38 -03:00
eb5a762452 python: add __version__ 2016-03-06 21:21:39 +08:00
a7a1dcc661 uc_hook_add(): add begin & end arguments for all hook types. also update Python binding after this change 2016-02-11 08:02:13 +08:00
7394a9ba30 Add query mode bind 2016-02-06 14:35:31 +01:00
876c423dd0 python: support recent change on uc_hook_add() with begin/end params 2016-01-26 23:12:35 +08:00
230cbd5330 add permissions to map_ptr api 2015-11-28 11:28:31 -08:00
18066b3578 support uc_mem_map_ptr in Go and Python bindings 2015-11-27 23:30:36 -08:00
5eb75c311e python bindings: use relative paths for imports to support py3 2015-11-02 09:34:58 -05:00
94012558fb python bindings: added mem_protect 2015-10-28 05:26:09 +01:00
fe2ecdf6f9 python bindings: added mem_unmap 2015-10-28 05:25:36 +01:00
359055b4ff python: properly load supporting DLLs in dependency order. this fixes issue #208 2015-10-26 15:46:10 +08:00
298a942dd1 python: fix DLL loading for Windows 2015-10-19 22:10:05 +08:00
a44b6e1efc Add OSX 10.11 dylib load fix
El Capitan does	not guaranteed that
(DY)LD_LIBRARY_PATH will exist, so force
one last check for the default install
directory that the install script uses.
2015-10-16 17:07:53 -07:00
d93210ad5a python: better support for Python3 (adapted from Capstone code) 2015-10-04 10:55:29 +08:00
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
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
8c163706e4 Fix issue #113, untracked reference 2015-09-16 21:33:01 -05:00
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
291ec98675 python: fix a couple more function signatures 2015-09-03 22:46:43 -04:00
99e34d212a bring python bindings up-to-date with new API 2015-09-03 22:34:58 -04:00
fcd0d02bae python: udpate binding after the last change on uc_mem_map() API 2015-08-29 13:17:50 +08:00
40ba1ea1b0 improve const generator; emit unicorn.h consts 2015-08-28 07:32:25 -07:00