Chris Eagle
65787d415a
rename uc_mem_map_ex to uc_mem_map and all associated changes
2015-08-28 20:02:21 -07:00
Nguyen Anh Quynh
810054ca6d
uc_mem_read() & uc_mem_write() now can work on adjacent memory areas. this fixes issue #38
2015-08-29 10:23:53 +08:00
Chris Eagle
eab6167241
Merge branch 'master' into mem_map_ex_cse
2015-08-28 19:00:39 -07:00
Chris Eagle
9ba59e4988
Step one towards uc_mem_protect, uc_mem_unmap, and support for UC_PROT_EXEC and NX regions
2015-08-28 18:59:45 -07:00
Nguyen Anh Quynh
c0c24db4c6
chmod -x uc.c
2015-08-29 09:27:24 +08:00
Nguyen Anh Quynh
0db7d9ea4e
reset emulation_done in uc_emu_start()
2015-08-29 09:22:53 +08:00
Nguyen Anh Quynh
ab27c6aa04
return immediately if emulation is already done. this fixes issue #65
2015-08-29 09:10:18 +08:00
Chris Eagle
3452b47f7c
Add code to handle non-readable memory
2015-08-28 03:42:25 -07:00
Chris Eagle
aa509cc00f
delete redundant function
2015-08-28 02:20:56 -07:00
Chris Eagle
adc254cc74
Roll back uc_mem_protect changes
2015-08-28 01:37:49 -07:00
Chris Eagle
b31bb9638c
cleanup for pull request
2015-08-28 00:00:09 -07:00
Chris Eagle
9530b2daff
Remove MemoryBlock struct by consolidating in MemoryRegion. add new API uc_mem_protect. Add regress/mem_protect.c. Drop UC_PROT_EXEC for time being
2015-08-27 23:19:32 -07:00
Chris Eagle
686acb7e6e
Detect all occurences of write to read only page. Add callback capability on write to read only. Add new error type UC_ERR_MEM_WRITE_RO and new access type UC_MEM_WRITE_RO for use in callback
2015-08-27 18:03:17 -07:00
Chris Eagle
00944b6cde
Add ability to mark memory are read only. Add new API uc_mem_map_ex to allow permissions to be passed. Change MemoryBlock to track created MemoryRegions. Add regress/ro_mem_test.c
2015-08-26 13:29:54 -07:00
Nguyen Anh Quynh
b6dd516977
fix a bug on releasing mapped_blocks in uc_close()
2015-08-26 23:41:30 +08:00
Chris Eagle
5d8d251085
Free uc->mapped_blocks in uc_close
2015-08-26 08:23:36 -07:00
Jonathon Reinhart
20bdbf638d
change uc_hook_del() to take hook handle by value
2015-08-26 09:02:17 -04:00
Jonathon Reinhart
ad59de2b51
remove UC_ERR_UCH
...
not used anymore
2015-08-26 09:02:16 -04:00
Jonathon Reinhart
24caaa07de
change uch to uc_hook_h for hook handles
2015-08-26 09:02:16 -04:00
Jonathon Reinhart
5f89f9884e
change uch to uc_struct (uc.c)
2015-08-26 08:20:52 -04:00
Chris Eagle
9023e77201
Fixed bug introduced in uc_mem_map
2015-08-26 00:26:42 -07:00
Chris Eagle
e11c0629f9
Change allocation strategy for memory block tracking and track begin/end rather than begin/size
2015-08-25 23:08:18 -07:00
Chris Eagle
03e8b28d71
First cut at cleaning up uc_mem_map, eliminate map_begin and map_end, move tracking inside uc struct
2015-08-25 21:52:18 -07:00
Nguyen Anh Quynh
70cdbf8c69
uc_mem_map(): enforce address & size to be aligned to 4KB. this fixes bunch of regress tests in regress/
2015-08-26 11:29:14 +08:00
Nguyen Anh Quynh
c3e95ec34e
x86: do not generate basic-block callback when translation is broken in the middle due to full cache
2015-08-25 14:50:55 +08:00
Jonathon Reinhart
9163bba812
restore mode of .[ch] files
...
These were marked as executable in 5c3b6819
, likely due to a Windows
filesystem being involved. This can be avoided:
http://stackoverflow.com/q/1580596/119527
2015-08-24 21:19:12 -04:00
Chris Eagle
5c3b681945
Add const to uc_reg_write and derivitives
2015-08-24 09:42:50 -07:00
Chris Eagle
f221195bf6
Merge remote-tracking branch 'upstream/master'
2015-08-24 09:15:23 -07:00
Nguyen Anh Quynh
9d9c0d1a25
uc_emu_start() report error on illegal instruction at the output
2015-08-25 00:02:31 +08:00
pancake
c5d99777f4
Use const in uc_mem_write and derivates
2015-08-24 17:02:14 +02:00
Chris Eagle
2998c125de
Merge remote-tracking branch 'upstream/master'
2015-08-24 00:50:59 -07:00
Chris Eagle
73bc268036
Fix 8k alignment mask computation
2015-08-24 00:41:56 -07:00
mothran
2516de7ed8
renamed m68k enum constants
2015-08-23 21:56:24 -07:00
mothran
995924176a
Merge branch 'const_rename'
2015-08-23 21:42:02 -07:00
mothran
a167f7c456
renames the register constants so unicorn and capstone can compile together
2015-08-23 21:36:33 -07:00
Nguyen Anh Quynh
bb34eebd24
verify hardware mode for ARM. this fixes issue #16
2015-08-24 09:50:55 +08:00
Nguyen Anh Quynh
cd072b4e20
Merge pull request #22 from JonathonReinhart/supported-arch-api
...
clean-up uc_support() API
2015-08-24 09:32:22 +08:00
Jonathon Reinhart
11cc9ec9ba
clean-up uc_support() API
...
- rename to more obviously-named uc_arch_supported()
- remove UC_ARCH_ALL and associated test -- There's no point in having this
API, and it was improperly implemented anyway.
- remove now unneeded archs_enable() and all_arch
- add UNICORN_HAS_PPC test -- This seems to be only partially implemented
2015-08-23 21:10:47 -04:00
Ryan Hileman
76d8541717
add check for mem_map(size=0) ( #14 )
2015-08-23 14:16:40 -07:00
Nguyen Anh Quynh
761fd3d13b
fix issue #1
2015-08-24 01:07:03 +08:00
Nguyen Anh Quynh
f9b9dfbce9
fix issue #9
2015-08-24 00:52:00 +08:00
Nguyen Anh Quynh
4701fb80b4
code style: convert tabs to spaces
2015-08-23 09:06:31 +08:00
Nguyen Anh Quynh
e1baf2f36b
x86: support hooking SYSCALL/SYSENTER instructions. we no longer share the SYSCALL callback with interrupt instructions
2015-08-23 01:19:40 +08:00
Nguyen Anh Quynh
344d016104
import
2015-08-21 15:04:50 +08:00