Commit Graph

830 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