Commit 5a5f9c34 authored by swift_gan's avatar swift_gan Committed by swift_gan

[NativeHook]update extern api

parent d09bebd0
...@@ -136,7 +136,7 @@ Java_com_swift_sandhook_nativehook_NativeHook_test(JNIEnv *env, jclass jclass1) ...@@ -136,7 +136,7 @@ Java_com_swift_sandhook_nativehook_NativeHook_test(JNIEnv *env, jclass jclass1)
void* do3P = reinterpret_cast<void *>(do3); void* do3P = reinterpret_cast<void *>(do3);
InlineHook::instance->breakPoint(reinterpret_cast<void *>(do3), breakCallback); InlineHook::instance->breakPoint(reinterpret_cast<void *>((Addr)do3 + 16), breakCallback);
LOGE("ok"); LOGE("ok");
...@@ -146,6 +146,12 @@ Java_com_swift_sandhook_nativehook_NativeHook_test(JNIEnv *env, jclass jclass1) ...@@ -146,6 +146,12 @@ Java_com_swift_sandhook_nativehook_NativeHook_test(JNIEnv *env, jclass jclass1)
} }
extern "C"
EXPORT void* SandGetSym(const char* so, const char* symb) {
ElfImg elfImg(so);
return reinterpret_cast<void *>(elfImg.getSymbAddress(symb));
}
extern "C" extern "C"
EXPORT void* SandInlineHook(void* origin, void* replace) { EXPORT void* SandInlineHook(void* origin, void* replace) {
return InlineHook::instance->inlineHook(origin, replace); return InlineHook::instance->inlineHook(origin, replace);
...@@ -159,4 +165,9 @@ EXPORT void* SandInlineHookSym(const char* so, const char* symb, void* replace) ...@@ -159,4 +165,9 @@ EXPORT void* SandInlineHookSym(const char* so, const char* symb, void* replace)
if (origin == nullptr) if (origin == nullptr)
return nullptr; return nullptr;
return InlineHook::instance->inlineHook(origin, replace); return InlineHook::instance->inlineHook(origin, replace);
}
extern "C"
EXPORT bool SandBreakpoint(void* origin, void (*callback)(REG[])) {
return InlineHook::instance->breakPoint(origin, callback);
} }
\ No newline at end of file
...@@ -5,12 +5,20 @@ ...@@ -5,12 +5,20 @@
#ifndef SANDHOOK_SANDHOOK_NATIVE_H #ifndef SANDHOOK_SANDHOOK_NATIVE_H
#define SANDHOOK_SANDHOOK_NATIVE_H #define SANDHOOK_SANDHOOK_NATIVE_H
#include "hook.h"
#define EXPORT __attribute__ ((visibility ("default"))) #define EXPORT __attribute__ ((visibility ("default")))
extern "C"
EXPORT void* SandGetSym(const char* so, const char* sym);
extern "C" extern "C"
EXPORT void* SandInlineHook(void* origin, void* replace); EXPORT void* SandInlineHook(void* origin, void* replace);
extern "C" extern "C"
EXPORT void* SandInlineHookSym(const char* so, const char* symb, void* replace); EXPORT void* SandInlineHookSym(const char* so, const char* symb, void* replace);
extern "C"
EXPORT bool SandBreakpoint(void* origin, void (*callback)(REG[]));
#endif //SANDHOOK_SANDHOOK_NATIVE_H #endif //SANDHOOK_SANDHOOK_NATIVE_H
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment