d2b7d13443
Fixed circular refs preventing Uc instances from being GC'd. Added a test case, requires objgraph
module.
2017-01-11 18:23:21 +03:00
bc569f5a54
rename API uc_mem_free() to uc_free(). see #662
2017-01-10 20:59:14 +08:00
fdbbdc6216
rename uc_context_free() to uc_mem_free(). see #373
2017-01-09 20:52:14 +08:00
1d85d1763d
Merge branch 'master' into noglib
2016-12-24 13:21:53 +08:00
a7dddf6c5f
python bindings: restore FreeBSD support ( #698 )
...
* python bindings: restore FreeBSD support
* python binding: use libunicorn.so if the platform is unknown
2016-12-24 00:59:19 +08:00
e46545f722
remove glib dependency by provide compatible replacements
2016-12-18 14:56:58 -08:00
bd339533ca
python: comment out a debug code
2016-12-04 20:46:52 +07:00
4613580e07
python: typo 'prebuilt' dir
2016-12-04 18:18:24 +08:00
e34812c7dd
fix merge conflict
2016-11-20 16:36:56 +08:00
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
876570c8d7
Fixes to make python distribution for windows work
2016-11-05 09:18:50 -07:00
f8e82485da
python: print out _path_list with next line
2016-11-05 01:55:12 +08:00
88bd6453d5
python: add a debug code to print out _path_list
2016-11-05 01:51:13 +08:00
ffa36b9001
python: remove redundant free() prototype. bug reported by Mahin
2016-11-01 08:57:33 +08:00
4d5738eeb5
python: revert the changes on APIs made by @mrphrazer
2016-10-27 16:45:10 +08:00
17fd89a27b
python bindings: updated signed reg fix
2016-10-26 09:13:19 +02:00
632f3aaa71
fixed python bindings signed/unsigned regs/mem
2016-10-25 20:43:01 +02:00
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