Chris Eagle
8adc8afc63
Java bindings ( #711 )
...
* Remove glib from samples makefile
* support new APIs
* reimplement register batch mode interface
* stop using deprecated java API
2017-01-11 09:27:16 +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
Chris Eagle
21ffaf7d10
Java bindings ( #709 )
...
* Remove glib from samples makefile
* support new APIs
* reimplement register batch mode interface
* stop using deprecated java API
2017-01-06 23:56:53 +08:00
Andrew Dutcher
7bd4d62dcb
Copy prebuilt static library if available. Disallow uploads from builds that fail to provide the static library
2017-01-04 06:45:18 -08:00
Andrew Dutcher
5d8934f5a9
Python: Automatically conform to PEP440 for version numbers
2017-01-04 05:51:55 -08:00
Nguyen Anh Quynh
07aa027167
msvc docs: no longer need libglib. add libpcre as dependency
2017-01-01 23:41:15 +08:00
Nguyen Anh Quynh
9a79d6fe9f
Merge branch 'master' into noglib2
2016-12-27 16:48:23 +08:00
Andrew Dutcher
bf2cd79a4d
Windows: export a static lib that can be used outside of mingw ( #699 )
...
* Windows: export a static lib that can be used outside of mingw
* Add comments to windows_export.bat
2016-12-27 16:30:07 +08:00
Nguyen Anh Quynh
55e61f65e4
python: only preload librt.so on Linux
2016-12-26 15:54:46 +08:00
Nguyen Anh Quynh
4805407fb6
fix python test on Ubuntu 12.04 by preloading librt.so
2016-12-26 15:12:48 +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
me
1d85d1763d
Merge branch 'master' into noglib
2016-12-24 13:21:53 +08:00
Antoine
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
Chris Eagle
e46545f722
remove glib dependency by provide compatible replacements
2016-12-18 14:56:58 -08:00
Nguyen Anh Quynh
bd339533ca
python: comment out a debug code
2016-12-04 20:46:52 +07:00
Nguyen Anh Quynh
4613580e07
python: typo 'prebuilt' dir
2016-12-04 18:18:24 +08:00
Nguyen Anh Quynh
e34812c7dd
fix merge conflict
2016-11-20 16:36:56 +08:00
Nguyen Anh Quynh
2a4c316b6f
python: correct a comment on sample_arm.py
2016-11-19 16:51:08 +08:00
Nguyen Anh Quynh
3543452b06
ruby: update unicorn_const.rb
2016-11-19 16:48:30 +08:00
Andrew Dutcher
188a1d78d3
Allow dlls to be copied out of prebuilt directory
2016-11-17 20:59:39 -08:00
Stephen
9f0cdc4be9
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
2016-11-11 07:45:06 -08:00
Stephen
186540e160
make cleanup
2016-11-06 16:27:24 -08:00
Andrew Dutcher
876570c8d7
Fixes to make python distribution for windows work
2016-11-05 09:18:50 -07:00
Nguyen Anh Quynh
f8e82485da
python: print out _path_list with next line
2016-11-05 01:55:12 +08:00
Nguyen Anh Quynh
88bd6453d5
python: add a debug code to print out _path_list
2016-11-05 01:51:13 +08:00
Nguyen Anh Quynh
d46911d301
Merge pull request #661 from lowlyw/ruby_binding_fix
...
fix signedness issue with reg read/write in ruby bindings
2016-11-02 15:58:59 +08:00
Nguyen Anh Quynh
ffa36b9001
python: remove redundant free() prototype. bug reported by Mahin
2016-11-01 08:57:33 +08:00
Adrian Herrera
eccef31651
[haskell] Added testI386ContextSave function
...
Based on test_i386_context_save function in samples/sample_x86.c
2016-10-31 11:57:13 +01:00
Ryan Hileman
64f4692c22
Go: add context api ( #668 )
2016-10-31 16:00:57 +08:00
Adrian Herrera
19028f41f6
Updates to Haskell bindings ( #667 )
...
* [haskell] Added uc_context_* support
As per issue #662
* [haskell] Updated bindings for commit 4083b87032
Updated for introduction of UC_HOOK_MEM_READ_AFTER.
* [haskell] Style fixes
2016-10-30 10:51:02 +08:00
Nguyen Anh Quynh
4d5738eeb5
python: revert the changes on APIs made by @mrphrazer
2016-10-27 16:45:10 +08:00
Lowly Worm
df497a9502
fix signedness issue with reg read/write in ruby bindings
2016-10-26 00:30:22 -07:00
Tim Blazytko
17fd89a27b
python bindings: updated signed reg fix
2016-10-26 09:13:19 +02:00
Tim Blazytko
632f3aaa71
fixed python bindings signed/unsigned regs/mem
2016-10-25 20:43:01 +02:00
Nguyen Anh Quynh
44ab083d9b
Merge branch 'master' of https://github.com/unicorn-engine/unicorn
2016-10-25 14:38:24 +08:00
Nguyen Anh Quynh
7a1930a879
add UC_VERSION_{MAJOR, MINOR, EXTRA}
2016-10-25 14:37:47 +08:00
Sascha Schirra
2f15e2119d
add new constants
2016-10-22 17:02:46 +02:00
Sascha Schirra
2c82671704
add command to create constants file for ruby
2016-10-22 17:02:35 +02: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
Stephen
bc08bfda67
Unit testing in CI ( #651 )
...
- in appveyor, install clang and cmake in cygwin, enable package upgrades, and build cmocka and enable testing for gcc only
- in `gitignore`, ignore generated cmocka folder
- in travis, use brew in osx to install cmocka, and enable testing for gcc and clang on os x and linux
- in `Makefile`, change to use `uname -s` to determine os type
- make `install-cmocka-linux.sh`, a simple shell script to download and install cmocka on linux
- in `bindings/Makefile`, enable `make -c` to call subdirectory makefiles instead of `cd [dir] && make` and include environment variables for runtime access to generated libraries
- in `samples/Makefile`, change to use `uname -s` to determine os type, remove `clean_bins` from `all` command, and include `Werror` for compile strictness
- in `tests/unit/Makefile`, add `cflags` for compile time access to cmocka headers and library, include execute vars for runtime access to cmocka and unicorn libs
- in `tests/unit/test_tb_x86.c`, comment out assert that would not compile
2016-10-22 00:21:10 +08:00
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
Nguyen Anh Quynh
60a7371ec2
Merge branch 'master' of https://github.com/unicorn-engine/unicorn
2016-09-22 08:46:30 +08:00
Nguyen Anh Quynh
d90ec0e74d
add link to Perl binding
2016-09-22 08:46:25 +08:00
Adrian Herrera
65f1e4d550
[haskell-bindings] Fixed ARM THUMB sample as per issue #638
2016-09-21 09:47:52 +02: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
Nguyen Anh Quynh
95e8dc0fb8
ruby & java: fix address of Thumb sample
2016-09-20 20:16:29 +08:00
esanfelix
7d99b598f1
Fix #638 for python sample too
2016-09-20 10:29:21 +02:00
Luke Nelson
3bc55f9568
Relax transformers constraint for haskell bindings for GHC 8
2016-09-15 19:04:18 -07: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
Nguyen Anh Quynh
236b6e9085
Merge pull request #605 from zchee/readme-ex
...
Fix document file extension
2016-08-08 18:07:46 +08:00
Koichi Shiraishi
adcedea8e4
Fix document file extension
...
Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
2016-08-08 17:33:49 +09: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
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
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
Adrian Herrera
71751cede9
Removed redundant import
2016-06-05 11:10:33 +10:00
Adrian Herrera
a4cdcb7fde
Very minor formatting updates
2016-06-04 15:45:36 +10: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
xorstream
544942cc64
Added MSVC bindings for uc_reg_write_batch() and uc_reg_read_batch() and fixed UC_HOOK_INSN hooking.
2016-05-10 23:29:11 +10:00
Nguyen Anh Quynh
a015ddc348
add link to Rust binding
2016-04-18 10:18:39 +08:00
Adrian Herrera
0a3f83a20c
Small changes to align with hapstone (Haskell bindings for Capstone)
...
Enums now derive bounded and made use of Applicative in Utils module
2016-04-09 00:13:25 +10:00
Nguyen Anh Quynh
023e4375d0
Merge branch 'master' of https://github.com/unicorn-engine/unicorn
2016-04-08 21:42:22 +08:00
Adrian Herrera
87b65d1dda
Small formatting fix
2016-04-08 23:31:13 +10:00
Adrian Herrera
b250d599b9
Removed Haskell build from Makefile - it is better to let cabal take care of this
2016-04-08 20:50:08 +10:00
Adrian Herrera
2b1454468c
On second thought, you only really need to run cabal install
, and that will run all the other intermediate steps for you...
2016-04-08 19:55:29 +10:00
Adrian Herrera
4cbe52a701
Updated Makefile to install bindings (in addition to building)
...
Updated Haskell README to explain how to build the samples
2016-04-08 19:29:43 +10:00
Nguyen Anh Quynh
b53bab1362
haskell: update .gitignore
2016-04-08 17:33:11 +08:00
Nguyen Anh Quynh
689be9356f
haskell: rename TMPDIR in bindings/Makefile to TMP_DIR
2016-04-08 16:39:20 +08:00
Adrian Herrera
34a203d4c9
Updated Haskell README to make it clear that Alex and Happy are required for c2hs
2016-04-08 17:58:11 +10:00
Ryan Hileman
20e089a774
Go bindings: fix HookAdd in sample
2016-04-07 12:09:26 -07:00
Adrian Herrera
8f43bf7ffc
Improved namespacing for MMR record-style data type
2016-04-07 22:34:07 +10:00
Adrian Herrera
8cb77a2a93
Fixed Makefile build step for Haskell bindings
2016-04-07 22:27:38 +10:00
Ryan Hileman
4e9dc1d8e6
fix Go binding C99 regression
2016-04-05 20:02:07 -07:00
Adrian Herrera
431035b335
Fixed some GHC warnings
2016-04-06 09:54:05 +10:00
Adrian Herrera
47f9a0cdac
Added cabal clean, configure and build commands to the bindings Makefile
...
This ensures that c2hs is called when const_generator.py generates code for the
other language bindings
2016-04-06 09:51:45 +10:00
Adrian Herrera
74aaf3b321
Haskell bindings
...
These Haskell bindings make large use of c2hs to generate much of the code, so
Unicorn's const_generator is not used.
The emulator is based on the Either monad transformer. The IO monad is used to
run the underlying Unicorn library, while the Either monad is used to handle
errors.
Instructions on how to build the bindings are located in
bindings/haskell/README.TXT. The same samples found in samples/ can be found
in bindings/haskell/samples. They should produce the same output, with slight
differences in their error handling and messaging.
2016-04-06 09:21:36 +10:00
Ryan Hileman
acd88856e1
add batched reg access
2016-04-04 20:51:38 -07:00
Nguyen Anh Quynh
e79345bfb5
Merge branch 'python-code-cleanup' of https://github.com/jbremer/unicorn into jbremer-python-code-cleanup
2016-03-30 09:55:42 +08: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
5d4fb062d4
set gdt example added
2016-03-27 22:04:33 +02:00
Sascha Schirra
cf1c7ee7ca
sample for sparc added
2016-03-27 21:44:09 +02:00
Sascha Schirra
30d26366f6
sample for mips added
2016-03-27 21:38:46 +02:00
Sascha Schirra
6c54b8e283
sample for m68k added
2016-03-27 21:31:34 +02:00
Sascha Schirra
40c8f0540c
sample for arm64 added
2016-03-27 21:15:45 +02:00
Sascha Schirra
4a10a9f9e4
sample for arm added
2016-03-27 21:00:33 +02:00
Sascha Schirra
813db7aff9
*.gem added
2016-03-27 20:59:56 +02:00
Sascha Schirra
ae979259bd
gem removed
2016-03-27 20:58:38 +02:00
Sascha Schirra
97c39a3a83
Bugfix: remove hook_add call if no insn type is given
2016-03-27 20:58:05 +02:00
Sascha Schirra
ae9e21f9b8
license parameter changed
2016-03-27 18:26:43 +02:00
Nguyen Anh Quynh
5995c95f23
Merge pull request #486 from cseagle/bindings
...
update java bindings to reflect changes in uc_hook_add
2016-03-25 19:07:56 +07:00
Chris Eagle
b63866e30a
update java bindings to reflect changes in uc_hook_add
2016-03-25 02:27:56 -07:00
Nguyen Anh Quynh
c9b36c1b1d
Merge pull request #475 from sashs/master
...
GDT regress test
2016-03-25 10:09:04 +07:00
Ryan Hileman
79ec6145db
expose version from Go bindings
2016-03-24 08:56:44 -07:00
Sascha Schirra
3642c68587
Remove blank line
2016-03-22 18:36:26 +01:00
Nguyen Anh Quynh
16f77061d9
ruby: spaces & indentation
2016-03-22 20:54:51 +08:00
Sascha Schirra
a6b570d033
Version changed
2016-03-22 13:30:52 +01:00
Sascha Schirra
9379d41764
blank lines removed
2016-03-22 13:30:29 +01:00
Sascha Schirra
a9de03edfb
README format changed
2016-03-22 12:26:12 +01:00
Sascha Schirra
04cad5cd8c
README format changed
2016-03-22 12:23:08 +01:00
Sascha Schirra
80b2f45178
README format changed
2016-03-22 12:22:02 +01:00
Sascha Schirra
937b3bc22c
README changed
2016-03-22 12:19:26 +01:00
Sascha Schirra
5e72ce39f0
ruby binding added
2016-03-22 12:17:23 +01:00
Sascha Schirra
25864b589d
Bugfix: uc_x86_mmr has no attribute limits
2016-03-18 07:44:05 +01: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
Nguyen Anh Quynh
d8f82b1b3d
Merge branch 'master' of https://github.com/feliam/unicorn into feliam-master
2016-03-14 09:10:19 +08:00
feliam
23b3f651f9
Indentation
2016-03-10 07:45:36 -03:00
xorstream
c5b123d2d9
Updated MSVC bindings for new and changed functions.
2016-03-10 14:41:11 +11: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
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
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
Chris Eagle
9b8098bf63
file perms
2016-02-07 07:24:34 -08:00
Chris Eagle
84fbe5aa5d
add x86 mmr handling to java binding
2016-02-07 07:23:07 -08:00
Chris Eagle
a5b1ae47c3
remove unnecessary file
2016-02-06 19:19:55 -08:00
Nguyen Anh Quynh
6cdd11e5d8
Merge pull request #427 from cseagle/bindings
...
Bindings
2016-02-07 08:58:50 +08:00
Chris Eagle
ec5998bd02
fix file perms
2016-02-06 15:18:44 -08:00
Chris Eagle
21b9fa860b
fix file perms
2016-02-06 15:18:03 -08:00
Chris Eagle
aa1657006b
implement missing APIs (uc_query, uc_mem_map_ptr, uc_mem_regions) in java binding
2016-02-06 15:16:44 -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
xorstream
8763d426c2
Fix uc_mode usage in source code
2016-01-23 12:08:49 +11:00
enkomio
2c54f1a969
Solution refactoring and bug fixing
2016-01-04 16:59:05 +01:00
enkomio
272fb8524f
Fixed spacing in dotnet comment
2016-01-04 16:55:20 +01:00
enkomio
2952d255c2
Fixed spacing in constants files generation for .NET
2016-01-04 11:31:17 +01:00
enkomio
5d3aac30e6
refactored code and minor bug fixing
2016-01-04 11:30:11 +01:00
enkomio
232cff02d2
Implemented IDisposable in order to disposed allocated unmanaged memory
2016-01-02 14:13:47 +01: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
xorstream
5acb454b7b
Fixed the unicorn_dynload.c version of uc_hook_add() to handle UC_HOOK_MEM_*_PROT and UC_HOOK_MEM_*_UNMAPPED.
2015-12-16 13:46:14 +11:00
xorstream
f68077852f
Fixed includes for moved unicorn_dynload.h file
2015-12-15 17:17:14 +11:00
xorstream
a6a62f6bea
Moved unicorn_dynload.h into bindings dir.
2015-12-10 12:06:57 +11:00
xorstream
c5c13e110a
Added samples projects for MSVC binding.
...
Added MSVC support to unicorn samples.
2015-12-08 18:21:32 +11:00
Ryan Hileman
638ff7a3f5
Go binding: add mem_protect wrapper
2015-12-05 11:24:56 -08:00
Nguyen Anh Quynh
fc54007fab
msvc: code style
2015-12-05 10:55:28 +07:00
xorstream
77f946f2fc
Added MSVC++ support for unicorn
...
This lets you import the pre-built unicorn.dll files with Microsoft
Visual C++ projects.
There is support for static and dynamic linking of dlls. This has been
tested as working for both 32bit and 64bit versions.
The dynamic linking code should also work in Linux, though I have not
tested it.
2015-12-04 22:09:24 +11: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
Nguyen Anh Quynh
fe408b0dc7
bindings: link to Delphi/Pascal binding
2015-11-10 21:00:29 +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
Ryan Hileman
a6ffb71e4c
Go bindings: add Close() and set as GC finalizer
2015-10-30 22:08:35 -07: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
24a7036a87
Merge branch 'master' of https://github.com/unicorn-engine/unicorn
2015-10-26 15:46:20 +08: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
Ryan Hileman
715d5c3557
Go 1.2 binding compatibility
2015-10-25 04:33:10 -07:00
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