Nguyen Anh Quynh
67905ab147
python: rename test_i386_reg_save() to test_i386_context_save()
2016-10-13 20:57:34 +08:00
Andrew Dutcher
bfa51bb5dc
rename another saved regs to saved context
2016-10-11 13:07:53 -07:00
Andrew Dutcher
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
Nguyen Anh Quynh
73577cbcd1
rename uc_regstate_restore to uc_context_restore, uc_context_save to uc_context_save
2016-10-07 10:03:19 +08:00
Nguyen Anh Quynh
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
Andrew Dutcher
e3b0e52013
Rename save/restore functions to match the style of the rest of the API
2016-09-28 21:21:44 -07:00
Riccardo Schirone
c16a13495d
bindings/python: fix install3
2016-09-20 14:22:38 +00:00
Nguyen Anh Quynh
4188c4cbca
Merge branch 'master' into rhelmot-feat/setup_stuff
2016-09-20 21:00:38 +08:00
esanfelix
7d99b598f1
Fix #638 for python sample too
2016-09-20 10:29:21 +02:00
Andrew Dutcher
ac99b5bd14
Minor tweaks to python setup process; update gitignore
2016-09-12 14:06:50 -07:00
Andrew Dutcher
47af3ca190
Remove PKG-INFO make lines left over from the original capstone skeleton
2016-09-12 14:06:20 -07:00
Andrew Dutcher
edd49cd21c
Remove version number from shared library filename packaged with python bindings
2016-09-12 14:06:20 -07:00
Andrew Dutcher
6c042410ae
Basically, make python builds work as expected
2016-09-12 14:06:20 -07:00
Andrew Dutcher
885b809004
Add python bindings for reg save/restore
2016-09-08 14:40:39 -07:00
4577
1f978de447
Remove BUILDDIR-specific code
2016-09-04 08:59:31 +02:00
Andrew Dutcher
41b5aa0bdc
Change xmm struct names, for style and for correctness
2016-08-22 17:29:13 -05:00
Andrew Dutcher
9c720092d3
Add xmm register read/write samples in C and python
2016-08-14 18:45:59 -07:00
Andrew Dutcher
4a8f52ae7f
support xmm registers
2016-08-09 19:34:34 -07:00
starfleetcadet75
12a809624a
Fix issue #603
2016-08-07 23:49:36 -04:00
Andrew Dunham
c87a487fec
Get Python samples running on Python 3
2016-07-29 00:28:43 -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
test'"/script/textarea
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
Jurriaan Bremer
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
Sascha Schirra
25864b589d
Bugfix: uc_x86_mmr has no attribute limits
2016-03-18 07:44:05 +01: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
feliam
23b3f651f9
Indentation
2016-03-10 07:45:36 -03:00
feliam
3038726a5b
Fix
2016-03-09 22:14:51 -03:00
feliam
0a3799eada
FPU control word and tags
2016-03-09 19:14:33 -03:00
feliam
a5f2a64de5
-spaces-
2016-03-09 18:27:59 -03:00
feliam
ff66a72d7b
GDT/LDT/IDT/FPU access from python bingings
2016-03-09 18:07:38 -03:00
Nguyen Anh Quynh
eb5a762452
python: add __version__
2016-03-06 21:21:39 +08:00
Nguyen Anh Quynh
0950f2e18b
python: 0.9 -> 1.0 in setup.py
2016-03-06 17:28:32 +08:00
Nguyen Anh Quynh
bf7dc4293b
python: README -> README.md in setup.py
2016-03-06 17:27:50 +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
Nguyen Anh Quynh
0822c0af85
bump API version to 1.0
2016-02-11 08:05:15 +08:00
Nguyen Anh Quynh
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
McLovi9
7394a9ba30
Add query mode bind
2016-02-06 14:35:31 +01:00
Nguyen Anh Quynh
6986fa3947
x86: add new register enums for IDT, LDT, GDT & TR
2016-02-06 17:35:45 +08:00
cforgeron
de224f1573
- Switch to 'in' which works in 2/3 instead of legacy '.has_key()'
...
- Renamed 'id' variable use (which is a built-in) to my_id.
- Small formatting changes to make it more PEP compliant.
2016-01-31 17:01:14 -04:00
cforgeron
44fa4e29e7
- Added detect for Python 2/3 so the correct iteritems()/iter is called.
...
- Renamed 'id' variable use (which is a built-in) to my_id.
- Small formatting changes to make it more PEP compliant.
2016-01-31 15:09:20 -04: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
876c423dd0
python: support recent change on uc_hook_add() with begin/end params
2016-01-26 23:12:35 +08:00
xorstream
bc0003188e
uc_mode fixes for bindings
2016-01-25 17:42:51 +11: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
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
Willi Ballenthin
5eb75c311e
python bindings: use relative paths for imports to support py3
2015-11-02 09:34:58 -05:00
Willi Ballenthin
197602b806
python README.TXT: clarify working directories
...
clarify in which directory to build the core project and install the python bindings. when i went to install the python bindings, i was momentarily confused why the root Makefile didn't have an `install3` target.
2015-11-01 08:50:06 -05:00
Tim Blazytko
94012558fb
python bindings: added mem_protect
2015-10-28 05:26:09 +01:00
Tim Blazytko
fe2ecdf6f9
python bindings: added mem_unmap
2015-10-28 05:25:36 +01:00
Nguyen Anh Quynh
359055b4ff
python: properly load supporting DLLs in dependency order. this fixes issue #208
2015-10-26 15:46:10 +08:00
Nguyen Anh Quynh
298a942dd1
python: fix DLL loading for Windows
2015-10-19 22:10:05 +08:00
Tim Strazzere
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
Matt
8886553116
Fix typo in register name (Python sample)
...
Register should be `edx` (not `dex`)
2015-10-15 20:40:03 +02:00
Nguyen Anh Quynh
749a25d6d3
python: no installer & PyPI packages available yet
2015-10-15 23:51:31 +08: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
Nguyen Anh Quynh
d93210ad5a
python: better support for Python3 (adapted from Capstone code)
2015-10-04 10:55:29 +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
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
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
danghvu
8c163706e4
Fix issue #113 , untracked reference
2015-09-16 21:33:01 -05: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
548355acca
sparc: do not accept BIGENDIAN mode in samples. more sanity check should be done in the core
2015-09-11 14:02:27 +08: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
Nguyen Anh Quynh
7a5d790ade
rename UC_MEM_EXE to UC_MEM_FETCH
2015-09-08 12:55:56 +08: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
Jonathon Reinhart
291ec98675
python: fix a couple more function signatures
2015-09-03 22:46:43 -04:00
Jonathon Reinhart
99e34d212a
bring python bindings up-to-date with new API
2015-09-03 22:34:58 -04:00
Nguyen Anh Quynh
0962c4822b
cleanup & update bindings' constants
2015-09-04 09:43:31 +08: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
Nguyen Anh Quynh
fcd0d02bae
python: udpate binding after the last change on uc_mem_map() API
2015-08-29 13:17:50 +08:00
Chris Eagle
986096d443
fix file perms
2015-08-28 21:05:38 -07:00
Chris Eagle
94ac0f02e6
file permissions changes
2015-08-28 20:03:36 -07:00
Nguyen Anh Quynh
8aba3170c6
bindings: update consts after the latest change in the core
2015-08-29 09:03:12 +08:00
Nguyen Anh Quynh
10464408a5
Merge branch 'const-gen' of https://github.com/lunixbochs/unicorn into lunixbochs-const-gen
2015-08-29 00:42:38 +08:00
Nguyen Anh Quynh
3f771abe73
python: add sample_all.sh
2015-08-29 00:26:34 +08:00
Ryan Hileman
40ba1ea1b0
improve const generator; emit unicorn.h consts
2015-08-28 07:32:25 -07:00
Kong Nguyen
4d7b7c1d5e
make sample_network_auditing.py runnable
2015-08-26 22:40:41 +08:00
Nguyen Anh Quynh
22b549a4db
x86: add sample for 16bit mode
2015-08-26 09:25:29 +08:00
Nguyen Anh Quynh
783b68c85b
handle SYSCALL for shellcode.py
2015-08-24 15:02:06 +08:00
Nguyen Anh Quynh
60099d1d69
x86: add back 2 registers X86_REG_FCW & X86_REG_FPIP
2015-08-24 13:58:52 +08:00
Nguyen Anh Quynh
d64ef59871
python: update consts after the latest change in the core
2015-08-24 13:16:22 +08:00
mothran
2516de7ed8
renamed m68k enum constants
2015-08-23 21:56:24 -07:00
mothran
1dd3334f87
changed the constants in the newest regression and sample files
2015-08-23 21:51:53 -07:00
mothran
995924176a
Merge branch 'const_rename'
2015-08-23 21:42:02 -07:00
mothran
a167f7c456
renames the register constants so unicorn and capstone can compile together
2015-08-23 21:36:33 -07:00
Nguyen Anh Quynh
033a44361b
python: rename API uc_support to uc_arch_supported
2015-08-24 09:53:16 +08:00
Ryan Hileman
76d8541717
add check for mem_map(size=0) ( #14 )
2015-08-23 14:16:40 -07:00
Nguyen Anh Quynh
e1baf2f36b
x86: support hooking SYSCALL/SYSENTER instructions. we no longer share the SYSCALL callback with interrupt instructions
2015-08-23 01:19:40 +08:00
Ryan Hileman
2dd3983ee3
add syscall test
2015-08-21 18:02:26 -07:00