Commit graph

50 commits

Author SHA1 Message Date
Nguyen Anh Quynh 1b145f431b code style 2015-12-10 00:53:48 +08: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
practicalswift 2dc0451e3a Remove trailing whitespace. 2015-10-30 22:34:35 +01:00
Matt 938a118221 Fix typo in register name
Register should be `edx` (not `dex`).
2015-10-15 20:38:44 +02:00
Nguyen Anh Quynh 9e64cba6ec Rename some hook related enums:
- UC_ERR_READ_INVALID -> UC_ERR_READ_UNMAPPED
 - UC_ERR_WRITE_INVALID -> UC_ERR_WRITE_UNMAPPED
 - UC_ERR_FETCH_INVALID -> UC_ERR_FETCH_UNMAPPED
 - UC_MEM_READ_INVALID -> UC_MEM_READ_UNMAPPED
 - UC_MEM_WRITE_INVALID -> UC_MEM_WRITE_UNMAPPED
 - UC_MEM_FETCH_INVALID -> UC_MEM_FETCH_UNMAPPED
 - UC_HOOK_MEM_READ_INVALID -> UC_HOOK_MEM_READ_UNMAPPED
 - UC_HOOK_MEM_WRITE_INVALID -> UC_HOOK_MEM_WRITE_UNMAPPED
 - UC_HOOK_MEM_FETCH_INVALID -> UC_HOOK_MEM_FETCH_UNMAPPED
 - UC_HOOK_MEM_INVALID -> UC_HOOK_MEM_UNMAPPED

This also renames some newly added macros to use _INVALID postfix:

 - UC_HOOK_MEM_READ_ERR -> UC_HOOK_MEM_READ_INVALID
 - UC_HOOK_MEM_WRITE_ERR -> UC_HOOK_MEM_WRITE_INVALID
 - UC_HOOK_MEM_FETCH_ERR -> UC_HOOK_MEM_FETCH_INVALID
 - UC_HOOK_MEM_ERR -> UC_HOOK_MEM_INVALID

Fixed all the bindings Java, Go & Python.
2015-09-30 14:46:55 +08:00
Nguyen Anh Quynh 886946dcf4 do not use syscall to quit emulation. this can fix issues #147 & #148 2015-09-26 16:49:00 +08:00
Nguyen Anh Quynh 2599d41404 add some hooking macros for all kind of memory access events 2015-09-24 19:21:31 +08:00
Nguyen Anh Quynh 90eb8f2e72 This commit continues the PR #111
- Allow to register handler separately for invalid memory access
- Add new memory events for hooking:
   - UC_MEM_READ_INVALID, UC_MEM_WRITE_INVALID, UC_MEM_FETCH_INVALID
   - UC_HOOK_MEM_READ_PROT, UC_HOOK_MEM_WRITE_PROT, UC_HOOK_MEM_FETCH_PROT
- Rename UC_ERR_EXEC_PROT to UC_ERR_FETCH_PROT
- Change API uc_hook_add() so event type @type can be combined from hooking types
2015-09-24 14:18:02 +08:00
Nguyen Anh Quynh 548355acca sparc: do not accept BIGENDIAN mode in samples. more sanity check should be done in the core 2015-09-11 14:02:27 +08:00
Jonathon Reinhart 2c0556826f samples: remove (uint8_t*) casts to mem API calls
These casts are now unnecessary.
2015-09-07 13:09:05 -04:00
Nguyen Anh Quynh d1bdbd11e7 rename uchook to uc_hook, ucengine to uc_engine, uc_hook_t to uc_hook_type 2015-09-05 11:20:32 +08:00
Nguyen Anh Quynh 74c069dc22 samples: cleanup & put mem_apis into sample_all.sh 2015-09-05 09:42:47 +08:00
Nguyen Anh Quynh 7b5bb95147 Merge branch 'master' of https://github.com/unicorn-engine/unicorn 2015-09-05 09:12:23 +08:00
Chris Eagle cbf9885b85 clean up comiler warnings 2015-09-04 10:35:39 -07:00
Chris Eagle 0b676a82d4 Merge remote-tracking branch 'upstream/master' 2015-09-04 10:27:33 -07:00
Chris Eagle e9c6b11506 add mem_api sample program and fix check for wrong NX related constant in cputlb.c 2015-09-04 10:27:03 -07:00
Nguyen Anh Quynh 51a4fe0766 samples: cleanup shellcode.c 2015-09-05 00:59:53 +08:00
pancake e89174c3f1 Fix build of regress/ 2015-09-04 07:56:35 -04:00
Chris Eagle 8cfd902e4b Move mem_xxx samples to regress. Add check to only flush tlb when unmapping if there is a current cpu 2015-09-04 00:48:24 -07: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 0962c4822b cleanup & update bindings' constants 2015-09-04 09:43:31 +08:00
Chris Eagle 2da46caef7 smooth out split_region related code 2015-09-03 12:26:36 -07:00
Nguyen Anh Quynh 9f9d57e84f cleaning & indentation 2015-09-03 18:16:49 +08:00
Jonathon Reinhart 5b62d436a9 change public APIs to use ucengine
See #52.
2015-09-02 22:00:09 -04:00
Chris Eagle 2c4f3769d4 clean up mem_protect related constants and error codes 2015-09-01 12:10:09 -07:00
Chris Eagle 9e4e96ff47 final updates for uc_mem_unmap, uc_mem_protect, and support ro UC_PROT_EXEC permission 2015-08-30 19:50:18 -07:00
Chris Eagle 05b645abd5 fix perms 2015-08-30 14:01:46 -07:00
Chris Eagle 394461b941 section splitting complete for uc_mem_protect 2015-08-30 14:01:07 -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 986096d443 fix file perms 2015-08-28 21:05:38 -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 d3de7aa567 samples: add sample code for hooking SYSCALL instruction in sample_x86.c 2015-08-29 00:22:11 +08:00
Nguyen Anh Quynh 162728c1b1 samples: add shellcode to sample_all.sh 2015-08-29 00:02:52 +08:00
Jonathon Reinhart db563bfcdb samples: update sample_m68k to use new API 2015-08-26 09:02:17 -04:00
Jonathon Reinhart 0202a57d32 samples: update shellcode.c to use new API 2015-08-26 09:02:17 -04:00
Jonathon Reinhart 4c9e78d2f9 samples: update sample_x86 to use new API 2015-08-26 09:02:17 -04:00
Jonathon Reinhart fa11e9dddb samples: update sample_sparc to use new API 2015-08-26 09:02:17 -04:00
Jonathon Reinhart 0d69d81c2e samples: update sample_arm64 to use new API 2015-08-26 09:02:17 -04:00
Jonathon Reinhart 7406367a34 samples: update sample_arm to use new API 2015-08-26 09:02:17 -04:00
Jonathon Reinhart 7ac92ac50a samples: update sample_mips to use new API 2015-08-26 09:02:17 -04:00
Nguyen Anh Quynh 192f07c503 reset invalid_error after callbacks decide to continue after invalid memory accesses 2015-08-26 16:15:38 +08:00
Nguyen Anh Quynh 22b549a4db x86: add sample for 16bit mode 2015-08-26 09:25:29 +08:00
Nguyen Anh Quynh c55ad00e2a samples: use -e rather than -a to check for file existence in Makefile 2015-08-24 17:48:30 +08:00
mothran 2516de7ed8 renamed m68k enum constants 2015-08-23 21:56:24 -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 344d016104 import 2015-08-21 15:04:50 +08:00