Commit graph

183 commits

Author SHA1 Message Date
Hoang-Vu Dang 9d9056c474 Add a license for regression tests 2016-03-07 12:22:20 -06:00
mkravchik 90d15b9a57 Added files via upload
VMOV emulation fails on ARM (in Thumb mode)
2016-02-29 14:52:47 +02:00
emdel f010219a0f zf set to 1 2016-02-18 06:29:59 -08:00
emdel 0383db9d27 Added assert 2016-02-18 06:26:01 -08:00
Nguyen Anh Quynh 6e5a3a6d5b regress: chmod +x jumping.py 2016-02-18 21:58:48 +08:00
emdel de5a887ed2 testcase to set ZF and modify eflags 2016-02-17 13:56:20 -08:00
Nguyen Anh Quynh b69feb8d0b Merge branch 'master' into memleak2 2016-02-15 15:52:10 +08:00
coco bfbe91834e two more testcases 2016-02-11 15:02:14 +01:00
Nguyen Anh Quynh 07e8f2f60d Merge pull request #423 from lunixbochs/master
add regress for #421
2016-02-05 09:45:01 +08:00
Ryan Hileman bcfa41c90d add regress for #421 2016-02-05 02:35:17 +01:00
Nguyen Anh Quynh 9b6d1bf324 regress: fix compilation warning for mem_fuzz.c 2016-02-05 08:54:52 +08:00
Nguyen Anh Quynh a5d9daaef4 Merge branch 'mem_fuzzing' of https://github.com/eqv/unicorn into eqv-mem_fuzzing 2016-02-05 08:49:18 +08:00
coco 1e13777c91 added memory fuzzer and 2 resulting testcases 2016-02-04 19:57:20 +01:00
Nguyen Anh Quynh 101f14285a chmod +x arm_init_input_crash.py 2016-02-03 09:20:15 +08:00
McLovi9 ac806d3bfb Create arm_init_input_crash.py 2016-02-02 20:36:36 +01:00
Nguyen Anh Quynh 20b01a6933 fix merge conflict 2016-02-01 12:08:38 +08:00
xorstream 7973f6b4c9 Added mode endian flags for sparc tests and fixed mode in sparc_jump_to_zero.c 2016-01-25 13:50:26 +11:00
xorstream 26d3b1e7d6 Added ppc 32bit mode and added sparc mode checks to bring it in line with other archs 2016-01-24 22:27:33 +11:00
Nguyen Anh Quynh d79925f477 sparc: add SPARC32 mode (= UC_MODE_32) 2016-01-23 10:48:18 +08:00
Nguyen Anh Quynh 5c6c67bb3a regress: fix Sparc mode for sparc_reg.py 2016-01-23 10:17:42 +08:00
xorstream 8763d426c2 Fix uc_mode usage in source code 2016-01-23 12:08:49 +11:00
Nguyen Anh Quynh d0125eb8bf regress: add invalid_write.py to test issue #371 2016-01-13 11:35:09 +08:00
Nguyen Anh Quynh 7de48f2f75 regress: add emu_clear_errors to .gitignore 2016-01-12 01:02:45 +08:00
Nguyen Anh Quynh e1fe63ae13 regress: fix compilation warnings for emu_clear_errors.c 2016-01-12 00:37:15 +08:00
Nguyen Anh Quynh fa430b4ad4 Merge branch 'test/issue-351' of https://github.com/williballenthin/unicorn into williballenthin-test/issue-351 2016-01-12 00:22:33 +08:00
Willi Ballenthin a9d4b4cfa7 add test case in C demonstrating issue 351 2016-01-11 09:57:13 -05:00
Nguyen Anh Quynh f4a5273ce7 Merge pull request #365 from williballenthin/test/issue-351
add test case demonstrating issue 351
2016-01-11 16:13:52 +08:00
Ryan Hileman b6db70808d add regress for #366 2016-01-10 23:51:11 -08:00
Willi Ballenthin b2b1d0be01 add test case demonstrating issue 351 2016-01-10 23:56:34 -05:00
Nguyen Anh Quynh 2a269acac1 regress: add memleak_xxx.c to test memleak issue 2016-01-10 23:56:14 +08:00
Nguyen Anh Quynh ec4a47fc19 regress: fix 1 more compilation warning on printf format 2016-01-10 23:55:19 +08:00
Nguyen Anh Quynh 32bca0bd02 regress: fix some compilation warnings on printf format 2016-01-10 23:45:02 +08:00
farmdve 264c4c1b54 Add some fixes to the tests.
My mem_nofree test fails on the latest code as apparently my address and
sizes overlap each other.

The mem_unmap test failed as the invalid memory hook case was incorrect.
2016-01-05 18:02:54 +02:00
Nguyen Anh Quynh 06108ea908 regress: add rep_hook.py 2016-01-01 10:44:08 +08:00
Nguyen Anh Quynh 99b401c609 Merge branch 'la-fixed' of https://github.com/JCYang/unicorn into JCYang-la-fixed 2015-12-28 12:21:31 +08:00
Justin Campbell 9da93af861 Removed commented out code from MIPS kernel MMU test 2015-12-28 00:36:56 +00:00
Justin Campbell 822198ad16 Added new regression test for ability to execute MIPS at KSEG0 and higher when in kernel mode 2015-12-28 00:34:26 +00:00
Spl3en c9f6648877 Add sysenter_hook_x86 to tests/regress/Makefile and sysenter_hook_x86 to .gitignore. 2015-12-24 18:25:35 +01:00
Spl3en 4c3ad139ea (Fix #341) SYSENTER instruction is not properly hooked with uc_hook_add in x86 emulation.
helper_sysenter in qemu/target-i386/seg_helper.c didn't check properly if a call interrupt callback was registred.
It has been fixed by copying the helper_syscall behavior.
2015-12-24 16:00:22 +01:00
Nguyen Anh Quynh 2984901f62 regress: fix testcase hook_code_add_del.py 2015-12-23 01:45:29 +08:00
Nguyen Anh Quynh b29ce1c4fd chmod +x hook_code_add_del.py 2015-12-23 01:44:02 +08:00
Nguyen Anh Quynh 0f6d27cc88 Merge branch 'xorstream-mips_branch_likely_issue' 2015-12-23 01:40:51 +08:00
Nguyen Anh Quynh 24d344bf61 Merge branch 'master' of https://github.com/unicorn-engine/unicorn 2015-12-23 01:40:42 +08:00
Nguyen Anh Quynh 85c2bd31f5 indentation 2015-12-23 01:18:52 +08:00
Nguyen Anh Quynh 3bd2e1213d Merge pull request #335 from michalmalik/patch-1
Add regress test for issue #334
2015-12-22 21:30:22 +08:00
farmdve 784b8066e2 Add test for pre-instruction hook being called more times. 2015-12-22 12:33:36 +02:00
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 ae64fb370b Fix address in comments 2015-12-22 21:01:30 +11:00
JC Yang 5be70eb91b Add test case for issue 287. 2015-12-22 15:25:36 +08:00
Nguyen Anh Quynh ee1772e28a indentation 2015-12-22 15:13:59 +08:00
xorstream 5fda79b38a Updated mips_branch_likely_issue test to check if executed and hooked. 2015-12-21 09:57:15 +11:00
Nguyen Anh Quynh 5e8af30110 indentation 2015-12-20 20:43:37 +08: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 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 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 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
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
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
Nguyen Anh Quynh 95745eff3b regress: fix compiled warnings in eflags_nosync.c 2015-11-05 20:22:07 +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
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 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