Commit Graph

152 Commits

Author SHA1 Message Date
19ffa83d43 Fix naming in Python sample_x86.py (#961) 2018-05-07 09:44:27 +08:00
41cc047b87 bindings: update after #922 2017-12-20 22:13:29 +08:00
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
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
744c34261f Don't error during sdist if config-host.mak doesn't exist (#846) 2017-05-31 11:36:33 +08:00
3fdb2d2442 add architecture query (#842) 2017-05-21 09:47:02 +08:00
85e0a54e35 Fix Python 3 samples (#836) 2017-05-15 09:11:22 +08:00
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
5385baba39 Implemented read and write access to the YMM registers (#819) 2017-05-05 09:02:58 +08:00
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
187b470245 add arm64 CPACR_EL1 register support (#814) 2017-05-02 14:51:19 +08:00
2bd40b9c91 update armeb & arm64eb samples 2017-04-25 12:55:26 +08:00
2e973a13f0 arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
5dbc640b9a bump UC_VERSION_EXTRA to 1 2017-04-20 14:14:24 +08:00
7441cfe4e5 Update unicorn.py
space
2017-04-18 07:46:12 +08:00
4f07910eae handle not having a path (#798) 2017-04-18 07:44:48 +08:00
d2740b17ce armeb: add C sample for armeb. 2017-03-13 23:19:09 +08:00
d8fe34a2e8 armeb: Add support for ARM big endian. 2017-03-13 22:32:44 +08:00
0150ca24b1 Add support for ARM application flags - APSR register (#776) 2017-03-09 22:28:03 +08:00
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
f4325f8c4e bindings: update to support X86 MSR id 2017-02-24 21:51:01 +08:00
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
b616115df1 update ChangeLog 2017-01-25 12:00:18 +08:00
a735576dd3 python: support uc_mem_regions() API 2017-01-24 12:47:27 +08:00
5a1e86d46b update Windows DLL dependency 2017-01-22 00:39:21 +08:00
d2b7d13443 Fixed circular refs preventing Uc instances from being GC'd. Added a test case, requires objgraph module. 2017-01-11 18:23:21 +03:00
bc569f5a54 rename API uc_mem_free() to uc_free(). see #662 2017-01-10 20:59:14 +08:00
fdbbdc6216 rename uc_context_free() to uc_mem_free(). see #373 2017-01-09 20:52:14 +08:00
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
5d8934f5a9 Python: Automatically conform to PEP440 for version numbers 2017-01-04 05:51:55 -08:00
9a79d6fe9f Merge branch 'master' into noglib2 2016-12-27 16:48:23 +08:00
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
me
1d85d1763d Merge branch 'master' into noglib 2016-12-24 13:21:53 +08:00
a7dddf6c5f python bindings: restore FreeBSD support (#698)
* python bindings: restore FreeBSD support

* python binding: use libunicorn.so if the platform is unknown
2016-12-24 00:59:19 +08:00
e46545f722 remove glib dependency by provide compatible replacements 2016-12-18 14:56:58 -08:00
bd339533ca python: comment out a debug code 2016-12-04 20:46:52 +07:00
4613580e07 python: typo 'prebuilt' dir 2016-12-04 18:18:24 +08:00
e34812c7dd fix merge conflict 2016-11-20 16:36:56 +08:00
2a4c316b6f python: correct a comment on sample_arm.py 2016-11-19 16:51:08 +08:00
188a1d78d3 Allow dlls to be copied out of prebuilt directory 2016-11-17 20:59:39 -08:00
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
186540e160 make cleanup 2016-11-06 16:27:24 -08:00
876570c8d7 Fixes to make python distribution for windows work 2016-11-05 09:18:50 -07:00
f8e82485da python: print out _path_list with next line 2016-11-05 01:55:12 +08:00
88bd6453d5 python: add a debug code to print out _path_list 2016-11-05 01:51:13 +08:00
ffa36b9001 python: remove redundant free() prototype. bug reported by Mahin 2016-11-01 08:57:33 +08:00
4d5738eeb5 python: revert the changes on APIs made by @mrphrazer 2016-10-27 16:45:10 +08:00
17fd89a27b python bindings: updated signed reg fix 2016-10-26 09:13:19 +02:00
632f3aaa71 fixed python bindings signed/unsigned regs/mem 2016-10-25 20:43:01 +02:00
7a1930a879 add UC_VERSION_{MAJOR, MINOR, EXTRA} 2016-10-25 14:37:47 +08:00