SYMBOL INDEX (134 symbols across 19 files) FILE: docs/overview/code/libtest/jni/test.c function say_hello (line 4) | void say_hello() FILE: docs/overview/code/main/jni/main.c function hook (line 17) | void hook() function main (line 48) | int main() FILE: libbiz/jni/biz.c function my_system_log_print (line 8) | static int my_system_log_print(int prio, const char* tag, const char* fm... function my_libtest_log_print (line 22) | static int my_libtest_log_print(int prio, const char* tag, const char* f... function Java_com_qiyi_biz_NativeHandler_start (line 36) | void Java_com_qiyi_biz_NativeHandler_start(JNIEnv* env, jobject obj) FILE: libtest/jni/test.c function Java_com_qiyi_test_NativeHandler_start (line 29) | void Java_com_qiyi_test_NativeHandler_start(JNIEnv* env, jobject obj) FILE: libxhook/jni/tree.h type type (line 80) | struct type type type (line 129) | struct type type name (line 130) | struct name type type (line 130) | struct type type type (line 140) | struct type type name (line 141) | struct name type type (line 141) | struct type type type (line 154) | struct type type name (line 155) | struct name function _SPLAY_MINMAX (line 248) | void name##_SPLAY_MINMAX(struct name *head, int __comp) \ type type (line 316) | struct type type type (line 317) | struct type type name (line 599) | struct name type type (line 601) | struct type type type (line 602) | struct type type name (line 630) | struct name type type (line 632) | struct type type name (line 648) | struct name type type (line 650) | struct type type type (line 651) | struct type type type (line 669) | struct type type type (line 691) | struct type type name (line 712) | struct name type type (line 714) | struct type type type (line 715) | struct type FILE: libxhook/jni/xh_core.c type xh_core_hook_info_t (line 45) | typedef struct xh_core_hook_info type xh_core_hook_info_queue_t (line 56) | typedef TAILQ_HEAD(xh_core_hook_info_queue, xh_core_hook_info,) xh_core_... type xh_core_ignore_info_t (line 59) | typedef struct xh_core_ignore_info type xh_core_ignore_info_queue_t (line 68) | typedef TAILQ_HEAD(xh_core_ignore_info_queue, xh_core_ignore_info,) xh_c... type xh_core_map_info_t (line 71) | typedef struct xh_core_map_info function xh_core_map_info_cmp (line 78) | static __inline__ int xh_core_map_info_cmp(xh_core_map_info_t *a, xh_cor... type xh_core_map_info_tree_t (line 82) | typedef RB_HEAD(xh_core_map_info_tree, xh_core_map_info) xh_core_map_inf... type sigaction (line 88) | struct sigaction function xh_core_sigsegv_handler (line 91) | static void xh_core_sigsegv_handler(int sig) function xh_core_add_sigsegv_handler (line 100) | static int xh_core_add_sigsegv_handler() function xh_core_del_sigsegv_handler (line 114) | static void xh_core_del_sigsegv_handler() function xh_core_register (line 137) | int xh_core_register(const char *pathname_regex_str, const char *symbol, function xh_core_ignore (line 178) | int xh_core_ignore(const char *pathname_regex_str, const char *symbol) function xh_core_check_elf_header (line 223) | static int xh_core_check_elf_header(uintptr_t base_addr, const char *pat... function xh_core_hook_impl (line 248) | static void xh_core_hook_impl(xh_core_map_info_t *mi) function xh_core_hook (line 283) | static void xh_core_hook(xh_core_map_info_t *mi) function xh_core_refresh_impl (line 304) | static void xh_core_refresh_impl() function xh_core_init_once (line 516) | static void xh_core_init_once() function xh_core_init_async_once (line 549) | static void xh_core_init_async_once() function xh_core_refresh (line 574) | int xh_core_refresh(int async) function xh_core_clear (line 603) | void xh_core_clear() function xh_core_enable_debug (line 668) | void xh_core_enable_debug(int flag) function xh_core_enable_sigsegv_protection (line 673) | void xh_core_enable_sigsegv_protection(int flag) FILE: libxhook/jni/xh_elf.c type xh_elf_plain_reloc_iterator_t (line 73) | typedef struct function xh_elf_plain_reloc_iterator_init (line 80) | static void xh_elf_plain_reloc_iterator_init(xh_elf_plain_reloc_iterator... type xh_elf_sleb128_decoder_t (line 98) | typedef struct function xh_elf_sleb128_decoder_init (line 104) | static void xh_elf_sleb128_decoder_init(xh_elf_sleb128_decoder_t *self, function xh_elf_sleb128_decoder_next (line 111) | static int xh_elf_sleb128_decoder_next(xh_elf_sleb128_decoder_t *self, s... type xh_elf_packed_reloc_iterator_t (line 138) | typedef struct function xh_elf_packed_reloc_iterator_init (line 160) | static int xh_elf_packed_reloc_iterator_init(xh_elf_packed_reloc_iterato... function xh_elf_packed_reloc_iterator_read_group_fields (line 174) | static int xh_elf_packed_reloc_iterator_read_group_fields(xh_elf_packed_... function xh_elf_check_elfheader (line 259) | int xh_elf_check_elfheader(uintptr_t base_addr) function xh_elf_hash (line 302) | static uint32_t xh_elf_hash(const uint8_t *name) function xh_elf_gnu_hash (line 317) | static uint32_t xh_elf_gnu_hash(const uint8_t *name) function xh_elf_hash_lookup (line 356) | static int xh_elf_hash_lookup(xh_elf_t *self, const char *symbol, uint32... function xh_elf_gnu_hash_lookup_def (line 377) | static int xh_elf_gnu_hash_lookup_def(xh_elf_t *self, const char *symbol... function xh_elf_gnu_hash_lookup_undef (line 416) | static int xh_elf_gnu_hash_lookup_undef(xh_elf_t *self, const char *symb... function xh_elf_gnu_hash_lookup (line 433) | static int xh_elf_gnu_hash_lookup(xh_elf_t *self, const char *symbol, ui... function xh_elf_find_symidx_by_name (line 440) | static int xh_elf_find_symidx_by_name(xh_elf_t *self, const char *symbol... function xh_elf_replace_function (line 448) | static int xh_elf_replace_function(xh_elf_t *self, const char *symbol, E... function xh_elf_check (line 499) | static int xh_elf_check(xh_elf_t *self) function xh_elf_dump_elfheader (line 552) | static void xh_elf_dump_elfheader(xh_elf_t *self) function xh_elf_dump_programheader (line 590) | static void xh_elf_dump_programheader(xh_elf_t *self) function xh_elf_dump_dynamic (line 633) | static void xh_elf_dump_dynamic(xh_elf_t *self) function xh_elf_dump_rel (line 653) | static void xh_elf_dump_rel(xh_elf_t *self, const char *type, ElfW(Addr)... function xh_elf_dump_symtab (line 719) | static void xh_elf_dump_symtab(xh_elf_t *self) function xh_elf_dump (line 744) | static void xh_elf_dump(xh_elf_t *self) function xh_elf_init (line 760) | int xh_elf_init(xh_elf_t *self, uintptr_t base_addr, const char *pathname) function xh_elf_find_and_replace_func (line 928) | static int xh_elf_find_and_replace_func(xh_elf_t *self, const char *sect... function xh_elf_hook (line 983) | int xh_elf_hook(xh_elf_t *self, const char *symbol, void *new_func, void... FILE: libxhook/jni/xh_elf.h type xh_elf_t (line 35) | typedef struct FILE: libxhook/jni/xh_jni.c function JNIEXPORT (line 29) | JNIEXPORT jint JNI_API_DEF(refresh)(JNIEnv *env, jobject obj, jboolean a... function JNIEXPORT (line 37) | JNIEXPORT void JNI_API_DEF(clear)(JNIEnv *env, jobject obj) function JNIEXPORT (line 45) | JNIEXPORT void JNI_API_DEF(enableDebug)(JNIEnv *env, jobject obj, jboole... function JNIEXPORT (line 53) | JNIEXPORT void JNI_API_DEF(enableSigSegvProtection)(JNIEnv *env, jobject... FILE: libxhook/jni/xh_util.c function xh_util_get_mem_protect (line 44) | int xh_util_get_mem_protect(uintptr_t addr, size_t len, const char *path... function xh_util_get_addr_protect (line 105) | int xh_util_get_addr_protect(uintptr_t addr, const char *pathname, unsig... function xh_util_set_addr_protect (line 110) | int xh_util_set_addr_protect(uintptr_t addr, unsigned int prot) function xh_util_flush_instruction_cache (line 118) | void xh_util_flush_instruction_cache(uintptr_t addr) FILE: libxhook/jni/xh_version.c function xh_version (line 53) | unsigned int xh_version() FILE: libxhook/jni/xhook.c function xhook_register (line 27) | int xhook_register(const char *pathname_regex_str, const char *symbol, function xhook_ignore (line 33) | int xhook_ignore(const char *pathname_regex_str, const char *symbol) function xhook_refresh (line 38) | int xhook_refresh(int async) function xhook_clear (line 43) | void xhook_clear() function xhook_enable_debug (line 48) | void xhook_enable_debug(int flag) function xhook_enable_sigsegv_protection (line 53) | void xhook_enable_sigsegv_protection(int flag) FILE: xhookwrapper/app/src/main/java/com/qiyi/test/NativeHandler.java class NativeHandler (line 7) | public class NativeHandler { method getInstance (line 10) | public static NativeHandler getInstance() { method NativeHandler (line 14) | private NativeHandler() { method start (line 17) | public native void start(); FILE: xhookwrapper/app/src/main/java/com/qiyi/test/Test.java class Test (line 7) | public class Test { method getInstance (line 10) | public static Test getInstance() { method Test (line 14) | private Test() { method init (line 17) | public synchronized void init() { method start (line 21) | public synchronized void start() { FILE: xhookwrapper/app/src/main/java/com/qiyi/xhookwrapper/MainActivity.java class MainActivity (line 7) | public class MainActivity extends AppCompatActivity { method onCreate (line 9) | @Override FILE: xhookwrapper/biz/src/main/java/com/qiyi/biz/Biz.java class Biz (line 7) | public class Biz { method getInstance (line 10) | public static Biz getInstance() { method Biz (line 14) | private Biz() { method init (line 17) | public synchronized void init() { method start (line 21) | public synchronized void start() { FILE: xhookwrapper/biz/src/main/java/com/qiyi/biz/NativeHandler.java class NativeHandler (line 7) | public class NativeHandler { method getInstance (line 10) | public static NativeHandler getInstance() { method NativeHandler (line 14) | private NativeHandler() { method start (line 17) | public native void start(); FILE: xhookwrapper/xhook/src/main/java/com/qiyi/xhook/NativeHandler.java class NativeHandler (line 7) | public class NativeHandler { method getInstance (line 10) | public static NativeHandler getInstance() { method NativeHandler (line 14) | private NativeHandler() { method refresh (line 17) | public native int refresh(boolean async); method clear (line 19) | public native void clear(); method enableDebug (line 21) | public native void enableDebug(boolean flag); method enableSigSegvProtection (line 23) | public native void enableSigSegvProtection(boolean flag); FILE: xhookwrapper/xhook/src/main/java/com/qiyi/xhook/XHook.java class XHook (line 10) | public class XHook { method getInstance (line 14) | public static XHook getInstance() { method XHook (line 18) | private XHook() { method isInited (line 25) | public synchronized boolean isInited() { method init (line 34) | public synchronized boolean init(Context ctx) { method refresh (line 59) | public synchronized void refresh(boolean async) { method clear (line 75) | public synchronized void clear() { method enableDebug (line 92) | public synchronized void enableDebug(boolean flag) { method enableSigSegvProtection (line 109) | public synchronized void enableSigSegvProtection(boolean flag) {