Commit Graph

936 Commits

Author SHA1 Message Date
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
Nguyen Anh Quynh
4a759cebb5 set permission for memory region allocated by memory_map_ptr(). this fixes the segfault in sample_x86.c, function test_x86_map_ptr() 2015-11-28 17:11:27 +08:00
Nguyen Anh Quynh
8f1e8c0ab1 add sample code for API uc_mem_map_ptr() 2015-11-28 16:17:52 +08:00
Nguyen Anh Quynh
f57c098056 declare variables at begin of function 2015-11-28 15:56:19 +08:00
Nguyen Anh Quynh
6b599314e1 Merge branch 'map-ptr' of https://github.com/lunixbochs/unicorn into lunixbochs-map-ptr 2015-11-28 15:50:53 +08:00