w4kfu-synacktiv
21ec6e8f83
Add ARM BE8 support ( #1369 )
...
Co-authored-by: w4kfu <gw4kfu@gmail.com>
2021-03-31 21:22:35 +08:00
iGio90
e42e58cd91
Remove deprecated javah and build with javac ( #1360 )
...
Hi, I was having trouble building java bindings on latest ubuntu. I installed jdk8 which has javah but somehow was failing during install (missing compiled classes even if they were in place in unicorn/). I guess mixing with jdk11 pop the issue.
Using javac from most recent jdk works very fine.
2020-12-23 13:28:17 +08:00
Peter Meerwald-Stadler
770d5679c3
Fix some typos in include files ( #1350 )
2020-10-29 11:16:45 +08:00
smeng9
5e4423a419
Update binding list ( #1349 )
2020-10-28 09:47:59 +08:00
LAADHARI
e639d3fc93
FIX java binding compilation #1339 ( #1340 )
2020-10-07 11:43:26 +08:00
lazymio
1044403d38
Implement uc_context_free ( #1336 )
...
* Implement uc_context_free
* Use uc_context_free for python bindings
* Format code
* Simplify code
* Move next,context inside while loop
* Add my name to CREDITS.TXT
2020-09-24 22:28:55 +08:00
lazymio
4441394258
Fix context saving ( #1335 )
...
* Fix context size
* Make UcContext convertible to bytes and picklable
Fix when updaing context
* Test context pickling
* Fix double free when the context is pickled from bytes
2020-09-24 00:53:23 +08:00
☃ Stephen Shkardoon ☃
b1459f7554
Fix failing test caused by removal of UC_ERR_TIMEOUT ( #1305 )
...
Caused by fbef45b18f
.
Now the code assumes if it completes without an error, it was
successful.
2020-09-21 10:37:38 +08:00
chfl4gs
c03f50f76a
Fixing installation on cygwin, Travis-ci cache adjustment ( #1322 )
...
* Adding Travis-CI cmake static
* fix 64-bit fstenv (#1300 )
* fix 64-bit fstenv
* fix fstenv
* safe_zip to false and travis adjustment
* Fixed zip_safe and cygwin setup
Co-authored-by: liangjs <761232680@qq.com>
2020-09-10 10:01:13 +08:00
Nguyen Anh Quynh
564ae2b14a
python: correct a comment on hooking on sample_arm64.py. fix #1292
2020-06-10 17:56:01 +08:00
chfl4gs
9288b4a845
adding pypi workflow ( #1280 )
...
* adding pypi workflow
* PyPI distribution packages workflow
2020-06-06 12:53:31 +08:00
Nguyen Anh Quynh
2e0f753e6f
save cpu->jmp_env in saving context, so uc_emu_start() can be reentrant. also improved Python binding on handling context
2020-06-05 20:12:44 +08:00
Nguyen Anh Quynh
99be837364
python: add long description to setup.py
2020-05-29 11:56:24 +08:00
Nguyen Anh Quynh
fbef45b18f
remove UC_ERR_TIMEOUT, so timeout on uc_emu_start() is not considered error. added UC_QUERY_TIMEOUT to query exit reason
2020-05-24 23:54:45 +08:00
Nguyen Anh Quynh
cf3451c37a
bindings: update ARM64 registers
2020-05-10 21:51:14 +08:00
Dominik Maier
625399774c
X64 base regs ( #1166 )
...
* x86: setup FS & GS base
* Fixed base register writes for x64, removed then for x16/x32 (the don't exist there?)
* FS reg comes before GS so the base regs do so, too
* added shebang to const_generator.py
* Added base regs to and added 'all' support to const_generator
Co-authored-by: naq <aquynh@gmail.com>
2020-05-05 08:34:51 +08:00
Pedro Tammela
18aa2627f7
fix binding install on python2 ( #1231 )
2020-04-24 17:15:12 +08:00
Saagar Jha
d69ebfa55c
Make it easier to link against libunicorn on macOS ( #1195 )
...
Adding @rpath to the install name to make it possible to link against
the library without modifying it with install_name_tool. Copying both
the versioned and unversioned dylibs simplifies linking.
2020-02-12 14:16:34 +08:00
Nguyen Anh Quynh
810bd34eef
python: handle UC_ERR_TIMEOUT, so sample_x86.py behaves like sample_x86.c
2020-01-01 10:11:16 +08:00
Nguyen Anh Quynh
b0d5837c61
bindings: add UC_ERR_TIMEOUT
2019-12-29 00:19:34 +08:00
Audrey Dutcher
3cea38bff7
restrict msbuild to win32 platform ( #1172 )
2019-11-20 00:34:56 +08:00
naq
3b17db0d84
bindings: update after the last commit on adding ARM modes
2019-10-26 05:02:39 +08:00
Audrey Dutcher
fd3ccb2ef7
Python packaging logic for msvc build ( #1151 )
...
* remove bundling of DLLs we no longer need!
* Add logic for building with msvc in python setup
* Also include the msvc build scripts with sdist
2019-10-10 22:00:42 +08:00
naq
355eaecc12
bindings: update after addition of UC_HOOK_INSN_INVALID
2019-09-23 01:54:24 +08:00
Azertinv
07f94ad1fc
Added an invalid instruction hook ( #1132 )
...
* first draft for an invalid instruction hook
* Fixed documentation on return value of invalid insn hook
2019-09-23 01:53:06 +08:00
AeonLucid
c46e745338
Fixes #1143 ( #1144 )
2019-09-16 01:58:08 +08:00
BAYET
8987ad0fff
Handle serialization of cpu context save ( #1129 )
...
* Handle the cpu context save in a more pythonic way, so the context can be serialized and reuse in an other process using the same emulator architecture and modes
* Fix type error ; mistakes a size_t uint64_t ; breaks in 32bit...
2019-09-07 19:09:17 +08:00
Guille Polito
56ac8859b3
Add pharo-unicorn to binding list ( #1110 )
...
* Add pharo-unicorn to binding list
* Add Pharo
2019-07-31 15:56:28 +08:00
kj.xwings.l
24f55a7973
Removed hardcoded CP0C3_ULRI ( #1098 )
...
* activate CP0C3_ULRI for CONFIG3, mips
* updated with mips patches
* updated with mips patches
* remove hardcoded config3
* git ignore vscode
* fix spacing issue and turn on floating point
2019-07-06 17:53:02 +08:00
Lukas Dresel
55d8d073bd
support for YMM registers ymm8-ymm15 ( #1079 )
2019-04-01 11:00:34 +08:00
Jonas
d6d4131873
Added x86Msr functions for the go bindings ( #986 )
2019-03-07 08:39:38 +08:00
Nguyen Anh Quynh
07cafff76a
bindings: update for latest ARM registers addition
2019-03-07 08:38:41 +08:00
Nguyen Anh Quynh
6d47b38b7f
bindings: update after recent addition of ARM_REG_IPSR
2019-02-28 09:56:29 +08:00
Nguyen Anh Quynh
738d102989
bindings: add newly added register MXCSR
2019-02-15 13:01:27 +08:00
kj.xwings.l
8c6cbe3f3c
update python binding samples, shellcode.py with 64bit syscall ( #1052 )
...
* update python binding samples, shellcode.py with 64bit syscall
* fix with quynh comments
* fix with more q comments
* reformatted
* reformatted and moved file
* reformatted and moved file
* delete file
* delete dead code
* deleted more dead code
* deleted more dead code / fix bugs
* fix 64bit eip intno eax
* rearrage rip
* Inconsistent print
2019-01-15 14:57:11 +08:00
Diego Argueta
f243818806
Add Lua binding to README ( #1050 )
...
Closes https://github.com/dargueta/unicorn-lua/issues/1
2018-12-24 17:45:40 +08:00
Brian McKenna
873fffc505
Haskell bindings: use ExceptT instead of deprecated EitherT ( #1034 )
2018-10-25 12:54:35 -03:00
Vladimir Panteleev
2ab9e83703
bindings/README: Add D bindings ( #1010 )
2018-09-11 12:45:07 +08:00
Coldzer0
84220d8360
Pascal/Delphi binding ( #987 )
...
* Pascal/Delphi binding
Pascal/Delphi language binding
* update credits
2018-08-03 20:33:25 +08:00
Duncan Ogilvie
0b3cd70e67
Update dotnet bindings ( #973 )
2018-07-05 21:30:33 +08:00
Disconnect3d
19ffa83d43
Fix naming in Python sample_x86.py ( #961 )
2018-05-07 09:44:27 +08:00
Sebastian Willenborg
9a01ae8379
Fix tests when using go 1.10 ( #949 )
2018-03-21 00:36:37 +08:00
Nguyen Anh Quynh
1f408ce359
java: cleanup Makefile
2018-03-12 13:41:38 +08:00
Jeremy Sears
94b1168776
Fix Java Makefile on Darwin ( #936 )
...
* Fixes the logic for Dylib extensions on macOS.
* Adds an uninstall task and documentation.
2018-03-12 20:40:40 +07:00
Nguyen Anh Quynh
505f926992
link to Crystal binding
2017-12-23 00:26:40 +08:00
Nguyen Anh Quynh
41cc047b87
bindings: update after #922
2017-12-20 22:13:29 +08:00
Stephen
5a117c84ff
add travis testing path ( #930 )
...
closes #927
2017-12-17 19:24:09 +08:00
Sascha Schirra
bc34c36eae
version changed and unicorn.gemspec renamed to unicorn-engine.gemspec ( #915 )
2017-10-27 20:30:01 +08:00
Sascha Schirra
8df86c86a4
changed gem name to unicorn-engine ( #911 )
...
* changed gem name to unicorn-engine
* changed the gem name in Makefile
2017-10-17 00:53:20 +08:00
Andrew Dutcher
12642c2555
Cleanups/fixes for the library issue conglomerate ( #897 )
...
* Python: Disable distribution of static library on linux and macos; add environment variable LIBUNICORN_PATH to let user specify location of native library; prevent build of native library if this option is enabled; closes #869
* Python: Update README.TXT to describe how to manage the building and usage of the native library
2017-09-24 22:33:01 +08:00
Sascha Schirra
13007eb12a
renamed unicorn gem to unicorn-engine ( #895 )
...
* renamed gem unicorn to unicorn-engine
* renamed modules to unicornengine
* renamed Module Unicorn to UnicornEngine and the gem unicorn-engine to unicornengine
* unicornengine -> unicorn_engine
2017-09-19 07:43:21 +07:00
fallenoak
46ae3a042e
Ruby: Support reading and writing x86 FPU stack registers ( #892 )
...
In order to reduce rounding problems from calculations, FPU stack
registers for x86 architectures contain values stored in an
80-bit extended precision format.
As a result, reading and writing to these registers requires
specific handling.
This update brings the Ruby bindings in line with the Python
bindings by supporting reading and writing the FPU stack registers
using 2-element arrays: [mantissa, exponent]
The mantissa array element contains the first 64 bits of the FPU
stack register.
The exponent array element contains the last 16 bits of the FPU
stack register.
2017-09-17 22:44:30 +07:00
Benno Fünfstück
b0b5f8442d
python: Fix exception in finalizer at exit ( #873 )
...
Sometimes, the finalizer for an `UcRef` runs so late that the members of the
module have already been set to `None`. We need to make sure that we don't
depend on anything in the module, or we risk getting a Exception when we try
to access the `release_handle` method of `None` (`Uc`).
2017-09-15 22:21:25 +07:00
Jonas
a893bcf138
Changed constatns in ruby gdt example ( #876 )
...
I think those two numbers are wrong, see http://wiki.osdev.org/Global_Descriptor_Table
2017-08-29 17:03:52 +07:00
Andrew Dutcher
744c34261f
Don't error during sdist if config-host.mak doesn't exist ( #846 )
2017-05-31 11:36:33 +08:00
Sascha Schirra
6d8031eca4
typo fixed: contest_restore -> context_restore ( #843 )
2017-05-23 00:52:34 +08:00
misson20000
9cb64915c7
fix Ruby bindings ( #830 )
...
* fix mem_unmap and query for Ruby bindings
* ruby bindings: fix issues with GC freeing callbacks while we still have references to them
* ruby bindings: add test for garbage collection of hooks
* ruby bindings: let the VM garbage collect hooks properly this time
* ruby bindings: update garbage collection test to make sure Proc is garbage collected after Uc is collected
* ruby bindings: fix m_uc_hook_add to return the ruby VALUE with proper memory management instead of making another one with bad memory management
* ruby bindings: fix cb_hook_intr signature
* add architecture query
* ruby bindings: only treat certain x86 registers specially if we're actually on x86
* only treat certain x86 registers specially if we're actually on x86 (uc_reg_read and uc_reg_write)
* ruby bindings: read and write ARM64's 128-bit NEON registers
2017-05-22 20:46:30 +08:00
misson20000
3fdb2d2442
add architecture query ( #842 )
2017-05-21 09:47:02 +08:00
Fangrui Song
85e0a54e35
Fix Python 3 samples ( #836 )
2017-05-15 09:11:22 +08:00
misson20000
014ccfb94a
Aarch64 add thread registers ( #834 )
...
* add thread registers to AArch64
* update bindings to add AArch64 thread registers
* fix indentation for register read/write switch-case in unicorn_aarch64.c
2017-05-14 14:42:49 +07:00
Ryan Hileman
4b50ca5cec
Go: improve hook callback speed by 30% and add a HOOK_CODE benchmark ( #835 )
...
* add x86 hook benchmark
* Go: improve hook callback speed by 30%
2017-05-14 00:12:57 +07:00
Ryan Hileman
d39c20acfe
Go: fix NewRegBatch([]int{}) ( #831 )
2017-05-12 09:39:04 +07:00
Ryan Hileman
37edadedec
go: add faster RegBatch type ( #822 )
2017-05-06 22:32:35 +08:00
Samuel Groß
5385baba39
Implemented read and write access to the YMM registers ( #819 )
2017-05-05 09:02:58 +08:00
zhangwm
4a62409949
arm64eb: arm64 big endian also using little endian instructions. ( #816 )
...
* arm64eb: arm64 big endian also using little endian instructions.
* arm64: using another example that depends on endians.
example:
1. store a word: 0x12345678
2. load a byte:
* little endian : 0x78
* big endian : 0x12
2017-05-04 20:00:48 +08:00
Ryan Hileman
187b470245
add arm64 CPACR_EL1 register support ( #814 )
2017-05-02 14:51:19 +08:00
David Zimmer
9eebd6daa3
vb bindings remove DYNLOAD ( #812 )
2017-04-27 20:43:47 +08:00
xorstream
fa45a42c76
Removed MSVC binding. ( #808 )
2017-04-27 10:21:04 +08:00
Nguyen Anh Quynh
0109cd6c8a
Merge branch 'master' into a64
2017-04-25 13:00:15 +08:00
Nguyen Anh Quynh
2bd40b9c91
update armeb & arm64eb samples
2017-04-25 12:55:26 +08:00
Nguyen Anh Quynh
09d14704a5
bindings: update after UC_VERSION_EXTRA change
2017-04-25 12:41:00 +08:00
zhangwm
2e973a13f0
arm64eb: add support for ARM64 big endian.
2017-04-24 23:30:01 +08:00
Nguyen Anh Quynh
e917c9de10
Merge branch 'master' into msvc2
2017-04-21 01:17:00 +08:00
Nguyen Anh Quynh
5dbc640b9a
bump UC_VERSION_EXTRA to 1
2017-04-20 14:14:24 +08:00
Nguyen Anh Quynh
7441cfe4e5
Update unicorn.py
...
space
2017-04-18 07:46:12 +08:00
tylerni7
4f07910eae
handle not having a path ( #798 )
2017-04-18 07:44:48 +08:00
Nguyen Anh Quynh
094ca80092
fix conflicts
2017-03-30 12:23:24 +08:00
zhangwm
d2740b17ce
armeb: add C sample for armeb.
2017-03-13 23:19:09 +08:00
zhangwm
d8fe34a2e8
armeb: Add support for ARM big endian.
2017-03-13 22:32:44 +08:00
Nguyen Anh Quynh
c01dcf0a14
fix merge conflicts
2017-03-10 21:04:33 +08:00
feliam
0150ca24b1
Add support for ARM application flags - APSR register ( #776 )
2017-03-09 22:28:03 +08:00
stevielavern
b3a5eae81c
uc_reg_read & uc_reg_write now support ARM64 Neon registers ( #774 )
...
* uc_reg_read & uc_reg_write now support ARM64 Neon registers
* Do not reuse uc_x86_xmm for uc_arm64_neon128. TODO: refactor both classes to use the same parent.
2017-03-07 21:29:34 +08:00
Nguyen Anh Quynh
117b48c33c
bindings: use diff -u in Makefile
2017-02-26 16:52:06 +08:00
Adrian Herrera
c090f198ad
Haskell bindings update ( #767 )
...
* haskell: Properly handle invalid memory access
* haskell: source cleanup
* haskell: added support for batch reg read/write
2017-02-26 09:27:35 +08:00
Nguyen Anh Quynh
f4325f8c4e
bindings: update to support X86 MSR id
2017-02-24 21:51:01 +08:00
Ahmed Samy
02e6c14e12
x86: add MSR API via reg API ( #755 )
...
Writing / reading to model specific registers should be as easy as
calling a function, it's a bit stupid to write shell code and run them
just to write/read to a MSR, and even worse, you need more than just a
shellcode to read...
So, add a special register ID called UC_X86_REG_MSR, which should be
passed to uc_reg_write()/uc_reg_read() as the register ID, and then a
data structure which is uc_x86_msr (12 bytes), as the value (always), where:
Byte Value Size
0 MSR ID 4
4 MSR val 8
2017-02-24 21:37:19 +08:00
Nguyen Anh Quynh
6ea39f7d5a
merge msvc with master
2017-02-24 10:39:36 +08:00
Sascha Schirra
eb4dc61c66
Updated ruby bindings ( #744 )
...
* added methods for uc_context_save, uc_context_restore
* added test for context_save
* changed version of the lib
2017-01-29 08:13:17 +08:00
Nguyen Anh Quynh
b616115df1
update ChangeLog
2017-01-25 12:00:18 +08:00
Nguyen Anh Quynh
a735576dd3
python: support uc_mem_regions() API
2017-01-24 12:47:27 +08:00
xorstream
21c0580d63
Remove old project dir.
2017-01-22 15:50:28 +11:00
xorstream
45cefc2cf6
Sync with current msvc branch.
2017-01-22 15:49:14 +11:00
xorstream
a868ad9dc7
Moved ./bindings/msvc_native into ./msvc
2017-01-22 11:38:48 +11:00
Nguyen Anh Quynh
40434f6081
Update config-host.h
...
msvc: cleanup config-host.h
2017-01-22 04:53:58 +08:00
Nguyen Anh Quynh
5a1e86d46b
update Windows DLL dependency
2017-01-22 00:39:21 +08:00
xorstream
2ae2134402
Added prebuild script to remove generated files and started adding projects for other CPUs. ( #725 )
...
* Changed some MSVC compatibility defines based on MSVC version.
* Added prebuild_script.bat to remove leftover configure generated files before building.
Also added project files and MSVC copies of configure generated files for all supported CPUs.
2017-01-21 23:22:51 +08:00
xorstream
37ac0efcea
Added prebuild_script.bat to remove leftover configure generated files before building.
...
Also added project files and MSVC copies of configure generated files for all supported CPUs.
2017-01-22 01:17:36 +11:00
Nguyen Anh Quynh
17f01469ad
msvc_native: add .gitignore
2017-01-21 18:12:00 +08:00
xorstream
770c5616e2
Automated leading tab to spaces conversion.
2017-01-21 12:28:22 +11:00
xorstream
df41c49e2d
Fixed warning about {} initialisers.
2017-01-21 11:41:11 +11:00
xorstream
429bfca48e
Fixes for MSVC native support to still work with GCC/GNU.
2017-01-21 01:07:10 +11:00
xorstream
00ca6b1a5f
Save copies of generated qapi files.
2017-01-21 00:31:03 +11:00
xorstream
8840d5b42b
Save copies of generated qapi files.
2017-01-21 00:30:50 +11:00
xorstream
fac6a66860
platform.h move #3
2017-01-21 00:13:21 +11:00
xorstream
1aaf57ca54
Some more little edits to prepare for pull request.
2017-01-20 22:46:32 +11:00
xorstream
1fea4e6d87
Some small changes to clean up before pull request.
2017-01-20 22:34:14 +11:00
xorstream
5c7c8375f9
Unicorn interface working with test app in 32bit and 64bit builds 2.
2017-01-20 17:28:14 +11:00
xorstream
002151874a
Unicorn interface working with test app in 32bit and 64bit builds.
2017-01-20 17:27:22 +11:00
xorstream
1aeaf5c40d
This code should now build the x86_x64-softmmu part 2.
2017-01-19 22:50:28 +11:00
xorstream
37f9a248ea
This code should now build the x86_x64-softmmu part.
2017-01-19 22:42:28 +11:00
xorstream
d56d09e5e1
Merge remote-tracking branch 'unicorn-engine/master' into msvc_native
2017-01-16 17:26:12 +11:00
xorstream
940c857987
Started the port for MSVC native support.
2017-01-16 17:21:12 +11:00
Nguyen Anh Quynh
d6ba083c45
update CREDITS.TXT
2017-01-16 09:43:11 +08:00
David Zimmer
523fb9d9fc
VB6 bindings and dynload update w/ uc_context* and uc_free api,… ( #715 )
...
* msvc unicorn.def and dynload.c added new uc_context* and uc_free api, includes support for older dlls compiled with uc_context_free (can remove next binary release)
* vb6 bindings & x86 32bit sample class for unicorn
2017-01-16 09:40:56 +08:00
hedger
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
Nguyen Anh Quynh
6378db99dc
Merge pull request #712 from lunixbochs/go-free-regions
...
go: fix uc_free, free uc_mem_regions pointer
2017-01-11 09:27:45 +08:00
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