Utils.cpp 446 B

1234567891011121314151617181920212223
  1. //
  2. // Utils.cpp
  3. // MonoHookUtils_OSX
  4. //
  5. // Created by Misaka-Mikoto on 2022/8/31.
  6. //
  7. #include <stdio.h>
  8. #include <stdint.h>
  9. #include <pthread.h>
  10. #include <string.h>
  11. #include <libkern/OSCacheControl.h>
  12. extern "C"{
  13. void* memcpy_jit(void* dst, void* src, int32_t size)
  14. {
  15. pthread_jit_write_protect_np(0);
  16. void* ret = memcpy(dst, src, size);
  17. pthread_jit_write_protect_np(1);
  18. sys_icache_invalidate (dst, size);
  19. return ret;
  20. }
  21. }