Commit Graph

24 Commits

Author SHA1 Message Date
Spl3en
c9f6648877 Add sysenter_hook_x86 to tests/regress/Makefile and sysenter_hook_x86 to .gitignore. 2015-12-24 18:25:35 +01:00
farmdve
784b8066e2 Add test for pre-instruction hook being called more times. 2015-12-22 12:33:36 +02:00
xorstream
7c1297662c Added test for MIPS branch likely instructions. 2015-12-20 16:07:54 +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
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
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
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
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
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
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
practicalswift
5b34660b3f Add test case to Makefile and .gitignore. Add disassembly. 2015-11-15 17:31:06 +01:00
Ryan Hileman
f93e342177 add mem_map_large regression (for #223) 2015-11-11 22:52:18 -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
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
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
7553c9c1c2 tests: add mips_kseg0_1 to Makefile to compile it 2015-10-27 11:25:34 +08:00
coco
dd56621bbb fix for use after free in case of double unmap 2015-10-21 22:25:49 +02:00
Nguyen Anh Quynh
90eb8f2e72 This commit continues the PR #111
- Allow to register handler separately for invalid memory access
- Add new memory events for hooking:
   - UC_MEM_READ_INVALID, UC_MEM_WRITE_INVALID, UC_MEM_FETCH_INVALID
   - UC_HOOK_MEM_READ_PROT, UC_HOOK_MEM_WRITE_PROT, UC_HOOK_MEM_FETCH_PROT
- Rename UC_ERR_EXEC_PROT to UC_ERR_FETCH_PROT
- Change API uc_hook_add() so event type @type can be combined from hooking types
2015-09-24 14:18:02 +08:00
danghvu
3c1d65ea66 Reorganize test directories 2015-09-21 20:47:45 -05:00