Commit Graph

89 Commits

Author SHA1 Message Date
Michal Malik
39c7f0fb1d Add regress test for issue #334
https://github.com/unicorn-engine/unicorn/issues/334

The code is a bit different than in the issue, but it should demonstrate the main problem just fine.
2015-12-22 11:29:55 +01:00
xorstream
7c1297662c Added test for MIPS branch likely instructions. 2015-12-20 16:07:54 +11:00
Nguyen Anh Quynh
63e227a585 indentation 2015-12-20 12:16:03 +08:00
xorstream
caa437c0ff Added test for uc_emu_stop() in code hook not always stopping the emu at the current instruction. 2015-12-20 15:03:34 +11:00
xorstream
fa4fd72c5f Added test for uc_emu_stop() in code hook not always stopping the emu at the current instruction. 2015-12-20 14:59:29 +11:00
Nguyen Anh Quynh
771f9f7c3b fix conflicts when merging map-ptr branch to master branch 2015-12-17 08:12:02 +08:00
Nguyen Anh Quynh
c8853929b7 Merge pull request #320 from xorstream/threaded
Added test for uc_open() and uc_emu_start() being called by different threads.
2015-12-16 11:07:23 +08:00
xorstream
d871e17ffd Added return values in main() to rw_hookstack.c so that it builds in MinGW. 2015-12-16 13:13:15 +11:00
xorstream
6aa33e8359 Added test for uc_open() and uc_emu_start() being called by different threads. 2015-12-16 13:08:33 +11:00
xorstream
f111d7d1ca Added support for building tests from MinGW. 2015-12-16 12:59:30 +11:00
univm
845392de1e Test for stack hooking. 2015-12-12 00:48:46 +02:00
Nguyen Anh Quynh
0e62ebc038 unit: fix compilation warning for test_mem_high.c 2015-12-12 00:58:49 +08:00
Nguyen Anh Quynh
a142611f56 sparc: set compute functions for icc_table[] & xcc_table[]. this fixes issue #289 2015-12-12 00:41:09 +08:00
Nguyen Anh Quynh
ff7e4abd53 Merge pull request #308 from ranmrdrakono/master
Added testcase for int instruction tracing
2015-12-11 10:04:56 +08:00
coco
14e75252a5 added testcase for the values read from high addresses 2015-12-10 16:18:22 +01:00
Nguyen Anh Quynh
9d7f81d195 Merge pull request #307 from xorstream/mips_delayslot_codehook
Added mnemonic printing to disasm function.
2015-12-10 13:17:57 +08:00
xorstream
27128a9563 Added mnemonic printing to disasm function. 2015-12-10 13:09:31 +11:00
farmdve
0d98607121 Unmapped memory is not freed.
While uc_mem_unmap does unmap memory regions from Unicorn, it does not
free the memory. It accumulates over time when reusing a single Unicorn
instance.
2015-12-10 00:08:07 +02:00
xorstream
eb8d1b58c7 Added MIPS delay slot code hook test.
Tests that the code hook gets called for instructions in the branch delay slot for MIPS cpu.
2015-12-09 18:09:15 +11:00
xorstream
7f04b0f772 Added MIPS delay slot code hook test.
Tests that the code hook gets called for instructions in the branch delay slot for MIPS cpu.
2015-12-09 18:06:53 +11:00
coco
e4fe6b58b4 added test for memory quirks 2015-12-08 18:23:06 +01:00
practicalswift
31e32d1734 Crash case: Jump to invalid address (0x0), sparc32 2015-12-02 21:55:13 +01:00
practicalswift
23aa6aa9a6 Add invalid_read_in_tb_flush_x86_64 to .gitignore and Makefile 2015-12-02 07:15:44 +01:00
practicalswift
c50bf567c0 Crash case: Invalid read of size 8 in tb_flush_x86_64 2015-12-01 22:41:51 +01:00
practicalswift
7a1067ad4a Crash case: Invalid read of size 4 when tracing (MIPS32). See #282 2015-11-30 23:44:49 +01:00
practicalswift
75a325e8c6 Crash case: Invalid read of size 8 in tb_flush_x86_64. 2015-11-29 23:00:34 +01:00
Ryan Hileman
230cbd5330 add permissions to map_ptr api 2015-11-28 11:28:31 -08:00
Ryan Hileman
6d21ebabea implement host-controlled memory mapping for #261 2015-11-27 23:30:36 -08:00
practicalswift
36948320ce invalid_read_in_cpu_tb_exec_x86_64 → invalid_write_in_cpu_tb_exec_x86_64 2015-11-17 08:44:38 +01:00
practicalswift
ad5c2eb9c6 Crash case: Invalid write of size 4 in cpu_tb_exec_x86_64. 2015-11-16 23:19:23 +01:00
Nguyen Anh Quynh
edaea7020b x86: on self-modifying code, generate JIT code until end of block. this fixes issue #266 2015-11-16 21:55:42 +08:00
practicalswift
8af4967707 Remove space. 2015-11-15 18:18:04 +01:00
practicalswift
76ed117df6 Cast last two uc_hook_add(…) arguments to uint64_t. 2015-11-15 18:12:10 +01:00
practicalswift
5b34660b3f Add test case to Makefile and .gitignore. Add disassembly. 2015-11-15 17:31:06 +01:00
practicalswift
c8fe68fb3d Add test case for issue #266 ("Invalid read of size 4" in cpu_tb_exec). 2015-11-15 00:04:34 +01:00
Willi Ballenthin
eb73984763 run_across_bb: include expected vs actual PC in assertion error 2015-11-13 10:14:38 -05:00
Willi Ballenthin
d09cc88495 run_across_bb: whitespacing 2015-11-13 09:13:27 -05:00
Willi Ballenthin
c97fa4fd8a add test case to run_across_bb
demonstrates that calling emu_start from a BB start to another BB end works fine.
2015-11-13 08:59:36 -05:00
Willi Ballenthin
22d2d3bdbb add test for emulation within and across BB 2015-11-13 00:44:19 -05:00
Nguyen Anh Quynh
9f29fdf442 update regress.sh 2015-11-12 15:30:19 +08:00
Ryan Hileman
f93e342177 add mem_map_large regression (for #223) 2015-11-11 22:52:18 -08:00
farmdve
c8300587f7 Patch eflags_noset to compile on 32-bit and on 64-bit. 2015-11-10 15:01:23 +02:00
Nguyen Anh Quynh
272293556a do not abort() when memory is insufficient. this fixes issue #244 2015-11-10 11:44:29 +08:00
farmdve
726f45b33d Attempting to set some bits in the Unicorn EFLAGS doesn't work.
When attempting to set all flags except trap flag, the EFLAGS value
should be 0x00244ED7, I've tested this on Windows and here
https://ideone.com/WQAvk1 which is presumably Linux.

Unicorn however has the value 0x00000ED7, bits 11-21 are not set. Bit 21
is the ID bit indicating whether or not CPUID is available.
2015-11-10 00:49:01 +02:00
Nguyen Anh Quynh
4c5ecda908 regress: print with newline for 00opcode_uc_crash.c 2015-11-06 22:24:24 +08:00
Nguyen Anh Quynh
de86647dbe regress: fix compiled warning for 00opcode_uc_crash.c 2015-11-05 22:51:10 +08:00
Nguyen Anh Quynh
d818e2c485 Merge branch 'master' of https://github.com/unicorn-engine/unicorn 2015-11-05 21:34:55 +08:00
Nguyen Anh Quynh
4692f3445f Merge pull request #248 from farmdve/master
X86 zero-byte opcode causes Unicorn to crash.
2015-11-05 20:49:04 +08:00
Nguyen Anh Quynh
b3dfde8a17 Merge branch 'master' of https://github.com/unicorn-engine/unicorn 2015-11-05 20:41:51 +08:00
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