Commit Graph

2158 Commits

Author SHA1 Message Date
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
chfl4gs 21235916b9
removing testpypi (#1332)
* 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

* Removing testpypi

Co-authored-by: liangjs <761232680@qq.com>
2020-09-22 03:36:07 +08:00
Nguyen Anh Quynh 6c63235ebe be ready for 1.0.2-rc5 2020-09-22 02:11:43 +08:00
lazymio 644da9babc
Fix setjmp/longjmp on native Windows (#1331)
* Add setjmp wrapper

* Add to projects

* Use wrapper on x64

* Always build on x64 and exclude on win32

* Fix signature

* Add comments

* Add comments for os-win32.h

* Add extern decleration

* Support cmake Windows build

* Fix for MinGW
2020-09-22 02:02:43 +08:00
liangjs 225f6f2889
Return 'indefinite integer value' for invalid SSE fp->int conversions (#1306)
Merge from qemu commit 1e8a98b53867f61da9ca09f411288e2085d323c4.
1e8a98b538
2020-09-21 10:39:00 +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
mogoreanu 748aceb760
Add qemu_ prefix to bitmap_set and bitmap_clear to avoid conflicts. (#1326)
When unicorn and systemd are combined into a single binary the 2
libraries conflict on bitmap_set and bitmap_clear functions which breaks
unicorn.

Co-authored-by: Nicolae Mogoreanu <mogo@google.com>
2020-09-16 17:09:10 +08:00
Sunho Kim abe452babc
Fix enabled hooks even after deleting them (#1315) 2020-09-10 10:03:36 +08:00
lazymio c1c0baec7d
Fix IP value for UC_MODE_16 (#1321) 2020-09-10 10:02:22 +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
h01G3r a9025c58a4
fixes an issue with ARM APSR register handling: (#1317)
- Q flag / GE flag were not included in APSR register (read/write)
  - UC_ARM_REG_APSR_NZCV register constant was ignored completely.
  - regression test added
2020-08-20 23:24:04 +08:00
liangjs 3134f33029
fix 64-bit fstenv (#1300)
* fix 64-bit fstenv

* fix fstenv
2020-06-28 01:43:14 +08:00
chfl4gs a8a6a3fa9a
PyPI test check (#1296)
* Adding Travis-CI cmake static

* adding pypi test
2020-06-14 01:46:10 +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
Nguyen Anh Quynh 7ea04acbdc fix some uninitialized vars in fpu 2020-06-07 11:22:18 +08:00
chfl4gs 535143ae5a
Fixing minor typo on PyPI distribution workflow (#1286)
* Adding Travis-CI cmake static

* Fix minor typo on PyPI workflow config
2020-06-07 01:09:30 +08:00
John Zimmermann 590bab8f1a
cmake: fix build if workdir is outside of CMAKE_BINARY_DIR (#1284)
this e.g. happens if you would try to compile this like this:

cmake -B build
cmake --build build --config Release
2020-06-06 12:54:06 +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
Dominik Maier a4784cc96c
fix error handling of mmap() calls (#1283) 2020-06-05 10:30:23 +08:00
scribam ad80f042c4
cmake: add ARCHIVE rule to the install command (#1282) 2020-06-05 10:27:41 +08:00
chfl4gs 10f0562796
Adding Travis-CI cmake static (#1279) 2020-06-04 15:40:11 +08:00
John Zimmermann 605cfe8e02
cmake: fix static linking due to cyclic deps (#1278)
linking of samples like sample_arm do fail due to cyclic references in
the archives
2020-06-04 15:38:40 +08:00
scribam 5508d3aa32
cmake: fix typo "UNICRON" => "UNICORN" (#1277) 2020-06-03 10:13:32 +08:00
scribam db3235a65b
cmake: fix Visual Studio build (#1276) 2020-06-02 16:04:33 +08:00
scribam 582e6968fd
cmake: add option to build unicorn as a static library (#1275) 2020-06-01 00:00:07 +08:00
Nguyen Anh Quynh 99be837364 python: add long description to setup.py 2020-05-29 11:56:24 +08:00
Nguyen Anh Quynh 934b04884e ChangeLog 2020-05-29 01:20:12 +08:00
Nguyen Anh Quynh e55909cec4 ChangeLog for 1.0.2-rc4 2020-05-29 01:02:46 +08:00
chfl4gs 2d75bc0aab make header for make related builds (#1268)
* Travis-CI Migration (#1230)

* Travis-CI Migration

* Travis-CI addition cmake Linux

* Travis-CI cmake fix

* Travis-CI Arm64 build

* make header for make related build
2020-05-27 16:20:39 +08:00
Nguyen Anh Quynh 20a22fd65e .gitignore 2020-05-27 15:02:17 +08:00
Catena cyber 71a4ab4a6f
Removes some bugs found by oss-fuzz (#1266)
Leak on breakpoints
Undefined shift in ARM
2020-05-26 20:52:40 +08:00
Nguyen Anh Quynh a143929942 ready for 1.0.2-rc4 2020-05-26 18:02:33 +08:00
BrunoPujos 6cad700b69
fix recursive UC_HOOK_MEM callbacks for cross pages access (#1113)
Co-authored-by: bruno <bruno>
Co-authored-by: Nguyen Anh Quynh <aquynh@gmail.com>
2020-05-25 16:22:28 +08:00
Nguyen Anh Quynh ac68fd441d fix test_x86.c 2020-05-25 00:04:07 +08:00
Nguyen Anh Quynh ef5e083c4d Merge branch 'master' of github.com:unicorn-engine/unicorn 2020-05-24 23:56:50 +08:00
Nguyen Anh Quynh 3a2ad04f2b refine comments on UC_QUERY_TIMEOUT 2020-05-24 23:56:35 +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
Catena cyber 690ada5f6a
Oss-fuzz ideal integration (#1265)
* Adds oss-fuzz badge

* Generic fix for watchpoints leak
2020-05-23 09:59:30 +08:00
Chen Huitao 17cfef0e56
fix some oss-fuzz (#1259)
* fix oss-fuzz 22107.

* fix oss-fuzz 22112.

* clean up build target.

* fix oss-fuzz 22226.

* fix oss-fuzz 22227.

* fix oss-fuzz 11640.

* fix oss-fuzz 20772.

* remove warning.

* fix oss-fuzz 10459.
2020-05-22 21:58:39 +08:00
Catena cyber 216c348c35
Oss-fuzz ideal integration (#1262)
* Fix watchpoint leak in ARM

* Builds fuzz targets with sanitizer support

* Builds fuzz targets with directory driver

* Adds script to dowlonad public corpus

* Adds CIfuzz

To checks Pull Requests with fuzzing

* Use static library for fuzz targets

* Less verbose logs for fuzz driver directory
2020-05-21 16:15:12 +08:00
chfl4gs e2d1c5bf13
Travis-CI Arm64 build (#1261)
* Travis-CI Migration (#1230)

* Travis-CI Migration

* Travis-CI addition cmake Linux

* Travis-CI cmake fix

* Travis-CI Arm64 build
2020-05-20 11:14:06 +08:00
Chen Huitao 2c66acf4ee
fix #1246 (#1254)
* fix finding python path which only has python3.

* fix #1246, arm host issue.

* skip assembler tests on non-x86 host.

* update macro of dummy value.

* fix MSVC macro.

* update dummy array value macro.

* restore to original qemu code.
2020-05-18 19:57:44 +08:00
Chen Huitao 08240d5453
fix some oss-fuzz (#1258)
* fix oss-fuzz 22107.

* fix oss-fuzz 22112.

* clean up build target.

* fix oss-fuzz 22226.

* fix oss-fuzz 22227.

* fix oss-fuzz 11640.

* fix oss-fuzz 20772.
2020-05-16 10:38:16 +08:00
Nguyen Anh Quynh 94c94cdff0 README: add Pypi download badge 2020-05-12 16:51:59 +08:00
Chen Huitao 18a187b8f8
fix some oss-fuzz (#1255)
* fix oss-fuzz 22107.

* fix oss-fuzz 22112.

* clean up build target.
2020-05-12 01:27:47 +08:00
Nguyen Anh Quynh f988a41369 x86: support read/write to ST registers 2020-05-11 00:24:58 +08:00
Nguyen Anh Quynh cf3451c37a bindings: update ARM64 registers 2020-05-10 21:51:14 +08:00
el poto rico 149121539b
[arm64] Add some cool registers (#1253)
I've added the following registers to the API:

 * PSTATE
 * Exception link registers (ELR_ELx)
 * Stack pointers registers (SP_ELx)
 * MMU (TTBRn_EL1)
 * Exception syndrom registers (ESR_ELx)
 * Faulting virtual address registers (FAR_ELx)
 * PAR (PAR_EL1)
 * MAIR (MAIR_EL1)
 * Vector base address registers (VBAR_ELx)
2020-05-10 21:50:00 +08:00