Commit Graph

73 Commits

Author SHA1 Message Date
Nguyen Anh Quynh
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
Jonathon Reinhart
5f32e2c1ae s/uc_hook_h/uchook/g 2015-09-03 22:39:23 -04:00
Jonathon Reinhart
da46071c7d bring new code and samples up-to-date with API changes 2015-09-03 22:15:49 -04:00
Jonathon Reinhart
5e9d07a40a Merge remote-tracking branch 'upstream/master' into change-handle-based-api 2015-09-03 22:01:52 -04:00
Nguyen Anh Quynh
e54519c09f cleanup 2015-09-04 09:20:13 +08:00
Chris Eagle
2da46caef7 smooth out split_region related code 2015-09-03 12:26:36 -07:00
Nguyen Anh Quynh
6ca85a72ed simplify uc_mem_protect() & uc_mem_unmap() 2015-09-04 01:02:38 +08:00
Nguyen Anh Quynh
9f9d57e84f cleaning & indentation 2015-09-03 18:16:49 +08:00
Nguyen Anh Quynh
b8d4240240 solve merging conflict 2015-09-03 18:05:21 +08:00
Jonathon Reinhart
5b62d436a9 change public APIs to use ucengine
See #52.
2015-09-02 22:00:09 -04:00
Jonathon Reinhart
bd0a6921cc Merge remote-tracking branch 'upstream/master' into change-handle-based-api 2015-09-02 21:04:43 -04:00
Nguyen Anh Quynh
03683a7960 fix an warning caused by _hook_mem_access() 2015-09-03 01:18:41 +08:00
Nguyen Anh Quynh
be659d201d fix confusion betweet UC_MEM_xxx & UC_HOOK_MEM_xxx. fix issue #93 2015-09-03 01:13:57 +08:00
Nguyen Anh Quynh
8b39ec5b0c initial support to remove a static variable in qemu-thread-win32.c 2015-09-02 16:13:12 +08:00
Chris Eagle
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
Chris Eagle
2c4f3769d4 clean up mem_protect related constants and error codes 2015-09-01 12:10:09 -07:00
Chris Eagle
658e399776 clean up mem_protect related constants 2015-08-31 19:08:48 -07:00
Chris Eagle
b27e987932 Add target_page_size member to uc_struct to track TARGET_PAGE_SIZE 2015-08-31 01:00:44 -07:00
Chris Eagle
410e317e92 dont use explicit page size, use TARGET_PAGE_SIZE 2015-08-30 21:24:14 -07:00
Chris Eagle
394461b941 section splitting complete for uc_mem_protect 2015-08-30 14:01:07 -07:00
Chris Eagle
0a60fa4c8a fix perms 2015-08-30 00:22:49 -07:00
Chris Eagle
942de0f2ae implemented basic block splitting, uc_mem_unmap should work for sub=blocks or across contiguous blocks 2015-08-30 00:22:18 -07:00
Jonathon Reinhart
3bd705a060 Merge remote-tracking branch 'upstream/master' into change-handle-based-api 2015-08-30 00:23:51 -04:00
Chris Eagle
4a680b9277 Merge branch 'master' into mem_map_ex_cse 2015-08-29 21:22:33 -07:00
Chris Eagle
6beb1b8a13 intermediate commit, working unmap of complete blocks, still need sub-blocks, and cross block 2015-08-29 21:17:30 -07:00
Nguyen Anh Quynh
b4d7347fa8 wait for the timer thread to finish at the end of uc_emu_start(). this may fix the issue #78 2015-08-30 05:12:04 +08:00
Chris Eagle
592cbc6eaf conflict resolution with merge master 2015-08-28 23:51:56 -07:00
Chris Eagle
8e2848c9d5 Merge branch 'master' into api_update 2015-08-28 20:05:53 -07:00
Chris Eagle
94ac0f02e6 file permissions changes 2015-08-28 20:03:36 -07:00
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