From c25b9e2337aad02073a199619f6f754f15cccd38 Mon Sep 17 00:00:00 2001 From: comex Date: Mon, 19 Jan 2015 19:12:32 -0500 Subject: more reorganization - move OS X/iOS specific stuff into its own directory --- lib/substrate-compat.c | 55 -------------------------------------------------- 1 file changed, 55 deletions(-) delete mode 100644 lib/substrate-compat.c (limited to 'lib/substrate-compat.c') diff --git a/lib/substrate-compat.c b/lib/substrate-compat.c deleted file mode 100644 index 3658ac7..0000000 --- a/lib/substrate-compat.c +++ /dev/null @@ -1,55 +0,0 @@ -#include "substitute.h" -#include "substitute-internal.h" -#include -#include - -EXPORT -void *SubGetImageByName(const char *filename) __asm__("SubGetImageByName"); -void *SubGetImageByName(const char *filename) { - return substitute_open_image(filename); -} - -EXPORT -void *SubFindSymbol(void *image, const char *name) __asm__("SubFindSymbol"); -void *SubFindSymbol(void *image, const char *name) { - if (!image) { - const char *s = "SubFindSymbol: 'any image' specified, which is incredibly slow - like, 2ms on a fast x86. I'm going to do it since it seems to be somewhat common, but you should be ashamed of yourself."; - syslog(LOG_WARNING, "%s", s); - fprintf(stderr, "%s\n", s); - /* and it isn't thread safe, but neither is MS */ - for(uint32_t i = 0; i < _dyld_image_count(); i++) { - const char *im_name = _dyld_get_image_name(i); - struct substitute_image *im = substitute_open_image(im_name); - if (!im) { - fprintf(stderr, "(btw, couldn't open %s?)\n", im_name); - continue; - } - void *r = SubFindSymbol(im, name); - substitute_close_image(im); - if (r) - return r; - } - return NULL; - } - - substitute_sym *sym; - if (substitute_find_private_syms(image, &name, &sym, 1) || !sym) - return NULL; - return substitute_sym_to_ptr(image, sym); -} - -/* -EXPORT -void SubHookFunction(void *symbol, void *replace, void **result) __asm__("SubHookFunction"); -void SubHookFunction(void *symbol, void *replace, void **result) { - // ... -} -*/ - -#ifdef __APPLE__ -/*void SubHookMessageEx(Class _class, SEL sel, IMP imp, IMP *result) __asm__("SubHookMessageEx"); -void SubHookMessageEx(Class _class, SEL sel, IMP imp, IMP *result) { - -}*/ - -#endif -- cgit v1.2.3