You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用frida-discover追踪计算器应用时持续崩溃的问题求助

问题

尝试使用frida-discover追踪com.google.android.calculator应用时,应用频繁崩溃,崩溃日志如下:

Process crashed: Bad access due to invalid address

***
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/sunfish/sunfish:11/RQ1A.201205.008/6943376:user/release-keys'
Revision: 'MP1.0'
ABI: 'arm64'
Timestamp: 2022-10-05 14:55:30+0200
pid: 2921, tid: 2921, name: roid.calculator  >>> com.google.android.calculator <<<
uid: 10211
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xb8
Cause: null pointer dereference
Abort message: 'RenderThread Looper POLL_ERROR!'
    x0  0000000000000000  x1  00000071b09fb4d0  x2  0000007140772060  x3  0000007fc750e130
    x4  0000007140775d30  x5  0000000000000008  x6  53736d647543ff6f  x7  7f7f7f7f7f7f7f7f
    x8  5e7044044a430434  x9  0000000000080100  x10 0000000000000106  x11 0000000000000001
    x12 0000000000000000  x13 00000049ec7e2943  x14 0000510fd40fe42a  x15 00000071b09fb514
    x16 0000000000000001  x17 0000007445488ce0  x18 0000007446356000  x19 0000000000000000
    x20 0000007fc750e4d0  x21 0000000000000000  x22 000000000000003f  x23 0000000000000001
    x24 000000007fffffff  x25 00000074460d3000  x26 b4000071f0aa5e50  x27 00000000708779e8
    x28 b400007320a82be0  x29 0000007fc750e160
    lr  00000071b09fb4d4  sp  0000007fc750e130  pc  000000719dfbf264  pst 0000000080000000
backtrace:
      #00 pc 0000000000018264  <anonymous:719dfa7000>
      #01 pc 00000000006684d0  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x668000) (art::JniMethodEnd(unsigned int, art::Thread*)+28) (BuildId: c820164b0c64ea40f1abc53aaf588b44)
      #02 pc 00000000006684d0  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x668000) (art::JniMethodEnd(unsigned int, art::Thread*)+28) (BuildId: c820164b0c64ea40f1abc53aaf588b44)
      #03 pc 000000000020faec  /system/framework/arm64/boot-framework.oat!boot-framework.oat (offset 0x20f000) (art_jni_trampoline+156) (BuildId: c069840a4da062c0cadf31a17c8446ba32b380d8)
      #04 pc 000000000063dbc0  /system/framework/arm64/boot-framework.oat!boot-framework.oat (offset 0x63d000) (android.os.MessageQueue.next+192) (BuildId: c069840a4da062c0cadf31a17c8446ba32b380d8)
      #05 pc 000000000063a678  /system/framework/arm64/boot-framework.oat!boot-framework.oat (offset 0x211000) (android.os.Looper.loop+744) (BuildId: c069840a4da062c0cadf31a17c8446ba32b380d8)
      #06 pc 00000000003fbf90  /system/framework/arm64/boot-framework.oat!boot-framework.oat (offset 0x211000) (android.app.ActivityThread.main+752) (BuildId: c069840a4da062c0cadf31a17c8446ba32b380d8)
      #07 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x133000) (art_quick_invoke_static_stub+568) (BuildId: c820164b0c64ea40f1abc53aaf588b44)
      #08 pc 00000000001a8a94  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x1a6000) (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: c820164b0c64ea40f1abc53aaf588b44)
      #09 pc 000000000055431c  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x49f000) (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1364) (BuildId: c820164b0c64ea40f1abc53aaf588b44)
      #10 pc 00000000004d3b28  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x49f000) (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: c820164b0c64ea40f1abc53aaf588b44)
      #11 pc 00000000000896f4  /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+180) (BuildId: ceb5e62f6d91c45ea99526daec5879eba39c6a54)
      #12 pc 000000000088e588  /system/framework/arm64/boot-framework.oat!boot-framework.oat (offset 0x63f000) (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+136) (BuildId: c069840a4da062c0cadf31a17c8446ba32b380d8)
      #13 pc 0000000000896cb8  /system/framework/arm64/boot-framework.oat!boot-framework.oat (offset 0x63f000) (com.android.internal.os.ZygoteInit.main+2280) (BuildId: c069840a4da062c0cadf31a17c8446ba32b380d8)
      #14 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x133000) (art_quick_invoke_static_stub+568) (BuildId: c820164b0c64ea40f1abc53aaf588b44)
      #15 pc 00000000001a8a94  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x1a6000) (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: c820164b0c64ea40f1abc53aaf588b44)
      #16 pc 0000000000552d58  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x49f000) (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+448) (BuildId: c820164b0c64ea40f1abc53aaf588b44)
      #17 pc 000000000055320c  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x49f000) (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+92) (BuildId: c820164b0c64ea40f1abc53aaf588b44)
      #18 pc 000000000043811c  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x1f4000) (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+656) (BuildId: c820164b0c64ea40f1abc53aaf588b44)
      #19 pc 0000000000099424  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+124) (BuildId: 8511fb98bccbbe26c39afaafc8b62b8f)
      #20 pc 00000000000a08b0  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+836) (BuildId: 8511fb98bccbbe26c39afaafc8b62b8f)
      #21 pc 0000000000003580  /system/bin/app_process64 (main+1336) (BuildId: bdcc463a75a1be87eb0f7478ec16547d)
      #22 pc 000000000004988c  /apex/com.android.runtime/lib64/bionic/libc.so!libc.so (offset 0x42000) (__libc_init+108) (BuildId: 95f68a34fdf7b31f42d3f811d5d88f58)
***
Stopping...

测试环境对比:

  • 崩溃环境:Google Pixel 4a(Android 11),Magisk v25.2,MagiskFrida v15.2.2-1
  • 正常环境:ONEPLUS A5000(Android 9),Magisk v22.0,MagiskFrida v15.1.14-1
可能的原因与解决建议
  • Frida版本与Android 11的兼容性问题:Frida 15.2.2版本可能存在与Android 11 ART运行时的适配缺陷,尤其是在处理RenderThread的Looper回调时,导致空指针引用崩溃。建议降级到和正常环境一致的Frida 15.1.14版本,或者升级到更高版本的Frida(如15.2.3及以上),看是否修复了该兼容性问题。
  • Magisk版本过高导致的适配冲突:Magisk v25.2的SELinux策略或注入机制可能与旧版Frida存在冲突,而Magisk v22.0的机制更适配Frida 15.x系列。可以尝试将Pixel 4a的Magisk降级到v22.0,配合Frida 15.1.14测试是否正常。
  • Android 11的ART运行时变化:Android 11对ART做了不少优化和改动,包括JNI调用的校验、线程管理逻辑,Frida的动态插桩逻辑可能在这些变化下出现异常,触发RenderThread的空指针错误。可以尝试使用frida-discover的--no-debug参数,减少对应用线程的调试干预,看是否能避免崩溃。
  • 目标应用的版本差异:不同设备上的com.google.android.calculator版本可能不同,Android 11上的计算器应用可能引入了新的RenderThread逻辑,Frida的插桩操作干扰了这部分逻辑导致崩溃。可以尝试安装和一加设备上相同版本的计算器应用再测试。

内容的提问来源于stack exchange,提问作者PyKKe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:50:26