Commit graph

164 commits

Author SHA1 Message Date
Nguyen Anh Quynh 80a286cf8a python: handle UC_ERR_TIMEOUT, so sample_x86.py behaves like sample_x86.c
Backports commit 810bd34eef41078ca840be2e2ad82d762cb26fa5 from unicorn
2020-01-14 09:53:10 -05:00
Nguyen Anh Quynh 8259d76c6c bindings: add UC_ERR_TIMEOUT
Backports commit b0d5837c61c4bdd91106c355c8af730929f5a78f from unicorn
2020-01-14 09:47:35 -05:00
naq 2a47d652a6 bindings: update after the last commit on adding ARM modes
Backports commit 3b17db0d84a2a73deb064e00966edd71338b0321 from unicorn.
2020-01-14 09:39:24 -05:00
Azertinv a22641c4be Added an invalid instruction hook (#1132)
* first draft for an invalid instruction hook

* Fixed documentation on return value of invalid insn hook

Backports commit 07f94ad1fc62293cac330df9714d739be6354926 from unicorn
2020-01-14 09:15:54 -05:00
AeonLucid 2d8117a0f1 Fixes #1143 (#1144)
Backports commit c46e745338f880a7991adcd53b683722a5d52ad2 from unicorn.
2020-01-14 09:08:41 -05:00
BAYET bcef414231 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...

Backports commit 8987ad0fffadd16669aa3b402e7e8aaab70ad700 from qemu
2020-01-14 09:02:53 -05:00
kj.xwings.l 038b4f3345
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

Backports most of commit 24f55a7973278f20f0de21b904851d99d4716263 from
unicorn. Ignores internal core modifications, as this would be
special-casing non-upstreamed behavior.
2019-08-08 20:08:57 -04:00
Lukas Dresel 4b94a8cc44
support for YMM registers ymm8-ymm15 (#1079)
Backports 55d8d073bd80935e807289ae2ff6161145a2afb6 from qemu
2019-04-16 06:35:41 -04:00
Nguyen Anh Quynh 7cad644235
bindings: update for latest ARM registers addition
Backports commit 07cafff76a3093376755e61124124f6f593d64c9 from unicorn
2019-03-08 02:27:24 -05:00
Disconnect3d 68e17c03dc
Fix naming in Python sample_x86.py (#961)
Backports commit 19ffa83d4353af8834c4c55590ca2ecd357a6bbe from unicorn.
2019-02-28 17:01:10 -05:00
kj.xwings.l 15d52aefbe
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

Backports commit 8c6cbe3f3cabed57b23b721c29f937dd5baafc90 from unicorn.
2019-02-28 16:47:23 -05:00
Nguyen Anh Quynh 7bb8554242
bindings: update after recent addition of ARM_REG_IPSR
Backports 6d47b38b7f8b6de0ee96a93a91180fafe2f01525 from unicorn
2019-02-28 16:44:43 -05:00
Nguyen Anh Quynh 8c8852b914
bindings: add newly added register MXCSR
Backports commit 738d10298952d195799ce16721feffe5cb8f07bb from unicorn.
2019-02-28 16:34:51 -05:00
Nguyen Anh Quynh 41cc047b87 bindings: update after #922 2017-12-20 22:13:29 +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
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
Andrew Dutcher 744c34261f Don't error during sdist if config-host.mak doesn't exist (#846) 2017-05-31 11:36:33 +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
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
Nguyen Anh Quynh 2bd40b9c91 update armeb & arm64eb samples 2017-04-25 12:55:26 +08:00
zhangwm 2e973a13f0 arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +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
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
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 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 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
Nguyen Anh Quynh 5a1e86d46b update Windows DLL dependency 2017-01-22 00:39:21 +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 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
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 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
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