Commit graph

4149 commits

Author SHA1 Message Date
farmdve 7f3c567ae5 X86 zero-byte opcode causes Unicorn to crash.
The opcode 0x00 translates as `add byte ptr ds:[eax],al`, which leads to
a segfault in Unicorn.

Using a debugger, I believe the crash is located in
`qemu/translate-all.c` in function `page_flush_tb_1`, more specifically
this code `pd[i].first_tb = NULL;`
2015-11-05 14:41:15 +02:00
Nguyen Anh Quynh 51323c9c17 x86: properly calculate EFLAGS when UC_HOOK_CODE is used. this should fix issue #246 2015-11-05 20:26:39 +08:00
Nguyen Anh Quynh 95745eff3b regress: fix compiled warnings in eflags_nosync.c 2015-11-05 20:22:07 +08:00
Nguyen Anh Quynh f5316dc07a Merge pull request #246 from farmdve/master
X86 EFLAGS not synced properly.
2015-11-04 23:49:31 +08:00
farmdve 894739515e X86 EFLAGS not synced properly.
these commits should fix my previous ones.
2015-11-04 09:38:57 +02:00
Nguyen Anh Quynh 613ebbb20e Merge pull request #244 from emdel/master
SIGABRT issue
2015-11-04 10:07:48 +08:00
Nguyen Anh Quynh f70dc1becd Merge pull request #242 from practicalswift/segfault-on-stop
Fix segfault on emu_stop()
2015-11-04 10:06:37 +08:00
mariano 9f7d1812a3 SIGABRT issue 2015-11-03 12:58:20 -08:00
Nguyen Anh Quynh 68a2a0c7ab regress: add shebang for hook_code_stop_emu.py 2015-11-03 22:45:48 +08:00
practicalswift 4151d1d600 Fix segfault-on-emu_stop() bug. 2015-11-03 14:34:31 +01:00
practicalswift 696c58f9f0 Add test case for segfault-on-emu_stop() bug.
The following code segfaults:
unicorn.Uc(unicorn.UC_ARCH_X86, unicorn.UC_MODE_64).emu_stop()

Tested under Linux and OS X.
2015-11-03 14:11:49 +01:00
Nguyen Anh Quynh 4ef13076e9 Merge pull request #239 from williballenthin/python-relative-import-paths
python bindings: use relative paths for imports to support py3
2015-11-03 09:58:10 +08:00
Nguyen Anh Quynh f5cec3815a Merge pull request #240 from williballenthin/test-hook-code-stop-emu
add hook_code_stop_emu.py test for issue #232
2015-11-03 09:48:58 +08:00
Nguyen Anh Quynh 01671683be Merge pull request #241 from practicalswift/testcases
Add test cases for issues #236 (potential memory leak) and #237 (OS X crash)
2015-11-03 09:47:16 +08:00
practicalswift 29903c07f9 Fix typo. 2015-11-02 23:23:02 +01:00
practicalswift b91df4af23 Test case for issue #236 (potential memory leak) 2015-11-02 23:19:38 +01:00
practicalswift a435307543 Test case for issue #237 (OS X crash when creating 2048:th Uc object) 2015-11-02 23:18:30 +01:00
Willi Ballenthin 11dfaf4dec hook_code_stop_emu.py: show PC before asserting 2015-11-02 10:05:00 -05:00
Willi Ballenthin 1a8ca49db1 hook_code_stop_emu.py: formatting 2015-11-02 10:03:31 -05:00
Willi Ballenthin f02d03dde3 add hook_code_stop_emu.py test for issue #232 2015-11-02 09:54:36 -05:00
Willi Ballenthin 5eb75c311e python bindings: use relative paths for imports to support py3 2015-11-02 09:34:58 -05:00
Nguyen Anh Quynh aaa53f7e6b Merge pull request #234 from williballenthin/patch-4
python README.TXT: clarify working directories
2015-11-01 22:36:15 +08: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
Nguyen Anh Quynh c0de3b5c96 Merge pull request #233 from williballenthin/patch-3
COMPILE.TXT: fix trivial typo
2015-11-01 13:13:08 +08:00
Willi Ballenthin 863bb567db COMPILE.TXT: fix typo
trivial typo fix to installation path
2015-11-01 00:54:54 -04:00
Nguyen Anh Quynh 84fce71416 Merge pull request #231 from lunixbochs/master
Go bindings: add Close() and set as GC finalizer (fix #230)
2015-10-31 13:38:00 +08:00
Ryan Hileman a6ffb71e4c Go bindings: add Close() and set as GC finalizer 2015-10-30 22:08:35 -07:00
Nguyen Anh Quynh b41db5abd9 Merge pull request #229 from practicalswift/typos
Fix typos. Remove trailing whitespace.
2015-10-31 10:39:35 +08:00
practicalswift 2dc0451e3a Remove trailing whitespace. 2015-10-30 22:34:35 +01:00
practicalswift 4f521c371c Fix typos. 2015-10-30 22:32:59 +01:00
Nguyen Anh Quynh e1f7f47096 Merge pull request #226 from mrphrazer/python_mem_api
Python bindings mem_protect and mem_unmap
2015-10-28 12:37:13 +08: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 b66a323b19 do not free MemoryRegion in memory_unmap() because it will be unref later in memory_region_unref(). this fixes issue #202 2015-10-28 01:26:59 +08:00
Nguyen Anh Quynh 3a36e327ab support memory redirection, so the issue #217 is fixed 2015-10-27 14:37:03 +08:00
Nguyen Anh Quynh cea1cf210d tests: mips_kseg0_1.c prints out friendly error message rather than just error code 2015-10-27 12:36:03 +08:00
Nguyen Anh Quynh 7553c9c1c2 tests: add mips_kseg0_1 to Makefile to compile it 2015-10-27 11:25:34 +08:00
Nguyen Anh Quynh 05d89da496 Merge pull request #222 from pkooiman/master
Test for executing from  MIPS kseg0/kseg1 memory ranges
2015-10-27 08:44:32 +08:00
Peter Kooiman 0bad2a8a90 Added test for executing from MIPS kseg0/ksegq1 memory ranges to tests/regress 2015-10-26 18:37:27 +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
Nguyen Anh Quynh 26eb03c7f6 Merge pull request #220 from lunixbochs/master
Go 1.2 binding compatibility
2015-10-26 09:18:19 +08:00
Ryan Hileman 715d5c3557 Go 1.2 binding compatibility 2015-10-25 04:33:10 -07:00
Nguyen Anh Quynh 9cd7e2fbf6 Merge branch 'master' of https://github.com/unicorn-engine/unicorn 2015-10-25 09:44:44 +08:00
Nguyen Anh Quynh a1f8c8ae87 Makefile: overwrite existent library for install target with 'ln -sf' 2015-10-25 09:44:01 +08:00
Nguyen Anh Quynh be36122d0c Merge branch 'fix-soname2' of https://github.com/JonathonReinhart/unicorn 2015-10-25 09:37:40 +08:00
Jonathon Reinhart efb0c87e39 fix install logic after changing LIBRARY
Now that LIBRARY is the versioned name (e.g. "libunicorn.so.0"), we
don't need this rename step; just create the symlink for libunicorn.so.
If VERSION_EXT isn't set, then the library we installed already has the
correct name, and no symlink is necessary.

We should probably be running 'ldconfig' to handle this, or better yet,
using libtool.
2015-10-24 16:43:34 -04:00
Nguyen Anh Quynh e084c88092 Merge pull request #216 from lunixbochs/master
allow setting x86 segment base to host-sized value
2015-10-24 23:09:07 +08:00
Nguyen Anh Quynh 92f7e2e156 Merge pull request #218 from gaffe23/master
add assertion to callback-PC test to make it clear what the correct behavior should be (issue #210)
2015-10-24 23:07:19 +08:00
gaffe 21ce78924c assert that PC was changed in callback-pc test 2015-10-23 11:28:10 -07:00