Commit graph

890 commits

Author SHA1 Message Date
univm 845392de1e Test for stack hooking. 2015-12-12 00:48:46 +02:00
farmdve 8b79a872d0 Fix segfault introduced in my previous commits. 2015-12-11 22:35:25 +02:00
Nguyen Anh Quynh f21fa3d966 do not flush TB when l1_map is uninitialized. this fixes issue #280, #284 2015-12-12 03:09:38 +08:00
Nguyen Anh Quynh 9b6701dc4d update .gitignore 2015-12-12 01:39:59 +08:00
Nguyen Anh Quynh 3c72809373 end address of mapping memory is not inclusive, and can wrap around to 0. fix issue #299 2015-12-12 01:37:13 +08: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 613d60119e update .gitignore 2015-12-11 22:26:05 +08:00
Nguyen Anh Quynh 74986cc59a g_free() can handle NULL pointer 2015-12-11 11:25:35 +08:00
Nguyen Anh Quynh 909bf43e77 Merge branch 'master' of https://github.com/farmdve/unicorn into farmdve-master 2015-12-11 11:19:12 +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
farmdve 3e57615c76 Fix uc_mem_unmap memory leak and in uc_close.
It appears the problem is that we are not calling the memory region
destructor. After modifying memory_unmap to include the destructor call
for the memory region, the memory is freed.

Furthermore in uc_close we must explicitly free any blocks that were not
unmapped by the user to prevent leaks.

This should fix issue 305.
2015-12-11 02:42:31 +02: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
Nguyen Anh Quynh cea1f301ea Merge pull request #306 from xorstream/msvc_samples
Moved unicorn_dynload.h into bindings dir.
2015-12-10 13:16:51 +08:00
Nguyen Anh Quynh efb4f6aecb Merge pull request #305 from farmdve/fix_bugs
Unmapped memory is not freed.
2015-12-10 13:16:18 +08:00
xorstream 27128a9563 Added mnemonic printing to disasm function. 2015-12-10 13:09:31 +11:00
xorstream a6a62f6bea Moved unicorn_dynload.h into bindings dir. 2015-12-10 12:06:57 +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
Nguyen Anh Quynh 1b145f431b code style 2015-12-10 00:53:48 +08:00
Nguyen Anh Quynh 0393d339c0 Merge branch 'msvc_samples' of https://github.com/xorstream/unicorn into xorstream-msvc_samples 2015-12-10 00:44:22 +08:00
Nguyen Anh Quynh fc09d9ea9b Merge pull request #302 from xorstream/mips_delayslot_codehook
Added MIPS delay slot code hook test.
2015-12-10 00:43:21 +08: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
Nguyen Anh Quynh 088a5e0061 Merge pull request #298 from ranmrdrakono/master
added test for memory quirks
2015-12-09 11:30:57 +08:00
coco e4fe6b58b4 added test for memory quirks 2015-12-08 18:23:06 +01:00
xorstream 514715f7d5 Added previously ignored project dirs to MSVC support for unicorn samples. 2015-12-08 19:26:53 +11:00
xorstream c5c13e110a Added samples projects for MSVC binding.
Added MSVC support to unicorn samples.
2015-12-08 18:21:32 +11:00
Nguyen Anh Quynh c08fa22550 Merge pull request #296 from lunixbochs/master
Go binding: add mem_protect wrapper
2015-12-06 06:35:38 +07:00
Ryan Hileman 638ff7a3f5 Go binding: add mem_protect wrapper 2015-12-05 11:24:56 -08:00
Nguyen Anh Quynh c37b2582d7 modify header guard of unicorn_dynload.h for consistency 2015-12-05 11:20:22 +07:00
Nguyen Anh Quynh fc54007fab msvc: code style 2015-12-05 10:55:28 +07:00
Nguyen Anh Quynh 0e5bc9f84c Merge pull request #294 from xorstream/msvc_support
Added MSVC++ support for unicorn
2015-12-05 10:46:51 +07:00
xorstream 3ce4f6f7a2 Revert "Added MIPS delay slot code hook test"
This reverts commit 032eb66908.
2015-12-05 09:58:49 +11:00
xorstream 77f946f2fc Added MSVC++ support for unicorn
This lets you import the pre-built unicorn.dll files with Microsoft
Visual C++ projects.

There is support for static and dynamic linking of dlls. This has been
tested as working for both 32bit and 64bit versions.

The dynamic linking code should also work in Linux, though I have not
tested it.
2015-12-04 22:09:24 +11:00
xorstream 032eb66908 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-04 16:51:19 +11:00
Nguyen Anh Quynh 49f6c59c18 Merge pull request #288 from practicalswift/sparc_jump_to_zero
Crash case: Jump to invalid address (0x0), sparc32
2015-12-03 08:58:42 +07:00
practicalswift 74abb47130 Merge branch 'master' of github-as-practicalswift:unicorn-engine/unicorn into sparc_jump_to_zero 2015-12-02 21:57:56 +01:00
practicalswift 31e32d1734 Crash case: Jump to invalid address (0x0), sparc32 2015-12-02 21:55:13 +01:00
Nguyen Anh Quynh b636ef8996 Merge pull request #286 from practicalswift/invalid_read_in_tb_flush_x86_64
Add invalid_read_in_tb_flush_x86_64 to .gitignore and Makefile
2015-12-02 13:24:39 +07:00
practicalswift 23aa6aa9a6 Add invalid_read_in_tb_flush_x86_64 to .gitignore and Makefile 2015-12-02 07:15:44 +01:00
Nguyen Anh Quynh d03edf2f16 Merge pull request #285 from practicalswift/invalid_read_in_tb_flush_x86_64
Crash case: Invalid read of size 8 in tb_flush_x86_64 (#284)
2015-12-02 09:34:29 +07:00
practicalswift c50bf567c0 Crash case: Invalid read of size 8 in tb_flush_x86_64 2015-12-01 22:41:51 +01:00
Nguyen Anh Quynh e7b30bbd02 Merge pull request #283 from practicalswift/mips32-invalid-read-of-size-4
Crash case: Invalid read of size 4 when tracing (MIPS32). See #282
2015-12-01 22:48:10 +07:00
practicalswift 7a1067ad4a Crash case: Invalid read of size 4 when tracing (MIPS32). See #282 2015-11-30 23:44:49 +01:00
Nguyen Anh Quynh d4214150c2 Merge pull request #281 from practicalswift/x86_16-segfault
Crash case: Invalid read of size 8 in tb_flush_x86_64. See #280
2015-11-30 15:36:32 +07:00
practicalswift 75a325e8c6 Crash case: Invalid read of size 8 in tb_flush_x86_64. 2015-11-29 23:00:34 +01:00
Nguyen Anh Quynh 480c49e706 Merge pull request #278 from lunixbochs/map-ptr
add permissions to map_ptr api
2015-11-29 04:43:57 +07:00
Ryan Hileman 230cbd5330 add permissions to map_ptr api 2015-11-28 11:28:31 -08:00
Nguyen Anh Quynh f4882ae1a2 simplify code by replacing mem_map_start()/mem_map_finish() in uc.c with mem_map() 2015-11-28 18:26:08 +08:00