dobby-sys 0.1.0

An unsafe rust binding for Dobby
Documentation
// return dobby build date
const char *DobbyBuildVersion();

// replace function
int DobbyHook(void *address, void *replace_call, void **origin_call);
// destory and restore hook
int DobbyDestroy(void *address);

// iterate symbol table and find symbol
void *DobbySymbolResolver(const char *image_name, const char *symbol_name);

// global offset table
int DobbyGlobalOffsetTableReplace(char *image_name, char *symbol_name,
                                  void *fake_func, void **orig_func);

typedef enum {
  kMemoryOperationSuccess,
  kMemoryOperationError,
  kNotSupportAllocateExecutableMemory,
  kNotEnough,
  kNone
} MemoryOperationError;

MemoryOperationError CodePatch(void *address, unsigned char *buffer,
                               unsigned int buffer_size);

void log_set_level(int level);
void log_switch_to_syslog();
void log_switch_to_file(const char *path);