Commit Graph

312 Commits

Author SHA1 Message Date
Nguyen Anh Quynh
298a942dd1 python: fix DLL loading for Windows 2015-10-19 22:10:05 +08:00
Nguyen Anh Quynh
1ee7544d84 Merge pull request #203 from lunixbochs/master
add MemUnmap to Go bindings
2015-10-19 08:26:17 +08:00
Ryan Hileman
716cbd78e9 add MemUnmap to Go bindings 2015-10-18 12:21:43 -07:00
Nguyen Anh Quynh
30858032a0 Merge pull request #195 from strazzere/master
Add OSX	10.11 dylib load fix
2015-10-17 11:05:45 +08:00
Nguyen Anh Quynh
56a7b0246c Merge pull request #194 from lunixbochs/master
fix #192 (outdated enums in Go test)
2015-10-17 10:03:12 +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
Ryan Hileman
e45d225d69 fix #192 (outdated enums in Go test) 2015-10-16 12:21:38 -07:00
Antonio Parata
d92bee414d Implemented exception as error management mechanism and removed the error codes 2015-10-16 17:43:56 +02:00
Ryan Hileman
c41294d45d fix sample.go 2015-10-16 05:59:55 -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
Antonio Parata
d2f487485c Refactored test project 2015-10-15 12:03:23 +02:00
Antonio Parata
c0ba09e0b8 Implemented uc_strerror and minor refactoring 2015-10-15 11:24:20 +02:00
Nguyen Anh Quynh
03b2fbfbcb enable gen_const for .NET in bindings/Makefile 2015-10-15 16:23:14 +08:00
Nguyen Anh Quynh
7dae96c428 Merge branch 'master' of https://github.com/enkomio/unicorn into enkomio-master 2015-10-15 16:17:41 +08:00
Nguyen Anh Quynh
83bdfa357b add bindings/README 2015-10-15 16:14:36 +08:00
Chris Eagle
4720322711 Add README.TXT for java bindings 2015-10-14 16:50:50 -07:00
Antonio Parata
59c3f1b315 Generated constants file via python script 2015-10-14 16:34:10 +02:00
Antonio Parata
a45bc0c8cd Refactored in order to be independent from the OS path separator, also added support for .net constants generation 2015-10-14 16:32:31 +02:00
Antonio Parata
c1423332d4 Fixed typo and minor code refactoring 2015-10-14 15:05:18 +02:00
Antonio Parata
7a105c495b First dotnet binding commit 2015-10-14 10:55:50 +02: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
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
Chris Eagle
347a01d6b5 spaces to tabs in Makefile 2015-09-25 00:20:02 -07:00
Chris Eagle
0e680fbafa Hack to make gen_const work even if java not installed 2015-09-24 22:45:59 -07:00
Chris Eagle
25f85ae1dd file permissions 2015-09-24 21:27:57 -07:00
Chris Eagle
a21772ad37 Cause java constnats to get updated by bindings Makefile 2015-09-24 21:26:54 -07:00
Chris Eagle
f65ba7fb69 Merge branch 'master' into java_dev 2015-09-24 09:48:44 -07:00
Chris Eagle
4ebc876bd1 file permissions 2015-09-24 09:47:06 -07:00
Chris Eagle
4297ba4310 additional update to handle new hooking macros 2015-09-24 09:41:49 -07:00
Chris Eagle
14a71b5546 update java bindings for new memory event hooking constants 2015-09-24 04:33:02 -07: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
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
Ryan Hileman
9a0d80b84c refactor Go bindings to be more idiomatic 2015-09-08 00:04:27 -07:00
Nguyen Anh Quynh
fda17cd377 java: rename UC_MEM_EXE to UC_MEM_FETCH 2015-09-08 12:57:40 +08: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
Chris Eagle
1843a96321 update jave binding to follow apit change of uc_mem_read and uc_mem_write 2015-09-07 14:12:43 -07:00
Ryan Hileman
70c42731c2 update go bindings for type changes 2015-09-05 06:56:11 -07:00
Nguyen Anh Quynh
99824e1d56 bindings: rename uchook to uc_hook, ucengine to uc_engine, uc_hook_t to uc_hook_type 2015-09-05 11:25:49 +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
Chris Eagle
a53eae3a29 Merge branch 'master' into java_dev 2015-09-03 22:34:00 -07:00
Chris Eagle
b3b814e8b1 update java bindings for type safety and API changes 2015-09-03 22:28:09 -07: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
Chris Eagle
bae718274e Merge branch 'master' into java_dev 2015-09-03 20:30:31 -07: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
Ryan Hileman
f230de876e fix go binding hook arguments 2015-09-02 20:00:13 -07:00
Chris Eagle
1f9b799ed3 Update java api to include mem_unmap and mem_protect 2015-08-31 03:09:57 -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
Nguyen Anh Quynh
6d8e5b32f4 Merge pull request #72 from cseagle/java_dev
Java dev
2015-08-29 15:09:16 +08:00
Chris Eagle
27d5c7ec48 Fix perms 2015-08-28 23:33:49 -07:00
Chris Eagle
c24944cfa9 Fix capitalization for unicorn.h mapping in java and go binding 2015-08-28 23:33:38 -07:00
Chris Eagle
52b04f5939 Fix perms 2015-08-28 23:31:15 -07:00
Chris Eagle
72d69d5d38 Fix capitalization for unicorn.h mapping in java binding 2015-08-28 23:29:59 -07:00
Ryan Hileman
59f4722009 update Go bindings for new mem_map API 2015-08-28 23:12:44 -07:00
Chris Eagle
4e1cb3afde pre-pull cleanup 2015-08-28 23:07:52 -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
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
e29cdbe867 File permissions 2015-08-28 20:56:16 -07:00
Chris Eagle
1d6bd17a13 Update java bindings for new version of uc_mem_map 2015-08-28 20:54:05 -07:00
Chris Eagle
94ac0f02e6 file permissions changes 2015-08-28 20:03:36 -07:00
Chris Eagle
65787d415a rename uc_mem_map_ex to uc_mem_map and all associated changes 2015-08-28 20:02:21 -07:00
Chris Eagle
49f9f81079 First pass of const_generator still requires manual tweak of UC_MODE_BIG_ENDIAN 2015-08-28 19:43:45 -07:00
Chris Eagle
1a081c5ed8 Initial changes to support use of const_generator.py 2015-08-28 19:41:13 -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
Ryan Hileman
c5bcb02847 add Go bindings 2015-08-27 21:22:30 -07:00
Nguyen Anh Quynh
2fcc8528ae chmod -x SampleNetworkAuditing.java 2015-08-27 10:47:49 +08:00
Chris Eagle
5ff5577aaa Port sample_network_auditing.py to java 2015-08-26 19:41:37 -07:00
Nguyen Anh Quynh
8aedc1b5d5 Merge pull request #53 from tacoxnguyen/master
make sample_network_auditing.py runnable
2015-08-27 00:06:14 +08:00
Nguyen Anh Quynh
9e929ca2f3 Merge branch 'master' of https://github.com/cseagle/unicorn into cseagle-master 2015-08-26 23:37:41 +08:00
Kong Nguyen
4d7b7c1d5e make sample_network_auditing.py runnable 2015-08-26 22:40:41 +08:00
Jonathon Reinhart
60d0004329 remove executable bit from mode of source files
http://stackoverflow.com/questions/1580596/how-do-i-make-git-ignore-file-mode-chmod-changes
2015-08-26 05:34:31 -04:00
Chris Eagle
9023e77201 Fixed bug introduced in uc_mem_map 2015-08-26 00:26:42 -07:00
Chris Eagle
c1514609b1 Add missing line from upstream patch 2015-08-25 21:22:58 -07:00
Chris Eagle
e280088caf Add 16-bit example, tracking upstream 2015-08-25 21:01:48 -07:00
Nguyen Anh Quynh
22b549a4db x86: add sample for 16bit mode 2015-08-26 09:25:29 +08:00
Chris Eagle
fafdac516a Make a bad Makefile slightly less bad 2015-08-25 11:41:14 -07:00
Chris Eagle
0359c44462 Initial checkin of unicorn java binding 2015-08-25 03:21:47 -07: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
Nguyen Anh Quynh
344d016104 import 2015-08-21 15:04:50 +08:00