Commit Graph

112 Commits

Author SHA1 Message Date
41846af60a Add clarity to the documentation of the UC_HOOK_MEM constants.
The previous comments weren't explicit, in all cases, as to what the difference
(mapped versus unmapped) between the access types was.
2015-09-05 00:35:00 +07:00
d506b900eb cache the last entry of mapped blocks in memory_mapping() for better performance 2015-09-04 15:40:47 +08:00
022f8d82d1 handle memory fetch as invalid memory access. now we can also report error if exec memory is unmapped (UC_ERR_MEM_FETCH) 2015-09-04 11:55:17 +08:00
5f32e2c1ae s/uc_hook_h/uchook/g 2015-09-03 22:39:23 -04:00
da46071c7d bring new code and samples up-to-date with API changes 2015-09-03 22:15:49 -04:00
5e9d07a40a Merge remote-tracking branch 'upstream/master' into change-handle-based-api 2015-09-03 22:01:52 -04:00
0962c4822b cleanup & update bindings' constants 2015-09-04 09:43:31 +08:00
6ca85a72ed simplify uc_mem_protect() & uc_mem_unmap() 2015-09-04 01:02:38 +08:00
b8d4240240 solve merging conflict 2015-09-03 18:05:21 +08:00
5b62d436a9 change public APIs to use ucengine
See #52.
2015-09-02 22:00:09 -04:00
bd0a6921cc Merge remote-tracking branch 'upstream/master' into change-handle-based-api 2015-09-02 21:04:43 -04:00
8b39ec5b0c initial support to remove a static variable in qemu-thread-win32.c 2015-09-02 16:13:12 +08:00
ad877e6af0 Add error value UC_ERR_INVAL and rename UC_ERR_OOM to UC_ERR_NOMEM to provide more error specificity 2015-09-01 13:40:19 -07:00
2c4f3769d4 clean up mem_protect related constants and error codes 2015-09-01 12:10:09 -07:00
658e399776 clean up mem_protect related constants 2015-08-31 19:08:48 -07:00
b27e987932 Add target_page_size member to uc_struct to track TARGET_PAGE_SIZE 2015-08-31 01:00:44 -07:00
24dde77ec2 fix uc_mem_type comments 2015-08-30 20:38:38 -07:00
3bd705a060 Merge remote-tracking branch 'upstream/master' into change-handle-based-api 2015-08-30 00:23:51 -04:00
4a680b9277 Merge branch 'master' into mem_map_ex_cse 2015-08-29 21:22:33 -07:00
6beb1b8a13 intermediate commit, working unmap of complete blocks, still need sub-blocks, and cross block 2015-08-29 21:17:30 -07:00
c23d387e2f remove redundant uc_struct.ram 2015-08-30 10:51:28 +08:00
160033c36c Merge branch 'master' into mem_map_ex_cse 2015-08-29 00:23:21 -07:00
6d8e5b32f4 Merge pull request #72 from cseagle/java_dev
Java dev
2015-08-29 15:09:16 +08:00
592cbc6eaf conflict resolution with merge master 2015-08-28 23:51:56 -07:00
d725e5fee9 improve instruction for uc_mem_map() in unicorn.h 2015-08-29 14:00:31 +08:00
e29cdbe867 File permissions 2015-08-28 20:56:16 -07:00
1d6bd17a13 Update java bindings for new version of uc_mem_map 2015-08-28 20:54:05 -07:00
94ac0f02e6 file permissions changes 2015-08-28 20:03:36 -07:00
65787d415a rename uc_mem_map_ex to uc_mem_map and all associated changes 2015-08-28 20:02:21 -07:00
eab6167241 Merge branch 'master' into mem_map_ex_cse 2015-08-28 19:00:39 -07:00
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
ff46b91a80 chmod -x some more 2015-08-29 09:30:31 +08:00
3452b47f7c Add code to handle non-readable memory 2015-08-28 03:42:25 -07:00
adc254cc74 Roll back uc_mem_protect changes 2015-08-28 01:37:49 -07:00
71ddad9474 Doc cleanup 2015-08-28 00:30:50 -07:00
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
140e9f9ae2 fix perms on files 2015-08-27 18:04:05 -07:00
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
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
20bdbf638d change uc_hook_del() to take hook handle by value 2015-08-26 09:02:17 -04:00
ad59de2b51 remove UC_ERR_UCH
not used anymore
2015-08-26 09:02:16 -04:00
24caaa07de change uch to uc_hook_h for hook handles 2015-08-26 09:02:16 -04:00
b9f7850efb change uch to uc_struct (hook) 2015-08-26 09:01:58 -04:00
4ea3a3ebbf change uch to uc_struct (header files) 2015-08-26 08:20:44 -04:00
e11c0629f9 Change allocation strategy for memory block tracking and track begin/end rather than begin/size 2015-08-25 23:08:18 -07:00
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
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
39d3856871 when block size is unknown because the translation cache is full, assign it value 0 2015-08-25 16:10:05 +08:00
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
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