turing-technician / FastHook

Android ART Hook

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

native segment fault when using callback mode.

sshxmz opened this issue · comments

art::Method_getExceptionTypes(_JNIEnv*, _jobject*) 0x00000077ab9adf70
getExceptionTypes 0x0000000071a412b0
art_quick_invoke_stub 0x00000077abb04b8c
art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*) 0x00000077ab696598
art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*) 0x00000077ab8554a0
bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab84fa94
bool art::interpreter::DoInvoke<(art::InvokeType)2, false, false>(art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab87fc60
art::JValue art::interpreter::ExecuteSwitchImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab87e028
art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab82fc68
artQuickToInterpreterBridge 0x00000077abadf454
art_quick_to_interpreter_bridge 0x00000077abb0dd10
art_quick_invoke_stub 0x00000077abb04b8c
art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*) 0x00000077ab696598
art::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::ArgArray*, art::JValue*, char const*) 0x00000077aba28dcc
art::InvokeWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*) 0x00000077aba29c24
art::Dbg::ExecuteMethodWithoutPendingException(art::ScopedObjectAccess&, art::DebugInvokeReq*) 0x00000077ab7423ec
art::Dbg::ExecuteMethod(art::DebugInvokeReq*) 0x00000077ab741c74
art::JDWP::JdwpState::SuspendByPolicy(art::JDWP::JdwpSuspendPolicy, unsigned long) 0x00000077ab8bfed4
art::JDWP::JdwpState::SendRequestAndPossiblySuspend(art::JDWP::ExpandBuf*, art::JDWP::JdwpSuspendPolicy, unsigned long) 0x00000077ab8c0344
art::JDWP::JdwpState::PostLocationEvent(art::JDWP::EventLocation const*, art::mirror::Object*, int, art::JValue const*) 0x00000077ab8c1ca8
art::Dbg::PostLocationEvent(art::ArtMethod*, int, art::mirror::Object*, int, art::JValue const*) 0x00000077ab73b030
art::Dbg::UpdateDebugger(art::Thread*, art::mirror::Object*, art::ArtMethod*, unsigned int, int, art::JValue const*) 0x00000077ab73baf0
art::instrumentation::Instrumentation::DexPcMovedEventImpl(art::Thread*, art::ObjPtrart::mirror::Object, art::ArtMethod*, unsigned int) const 0x00000077ab8226e8
art::interpreter::DoDexPcMoveEvent(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame const&, unsigned int, art::instrumentation::Instrumentation const*, art::JValue*) 0x00000077ab86b5c0
art::JValue art::interpreter::ExecuteSwitchImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab870cf8
art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab82fc68
art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*) 0x00000077ab8357d0
bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab8509b8
bool art::interpreter::DoInvoke<(art::InvokeType)0, true, false>(art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab8827d4
art::JValue art::interpreter::ExecuteSwitchImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab87ca30
art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab82fc68
art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*) 0x00000077ab8357d0
bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab84fa74
bool art::interpreter::DoInvoke<(art::InvokeType)2, false, false>(art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab87fc60
art::JValue art::interpreter::ExecuteSwitchImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab87e028
art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab82fc68
art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*) 0x00000077ab8357d0
bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab84fa74
bool art::interpreter::DoInvoke<(art::InvokeType)4, false, false>(art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab881cf4
art::JValue art::interpreter::ExecuteSwitchImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab87c478
art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab82fc68
art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*) 0x00000077ab8357d0
bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab84fa74
bool art::interpreter::DoInvoke<(art::InvokeType)2, false, false>(art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab87fc60
art::JValue art::interpreter::ExecuteSwitchImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab87e028
art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab82fc68
art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*) 0x00000077ab8357d0
bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab84fa74
bool art::interpreter::DoInvoke<(art::InvokeType)4, false, false>(art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab881cf4
art::JValue art::interpreter::ExecuteSwitchImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab87c478
art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab82fc68
art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*) 0x00000077ab8357d0
bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab84fa74
bool art::interpreter::DoInvoke<(art::InvokeType)0, false, false>(art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab882654
art::JValue art::interpreter::ExecuteSwitchImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab87b1f0
art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab82fc68
art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*) 0x00000077ab8357d0
bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab84fa74
bool art::interpreter::DoInvoke<(art::InvokeType)2, false, false>(art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab87fc60
art::JValue art::interpreter::ExecuteSwitchImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab87e028
art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab82fc68
art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*) 0x00000077ab8357d0
bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab84fa74
MterpInvokeStatic 0x00000077abaedf54
ExecuteMterpImpl 0x00000077abaf6a98
art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab82fc04
artQuickToInterpreterBridge 0x00000077abadf454
art_quick_to_interpreter_bridge 0x00000077abb0dd10
art_quick_invoke_static_stub 0x00000077abb04e50
art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*) 0x00000077ab6965d4
art::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::ArgArray*, art::JValue*, char const*) 0x00000077aba28dcc
art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long) 0x00000077aba2a970
art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobject*) 0x00000077ab9ae188
invoke 0x0000000071ac7f38
art_quick_invoke_stub 0x00000077abb04b8c
art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*) 0x00000077ab696598
art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*) 0x00000077ab8554a0
bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 0x00000077ab84fa94
MterpInvokeVirtual 0x00000077abaecadc
ExecuteMterpImpl 0x00000077abaf6918
art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool) 0x00000077ab82fc04
artQuickToInterpreterBridge 0x00000077abadf454
art_quick_to_interpreter_bridge 0x00000077abb0dd10
main 0x0000000073bf8968
art_quick_invoke_static_stub 0x00000077abb04e50
art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*) 0x00000077ab6965d4
art::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::ArgArray*, art::JValue*, char const*) 0x00000077aba28dcc
art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list) 0x00000077aba289f0
art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list) 0x00000077ab92f42c
___lldb_unnamed_symbol16$$libandroid_runtime.so 0x000000782d3ffda8
android::AndroidRuntime::start(char const*, android::Vectorandroid::String8 const&, bool) 0x000000782d40251c
___lldb_unnamed_symbol2$$app_process64 0x0000005578363444
__libc_init 0x000000782f337c7c
___lldb_unnamed_symbol1$$app_process64 0x0000005578362e74
__dl__start 0x0000007830862e78