Giter VIP home page Giter VIP logo

pine's Introduction

Pine LICENSE

中文版本

Introduction

Pine is a dynamic java method hook framework on ART runtime, which can intercept almost all java method calls in the current process.

Currently it supports Android 4.4(ART only) ~ 14 with thumb-2/arm64 architecture.

About its working principle, you can refer to this Chinese article.

Note: For Android 6.0 devices with arm32/thumb-2 architectures, the arguments may be wrong; and for Android 9.0+, pine will disable the hidden api restriction policy.

The name, Pine, represents a class of antipsychotic drugs represented by Quetiapine and Clozapine. It is also an acronym for "Pine Is Not Epic".

Usage

Basic Usage

Download

Add dependencies in build.gradle (like this):

dependencies {
    implementation 'top.canyie.pine:core:<version>'
}

Basic configuration:

PineConfig.debug = true; // Do we need to print more detailed logs?
PineConfig.debuggable = BuildConfig.DEBUG; // Is this process debuggable?

Example 1: monitor the creation of activities

Pine.hook(Activity.class.getDeclaredMethod("onCreate", Bundle.class), new MethodHook() {
    @Override public void beforeCall(Pine.CallFrame callFrame) {
        Log.i(TAG, "Before " + callFrame.thisObject + " onCreate()");
    }

    @Override public void afterCall(Pine.CallFrame callFrame) {
        Log.i(TAG, "After " + callFrame.thisObject + " onCreate()");
    }
});

Example 2: monitor the creation and destroy of all java threads

final MethodHook runHook = new MethodHook() {
    @Override public void beforeCall(Pine.CallFrame callFrame) throws Throwable {
        Log.i(TAG, "Thread " + callFrame.thisObject + " started...");
    }

    @Override public void afterCall(Pine.CallFrame callFrame) throws Throwable {
        Log.i(TAG, "Thread " + callFrame.thisObject + " exit...");
    }
};

Pine.hook(Thread.class.getDeclaredMethod("start"), new MethodHook() {
    @Override public void beforeCall(Pine.CallFrame callFrame) {
        Pine.hook(ReflectionHelper.getMethod(callFrame.thisObject.getClass(), "run"), runHook);
    }
});

Example 3: force allow any threads to modify ui:

Method checkThread = Class.forName("android.view.ViewRootImpl").getDeclaredMethod("checkThread");
Pine.hook(checkThread, MethodReplacement.DO_NOTHING);

Xposed Support

Download

Pine supports hooking methods in Xposed-style and loading Xposed modules. (Only java method hooking is supported. Modules using unsupported features like Resource-hooking won't work.)

implementation 'top.canyie.pine:xposed:<version>'

Directly hook methods in Xposed-style:

XposedHelpers.findAndHookMethod(TextView.class, "setText",
                CharSequence.class, TextView.BufferType.class, boolean.class, int.class,
                new XC_MethodHook() {
                    @Override
                    protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                        Log.e(TAG, "Before TextView.setText");
                        param.args[0] = "hooked";
                    }

                    @Override
                    protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                        Log.e(TAG, "After TextView.setText");
                    }
                });

or like this:

XposedBridge.hookMethod(target, callback);

and you can load xposed modules (resources hook is not supported now):

// 1. load modules
PineXposed.loadModule(new File(modulePath));

// 2. call all 'IXposedHookLoadPackage' callback
PineXposed.onPackageLoad(packageName, processName, appInfo, isFirstApp, classLoader);

Note:

  1. Hooks will only take effect in the current process. If you want hooks take effect in other processes, inject your code into them first. There's nothing to do with us.
  2. Modules that use unsupported features (e.g. Resources hook or XSharedPreferences) will not work.

Enhanced Features

Download

With Dobby, you can use some enhanced features:

implementation 'top.canyie.pine:enhances:<version>'
  • Delay hook (aka pending hook) support, hooking static methods without initializing its declaring class immediately:
PineEnhances.enableDelayHook();

ProGuard

If you are using enhanced features:

# Pine Enhances
-keep class top.canyie.pine.enhances.PineEnhances {
    private static void onClassInit(long);
}

If you use Xposed features and Xposed APIs need to be called outside your module (e.g. you call PineXposed.loadModule() to load external modules):

# Keep Xposed APIs
-keep class de.robv.android.xposed.** { *; }
-keep class android.** { *; }

Known issues

  • May not be compatible with some devices/systems.

  • Due to #11, we recommend hooking methods with less concurrency as much as possible, for example:

public static void method() {
    synchronized (sLock) {
        methodLocked();
    }
}

private static void methodLocked() {
    // ...
}

In the example, we recommend you to hook methodLocked instead of method.

  • Pine will disable hidden api policy on initialization by default. Due to an ART bug, if a thread changes hidden api policy while another thread is calling a API that lists members of a class, a out-of-bounds write may occur and causes crashes. We have no way to fix system bugs, so the only way is, initialize our library before other threads is started to avoid the race condition. For more info, see tiann/FreeReflection#60.

  • For more, see issues.

Discussion

QQ Group:949888394 Telegram Group: @DreamlandFramework

Credits

License

Pine Copyright (c) canyie

AndroidELF Copyright (c) Swift Gan

Dobby Copyright (c) jmpews

Licensed under the Anti 996 License, Version 1.0 (the "License");

you may not use this "Pine" project except in compliance with the License.

You may obtain a copy of the License at

https://github.com/996icu/996.ICU/blob/master/LICENSE

pine's People

Contributors

alhyoss avatar canyie avatar vendicated avatar wukaicheng avatar yujincheng08 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pine's Issues

Floating point parameter parsing error on arm64

Floating point parameters are stored in floating point registers (d0-d7), but when we try to fix it (07efc15), a crash occurs after the bridge method returns:

2021-02-05 14:19:12.206 26052-26052/? D/Pine: Hooking static void top.canyie.pine.examples.MainActivity$Seven.seven(long,int,float,double,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,float,double) callback top.canyie.pine.examples.MainActivity$1@ebc4020
2021-02-05 14:19:12.209 26052-26052/? D/Pine: Mapped new memory 0x7d5b857000 (size 4096)
2021-02-05 14:19:12.209 26052-26052/? D/Pine: InstallReplacementTrampoline: origin 0x7d5c951198 origin_entry 0x7cd9d67410 bridge_jump 0x7d5b857000
2021-02-05 14:19:12.209 26052-26052/? I/PineExample: Start invoke
2021-02-05 14:19:12.210 26052-26052/? I/Pine: handleBridge: artMethod=0x7d5c951198 extras=0x7cd21cf380 sp=0x7fed416300
2021-02-05 14:19:12.210 26052-26052/? D/Pine: handleCall for method static void top.canyie.pine.examples.MainActivity$Seven.seven(long,int,float,double,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,float,double)
2021-02-05 14:19:12.210 26052-26052/? I/PineExample: Before: [1145141919810, 735778922, 3.1415, 8119.983, null, java.lang.Object@a713dd9, null, java.lang.Object@a713dd9, null, 233.3, 666.666]
2021-02-05 14:19:12.211 26052-26052/? I/PineExample: Seven: 1145141919810 735778922 3.1415 8119.983 null java.lang.Object@a713dd9 null java.lang.Object@a713dd9 null 233.3 666.666
2021-02-05 14:19:12.211 26052-26052/? I/PineExample: After: null
2021-02-05 14:19:12.299 26091-26091/? E/xcrash_dumper: UTIL: ptrace error, addr:40490e30, errno:5
2021-02-05 14:19:12.299 26091-26091/? E/xcrash_dumper: UTIL: ptrace error, addr:43694ca8, errno:5
2021-02-05 14:19:13.097 26052-26084/? E/PineExample: XCrash triggered: logPath /data/user/0/top.canyie.pine.examples/files/tombstones/tombstone_00001612505952093065_1.0__top.canyie.pine.examples.native.xcrash emergency null
2021-02-05 14:19:13.099 26052-26052/? A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x40bfb7fba5e353f8 in tid 26052 (e.pine.examples), pid 26052 (e.pine.examples)
2021-02-05 14:19:13.135 26112-26112/? I/crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
2021-02-05 14:19:13.135 1145-1145/? I//system/bin/tombstoned: received crash request for pid 26052
2021-02-05 14:19:13.137 26112-26112/? I/crash_dump64: performing dump of process 26052 (target tid = 26052)
2021-02-05 14:19:13.141 26112-26112/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2021-02-05 14:19:13.142 26112-26112/? A/DEBUG: Build fingerprint: 'google/blueline/blueline:10/QQ3A.200605.001/6392402:user/release-keys'
2021-02-05 14:19:13.142 26112-26112/? A/DEBUG: Revision: 'MP1.0'
2021-02-05 14:19:13.142 26112-26112/? A/DEBUG: ABI: 'arm64'
2021-02-05 14:19:13.143 26112-26112/? A/DEBUG: Timestamp: 2021-02-05 14:19:13+0800
2021-02-05 14:19:13.143 26112-26112/? A/DEBUG: pid: 26052, tid: 26052, name: e.pine.examples  >>> top.canyie.pine.examples <<<
2021-02-05 14:19:13.143 26112-26112/? A/DEBUG: uid: 10333
2021-02-05 14:19:13.143 26112-26112/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x40bfb7fba5e353f8
2021-02-05 14:19:13.143 26112-26112/? A/DEBUG:     x0  0000000000000000  x1  0000007d5c951198  x2  0000007cd21cf380  x3  0000007fed416300
2021-02-05 14:19:13.143 26112-26112/? A/DEBUG:     x4  0000000040490e56  x5  40bfb7fba5e353f8  x6  0000000013344788  x7  0000000000000000
2021-02-05 14:19:13.143 26112-26112/? A/DEBUG:     x8  9e37d9c003bf6cd8  x9  9e37d9c003bf6cd8  x10 0000000000000007  x11 0000000000000000
2021-02-05 14:19:13.143 26112-26112/? A/DEBUG:     x12 ffffffffffffffff  x13 0000000000000001  x14 0000000000000006  x15 000000000000000d
2021-02-05 14:19:13.143 26112-26112/? A/DEBUG:     x16 0000000000000000  x17 0000000000000085  x18 0000007d5ff18000  x19 0000000043694ccd
2021-02-05 14:19:13.143 26112-26112/? A/DEBUG:     x20 4084d553f7ced917  x21 0000007d5ef87c00  x22 0000007fed4165b8  x23 0000007ccdcfd584
2021-02-05 14:19:13.143 26112-26112/? A/DEBUG:     x24 0000000000000038  x25 0000007d5f276020  x26 0000007d5ef87cb0  x27 0000000000000002
2021-02-05 14:19:13.143 26112-26112/? A/DEBUG:     x28 00000000701030d0  x29 0000000000000000
2021-02-05 14:19:13.143 26112-26112/? A/DEBUG:     sp  0000007fed416370  lr  4000000000000000  pc  0000007cd9d5e5cc
2021-02-05 14:19:13.144 26112-26112/? A/DEBUG: backtrace:
2021-02-05 14:19:13.144 26112-26112/? A/DEBUG:       #00 pc 00000000001365cc  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+588) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2021-02-05 14:19:13.144 26112-26112/? A/DEBUG:       #01 pc 4000000000000000  <unknown>

We notice the fault addr, 0x40bfb7fba5e353f8, convert it to double as 8119.983, which is equal to an argument.
Don't know why, just revert this commit and wait for more information.

Vivo X90 Android 13 异常闪退

2023-04-28 17:21:18.804 19585-19585/? A/DEBUG: Softversion: PD2227B_A_*********.W10.V000L1
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG: Time: 2023-04-28 17:21:18
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG: Build fingerprint: 'vivo/PD2227/PD2227:13/TP1A.220624.014/compiler02180032:user/release-keys'
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG: Revision: '0'
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG: ABI: 'arm'
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG: Timestamp: 2023-04-28 17:21:18.495547616+0800
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG: Process uptime: 3s
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG: Cmdline: com.
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG: pid: 19494, tid: 19511, name: binder:19494_3  >>> com.<<<
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG: uid: 10378
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG: signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0xf26c8020
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:     r0  00000000  r1  dec5ebec  r2  00000000  r3  ea8fb140
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:     r4  00000018  r5  dec5ebb8  r6  dec5eb6c  r7  eaf0b7d2
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:     r8  00000000  r9  ed091810  r10 ed613080  r11 eaa507ec
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:     ip  f3cdd110  sp  dec5eb40  lr  ed61c430  pc  f26c8020
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG: backtrace:
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #00 pc 00000020  [anon:pine codes]
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #01 pc 000dc42c  /apex/com.android.art/lib/libart.so (nterp_helper+1948) (BuildId: c4564b448d4fa634e0c6ac09e9deca3e)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #02 pc 001bc7ec  /system/framework/framework.jar (android.os.Binder.execTransact+0)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #03 pc 000e0bd5  /apex/com.android.art/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: c4564b448d4fa634e0c6ac09e9deca3e)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #04 pc 004d9427  /apex/com.android.art/lib/libart.so (art_quick_invoke_stub+270) (BuildId: c4564b448d4fa634e0c6ac09e9deca3e)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #05 pc 001336d7  /apex/com.android.art/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+138) (BuildId: c4564b448d4fa634e0c6ac09e9deca3e)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #06 pc 003fa17f  /apex/com.android.art/lib/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+354) (BuildId: c4564b448d4fa634e0c6ac09e9deca3e)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #07 pc 003fa297  /apex/com.android.art/lib/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+42) (BuildId: c4564b448d4fa634e0c6ac09e9deca3e)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #08 pc 00300d4f  /apex/com.android.art/lib/libart.so (art::JNI<true>::CallBooleanMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+550) (BuildId: c4564b448d4fa634e0c6ac09e9deca3e)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #09 pc 00291327  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, std::__va_list, art::Primitive::Type, art::InvokeType)+1274) (BuildId: c4564b448d4fa634e0c6ac09e9deca3e)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #10 pc 00282309  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallBooleanMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list) (.llvm.3576642306481517745)+44) (BuildId: c4564b448d4fa634e0c6ac09e9deca3e)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #11 pc 00083a39  /system/lib/libandroid_runtime.so (_JNIEnv::CallBooleanMethod(_jobject*, _jmethodID*, ...)+28) (BuildId: 86b1e77d3e121e43800ede952e025ce3)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #12 pc 000fcf79  /system/lib/libandroid_runtime.so (JavaBBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+96) (BuildId: 86b1e77d3e121e43800ede952e025ce3)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #13 pc 00039aab  /system/lib/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+222) (BuildId: 0******************630b8d0dc41ef)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #14 pc 00040d81  /system/lib/libbinder.so (android::IPCThreadState::executeCommand(int)+604) (BuildId: 0******************630b8d0dc41ef)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #15 pc 00040a8b  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+98) (BuildId: 0******************630b8d0dc41ef)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #16 pc 00041139  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+44) (BuildId: 0******************630b8d0dc41ef)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #17 pc 00060969  /system/lib/libbinder.so (android::PoolThread::threadLoop()+12) (BuildId: 0******************630b8d0dc41ef)
2023-04-28 17:21:18.804 19585-19585/? A/DEBUG:       #18 pc 0000d779  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+264) (BuildId: 67575d9eb04856f75b463fba5ef73717)
2023-04-28 17:21:18.805 19585-19585/? A/DEBUG:       #19 pc 0008a261  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+84) (BuildId: 86b1e77d3e121e43800ede952e025ce3)
2023-04-28 17:21:18.805 19585-19585/? A/DEBUG:       #20 pc 000b49e5  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+40) (BuildId: 6586ece0dfc09c7750993482d2ca596c)
2023-04-28 17:21:18.805 19585-19585/? A/DEBUG:       #21 pc 0006b7e9  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30) (BuildId: 6586ece0dfc09c7750993482d2ca596c)

Release后无效

我在调式的时候hook是有效的,生成正式包后就无效了,请问是什么问题。都是在同一台手机 原生Android 12L,区别只有是否开启debug

prebuilt更新建议

这都是两年前的prebuilt了 是时候更新一下了 (之前那你这个prebuilt,然后用到新的dex踩坑了一把)

然后有一个建议就是编译好的libpine_static.a文件给用户引用的应该修改一下 [JNI_OnLoad] (

JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved);
) 重命名一下(例如修改为Pine_JNI_OnLoad)以免链接的时候与用户原本的JNI_OnLoad冲突,这里提供两个方式修改,要么直接改源码,要么也不用改源码了直接编译好的成品用objcopy修改一下就好

objcopy --redefine-sym=JNI_OnLoad=Pine_JNI_OnLoad libpine.a

Hook 的 Static String 仅在应用内部生效

我使用了 Xposed 类型方法 Hook 了 android.os.build.class.MODEL 这个 static string,如下:

XposedHelpers.setStaticObjectField(android.os.Build.class, "MODEL", "FAKEMODEL");
System.out.println(android.os.Build.MODEL);

后在应用内部执行 System.out.println(android.os.Build.MODEL);,结果得到 FAKEMODEL.

再之后我尝试在另一个 APP 里执行同样的,结果还是得到了原本的 Hook 前的数据.

感觉是我操作问题,望大佬解答.

Android 11 problems

Android 8.0+,会在debug版本添加kAccNative以防止hook失效,而后发现Android 11上会导致闪退,遂删掉了这个flag并改成native hook的方式防止失效( 0084da1 ),之后又发现还是可能造成hook失效,edxp说这是因为11中加了一个新的class state导致会多次InitializeClass使得入口被重置,待修复。

How to break method call

its possible to break method call using pine

example:

public void foo() {
     // code here
}

i want to break call foo method like add return-void in smali

.method foo()V
     register x
     return-void
    # real code here
.end

its force to return-void and not execute code inside that method

Pine.disableProfileSaver() causes SIGILL ILL_ILLOPC on MiUi 12

App crashes instantly when launched

Only happens on MIUI 12 (Android 11), works fine on other Android 11 roms.

Logcat
10-17 15:11:37.262 16097 16097 E com.aliucord: Not starting debugger since process cannot load the jdwp agent.
10-17 15:11:37.377 16097 16097 W com.aliucord: Accessing hidden method Ljava/lang/reflect/Executable;->getAccessFlags()I (greylist-max-o, JNI, denied)
10-17 15:11:37.377 16097 16097 W Pine    : Method.getAccessFlags not found, use default access flags.
10-17 15:11:37.379 16097 16097 W Pine    : JIT API is not supported in Android R yet
10-17 15:11:37.380  1073  2006 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.381 16097 16097 W Pine    : JIT compilation is not supported in Android R yet
--------- beginning of crash
10-17 15:11:37.409 16097 16111 F libc    : Fatal signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0x73e969b118 in tid 16111 (Jit thread pool), pid 16097 (com.aliucord)
10-17 15:11:37.417  1073  2006 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.423  1073  2385 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.439  1073  2385 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.446  1073  2006 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.456  1073  2385 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.457  2974  7084 W FloatingIconLayer: release
10-17 15:11:37.464  1073  2005 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.472  1073  2005 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.483  1073  2006 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.491  1073  2006 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.503  1073  2005 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.513  1073  2385 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.521  1073  2005 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.530  1073  2385 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.534 16097 16097 W Firebase-Messag: type=1400 audit(0.0:773707): avc: denied { read } for name="u:object_r:vendor_displayfeature_prop:s0" dev="tmpfs" ino=1356 scontext=u:r:untrusted_app_29:s0:c110,c257,c512,c768 tcontext=u:object_r:vendor_displayfeature_prop:s0 tclass=file permissive=0 app=com.aliucord
10-17 15:11:37.537 16133 16133 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
10-17 15:11:37.537 16133 16133 F DEBUG   : Build fingerprint: 'Redmi/sweet_global/sweet:11/RKQ1.200826.002/V12.5.8.0.RKFMIXM:user/release-keys'
10-17 15:11:37.537 16097 16140 E libc    : Access denied finding property "ro.vendor.df.effect.conflict"
10-17 15:11:37.537 16133 16133 F DEBUG   : Revision: '0'
10-17 15:11:37.538 16133 16133 F DEBUG   : ABI: 'arm64'
10-17 15:11:37.538 16097 16140 E libc    : Access denied finding property "ro.vendor.knock.type"
10-17 15:11:37.538 16133 16133 F DEBUG   : Timestamp: 2021-10-17 15:11:37+0200
10-17 15:11:37.538 16133 16133 F DEBUG   : pid: 16097, tid: 16111, name: Jit thread pool  >>> com.aliucord <<<
10-17 15:11:37.539 16133 16133 F DEBUG   : uid: 10366
10-17 15:11:37.539 16133 16133 F DEBUG   : signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0x73e969b118 (*pc=0x000073)
10-17 15:11:37.539 16133 16133 F DEBUG   :     x0  0000000000000001  x1  00000073ccbc3c00  x2  00000073ccbc3c00  x3  0000000000000000
10-17 15:11:37.539 16133 16133 F DEBUG   :     x4  00000073d5501891  x5  5472696d4d617073  x6  7370614d6d697254  x7  7370614d6d697254
10-17 15:11:37.539 16133 16133 F DEBUG   :     x8  0000000000000000  x9  b4000073e9edb340  x10 0000000000430000  x11 00000073c0000000
10-17 15:11:37.539 16133 16133 F DEBUG   :     x12 00000000000170d0  x13 0000000000b486ff  x14 0000000000ae64c4  x15 000040cab5ea4083
10-17 15:11:37.539 16133 16133 F DEBUG   :     x16 000000746aeae3f0  x17 000000746e502f7c  x18 000000738a9f0000  x19 00000073ccbc3c00
10-17 15:11:37.539 16133 16133 F DEBUG   :     x20 000000000000005c  x21 00000073e93fcc06  x22 00000073e93ef561  x23 00000073e93f14be
10-17 15:11:37.539 16133 16133 F DEBUG   :     x24 00000073e93d2d67  x25 0000000000000001  x26 000000746a783000  x27 0000000000000043
10-17 15:11:37.539 16133 16133 F DEBUG   :     x28 00000073e99ef000  x29 00000073d5501be0
10-17 15:11:37.539 16133 16133 F DEBUG   :     lr  00000073e9684d18  sp  00000073d5501b70  pc  00000073e969b118  pst 0000000040000000
10-17 15:11:37.539  1073  2385 W SurfaceFlinger: eEarlyWakeup is deprecated. Use eExplicitEarlyWakeup[Start|End]
10-17 15:11:37.544 16133 16133 F DEBUG   : backtrace:
10-17 15:11:37.544 16133 16133 F DEBUG   :       #00 pc 0000000000359118  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x359000) (art::ProfileSaver::NotifyJitActivity()) (BuildId: d9d09da4285f1f09feadb805782797e4)
10-17 15:11:37.544 16133 16133 F DEBUG   :       #01 pc 0000000000342d14  /apex/com.android.art/lib64/libart.so (art::jit::JitCompileTask::Run(art::Thread*)+736) (BuildId: d9d09da4285f1f09feadb805782797e4)
10-17 15:11:37.544 16133 16133 F DEBUG   :       #02 pc 00000000005caee0  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x35a000) (art::ThreadPoolWorker::Run()+108) (BuildId: d9d09da4285f1f09feadb805782797e4)
10-17 15:11:37.544 16133 16133 F DEBUG   :       #03 pc 00000000005ca9d4  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x35a000) (art::ThreadPoolWorker::Callback(void*)+192) (BuildId: d9d09da4285f1f09feadb805782797e4)
10-17 15:11:37.544 16133 16133 F DEBUG   :       #04 pc 00000000000eb868  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) (BuildId: a790cdbd8e44ea8a90802da343cb82ce)
10-17 15:11:37.544 16133 16133 F DEBUG   :       #05 pc 000000000008ba88  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: a790cdbd8e44ea8a90802da343cb82ce)

Some examples of affected phones (probably just all MIUI 12 phones):

  • Mi 9T MIUI Global 12.1.1
  • Poco X3 NFC MIUI Global 12.5.1.0
  • Redmi Note 10 Pro MIUI Global 12.5.3

Edit: Also seems to happen on Realme and Oppo phones

Hooked System.loadLibrary() cannot work

Pine.hook(System.class.getDeclaredMethod("loadLibrary", String.class), new MethodHook() {
    @Override
    public void beforeCall(Pine.CallFrame callFrame) {
        String msg = String.format("Before loadLibrary('%s')", callFrame.args[0]);
        Log.w("Pine", msg);
    }

    @Override
    public void afterCall(Pine.CallFrame callFrame) {
        String msg = String.format("After loadLibrary('%s')", callFrame.args[0]);
        Log.w("Pine", msg);
    }
});

15:28:06.104 Pine I handleBridge: artMethod=0x6f510640 originExtras=0x784b6addc0 extras=0x784b6add00 sp=0x7ff4df62c0
15:28:06.104 Pine D handleCall for method public static void java.lang.System.loadLibrary(java.lang.String)
15:28:06.105 Pine W Before loadLibrary('xxxxx')
15:28:06.106 Pine W After loadLibrary('xxxxx')
15:28:06.106 System.err W java.lang.UnsatisfiedLinkError: dlopen failed: library "libxxxxx.so" not found
15:28:06.107 System.err W at java.lang.Runtime.loadLibrary0(Runtime.java:1082)
15:28:06.107 System.err W at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
15:28:06.107 System.err W at java.lang.System.loadLibrary(System.java:1668)
15:28:06.107 System.err W at java.lang.reflect.Method.invoke(Native Method)
15:28:06.107 System.err W at top.canyie.pine.Pine.callBackupMethod(Pine.java:436)
15:28:06.107 System.err W at top.canyie.pine.Pine$CallFrame.invokeOriginalMethod(Pine.java:997)
15:28:06.108 System.err W at top.canyie.pine.Pine.handleCall(Pine.java:681)
15:28:06.108 System.err W at top.canyie.pine.entry.Arm64Entry.handleBridge(Arm64Entry.java:159)
15:28:06.108 System.err W at top.canyie.pine.entry.Arm64Entry.voidBridge(Arm64Entry.java:24)
15:28:06.108 System.err W at org.appplay.lib.utils.SoLoadUtil.loadDynamicLibrary(SoLoadUtil.java:146)
15:28:06.108 System.err W at org.appplay.lib.GameBaseActivity.initLoad(GameBaseActivity.java:484)
15:28:06.108 System.err W at org.appplay.lib.GameBaseActivity.onHandleMessage(GameBaseActivity.java:469)
15:28:06.108 System.err W at org.appplay.lib.GameBaseActivity$InnerHandler.handleMessage(GameBaseActivity.java:126)
15:28:06.108 System.err W at android.os.Handler.dispatchMessage(Handler.java:107)
15:28:06.108 System.err W at android.os.Looper.loop(Looper.java:213)
15:28:06.108 System.err W at android.app.ActivityThread.main(ActivityThread.java:8178)
15:28:06.108 System.err W at java.lang.reflect.Method.invoke(Native Method)
15:28:06.108 System.err W at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
15:28:06.108 System.err W at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)

Hooking UpdateMethodsCode overwrites AddDeoptimizedMethod

The art::instrumentation::Instrumentation::UpdateMethodsCode method is hooked when using PineEnhances, regardless of the version of Android.
However, on Android 7 and above, this method only jumps to art::instrumentation::Instrumentation::UpdateMethodsCodeImpl, making the method only 4 bytes long when compiled.

The hook is placed using Dobby, which writes a 12 bytes long trampoline at the start of the method. Since the method here is smaller than 12 bytes, Dobby will overwrite the first 8 bytes of the next method in memory, namely art::instrumentation::Instrumentation::AddDeoptimizedMethod:

image

This will cause an obscure crash whenever the method is called, which is the case when calling art::instrumentation::Deoptimize.

Since UpdateMethodsCode only jumps to UpdateMethodsCodeImpl, I believe it will be ok to only hook it for Android < 7.

Regression: Null Pointer deref in GrapheneOs Android 12

This crash doesn't occur before 16b5520, so one of the commits since then causes this

Model: Pixel 4a sunfish
Android version: 12
Build number: SQ1A.220205.002.2022021415 (GrapheneOs)

02-15 18:44:12.011 10336 10336 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-15 18:44:12.011 10336 10336 F DEBUG   : Build fingerprint: 'google/sunfish/sunfish:12/SQ1A.220205.002/2022021415:user/release-keys'
02-15 18:44:12.012 10336 10336 F DEBUG   : Revision: 'MP1.0'
02-15 18:44:12.012 10336 10336 F DEBUG   : ABI: 'arm64'
02-15 18:44:12.012 10336 10336 F DEBUG   : Timestamp: 2022-02-15 18:44:11.651946157-0500
02-15 18:44:12.012 10336 10336 F DEBUG   : Process uptime: 0s
02-15 18:44:12.012 10336 10336 F DEBUG   : Cmdline: com.aliucord
02-15 18:44:12.012 10336 10336 F DEBUG   : pid: 10217, tid: 10217, name: com.aliucord  >>> com.aliucord <<<
02-15 18:44:12.012 10336 10336 F DEBUG   : uid: 10236
02-15 18:44:12.012 10336 10336 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
02-15 18:44:12.012 10336 10336 F DEBUG   : Cause: null pointer dereference
02-15 18:44:12.012 10336 10336 F DEBUG   :     x0  0000e5bc14b934f0  x1  0000d7ebb2e4864c  x2  0000000000000000  x3  0000000000000000
02-15 18:44:12.012 10336 10336 F DEBUG   :     x4  0000000000000000  x5  0000000000000000  x6  0000000000000000  x7  00000000ffffffff
02-15 18:44:12.012 10336 10336 F DEBUG   :     x8  0000000000000000  x9  0000000000000000  x10 0000e5bc14b93409  x11 0000e5bc14b934f0
02-15 18:44:12.012 10336 10336 F DEBUG   :     x12 0000e5bc14b93638  x13 0000e5bc14b9344c  x14 0000d7ebb2e188fc  x15 0000000000000000
02-15 18:44:12.012 10336 10336 F DEBUG   :     x16 0000d7ebb3413648  x17 0000d81f282915d0  x18 0000d81f3a4e2000  x19 0000000000000000
02-15 18:44:12.012 10336 10336 F DEBUG   :     x20 0000000000000000  x21 b400d8052dabe200  x22 b400d80ac7e83400  x23 0000e5bc14b93630
02-15 18:44:12.012 10336 10336 F DEBUG   :     x24 0000e5bc14b93648  x25 0000e5bc14b93664  x26 0000000000000000  x27 0000d7ebb3617000
02-15 18:44:12.012 10336 10336 F DEBUG   :     x28 0000000000000000  x29 0000e5bc14b93480
02-15 18:44:12.012 10336 10336 F DEBUG   :     lr  0000d7ebb2e24bdc  sp  0000e5bc14b932d0  pc  0000d7ebb2e487b0  pst 0000000080000000
02-15 18:44:12.012 10336 10336 F DEBUG   : backtrace:
02-15 18:44:12.012 10336 10336 F DEBUG   :       #00 pc 00000000002487b0  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<true, false>(art::interpreter::SwitchImplContext*)+356) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #01 pc 0000000000224bd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #02 pc 00000000003dad2c  /apex/com.android.art/lib64/libart.so (art::interpreter::ExecuteSwitch(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool)+300) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #03 pc 00000000003d32a0  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool)+216) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #04 pc 0000000000730d94  /apex/com.android.art/lib64/libart.so!libart.so (artQuickToInterpreterBridge+784) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #05 pc 0000000000222378  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #06 pc 0000000000218964  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #07 pc 0000000000284080  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+184) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #08 pc 0000000000616460  /apex/com.android.art/lib64/libart.so!libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1392) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #09 pc 000000000058932c  /apex/com.android.art/lib64/libart.so!libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #10 pc 00000000000b2f74  /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+132) (BuildId: 31c635edc264c8f81d13c0174b92a1bb14cd7f64)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #11 pc 000000000326d90c  /data/app/~~WZ_A4sBovS6J0CiAgvURdQ==/com.aliucord-YuRA3Zku8l6YrAkAjdZT-w==/oat/arm64/base.odex (top.canyie.pine.Pine.handleCall+1228)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #12 pc 0000000003273170  /data/app/~~WZ_A4sBovS6J0CiAgvURdQ==/com.aliucord-YuRA3Zku8l6YrAkAjdZT-w==/oat/arm64/base.odex (top.canyie.pine.entry.Arm64Entry.handleBridge+2416)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #13 pc 00000000032733e4  /data/app/~~WZ_A4sBovS6J0CiAgvURdQ==/com.aliucord-YuRA3Zku8l6YrAkAjdZT-w==/oat/arm64/base.odex (top.canyie.pine.entry.Arm64Entry.voidBridge+36)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #14 pc 0000000000218964  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #15 pc 0000000000284080  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+184) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #16 pc 0000000000571ce8  /apex/com.android.art/lib64/libart.so!libart.so (art::Class_newInstance(_JNIEnv*, _jobject*)+716) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #17 pc 00000000000ab1cc  /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+92) (BuildId: 31c635edc264c8f81d13c0174b92a1bb14cd7f64)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #18 pc 0000000000212520  /apex/com.android.art/lib64/libart.so (nterp_helper+4016) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #19 pc 0000000000015232  [anon:dalvik-classes.dex extracted in memory from /data/user/0/com.aliucord/code_cache/Aliucord.zip] (com.aliucord.PluginManager.loadPlugin+290)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #20 pc 00000000002115a4  /apex/com.android.art/lib64/libart.so (nterp_helper+52) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #21 pc 0000000000014c2a  [anon:dalvik-classes.dex extracted in memory from /data/user/0/com.aliucord/code_cache/Aliucord.zip] (com.aliucord.Main.loadAllPlugins+122)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #22 pc 00000000002115a4  /apex/com.android.art/lib64/libart.so (nterp_helper+52) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #23 pc 0000000000014d06  [anon:dalvik-classes.dex extracted in memory from /data/user/0/com.aliucord/code_cache/Aliucord.zip] (com.aliucord.Main.preInit+38)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #24 pc 0000000000218be8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #25 pc 000000000028409c  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+212) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #26 pc 0000000000616460  /apex/com.android.art/lib64/libart.so!libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1392) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #27 pc 000000000058932c  /apex/com.android.art/lib64/libart.so!libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #28 pc 00000000000b2f74  /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+132) (BuildId: 31c635edc264c8f81d13c0174b92a1bb14cd7f64)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #29 pc 00000000007f50f0  /data/app/~~WZ_A4sBovS6J0CiAgvURdQ==/com.aliucord-YuRA3Zku8l6YrAkAjdZT-w==/oat/arm64/base.odex (com.aliucord.injector.Injector.init+2336)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #30 pc 00000000007f3294  /data/app/~~WZ_A4sBovS6J0CiAgvURdQ==/com.aliucord-YuRA3Zku8l6YrAkAjdZT-w==/oat/arm64/base.odex (com.aliucord.injector.Injector$1.beforeCall+148)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #31 pc 000000000326d6b0  /data/app/~~WZ_A4sBovS6J0CiAgvURdQ==/com.aliucord-YuRA3Zku8l6YrAkAjdZT-w==/oat/arm64/base.odex (top.canyie.pine.Pine.handleCall+624)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #32 pc 0000000003273170  /data/app/~~WZ_A4sBovS6J0CiAgvURdQ==/com.aliucord-YuRA3Zku8l6YrAkAjdZT-w==/oat/arm64/base.odex (top.canyie.pine.entry.Arm64Entry.handleBridge+2416)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #33 pc 00000000032733e4  /data/app/~~WZ_A4sBovS6J0CiAgvURdQ==/com.aliucord-YuRA3Zku8l6YrAkAjdZT-w==/oat/arm64/base.odex (top.canyie.pine.entry.Arm64Entry.voidBridge+36)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #34 pc 00000000004875f4  /system/framework/arm64/boot-framework.oat (android.app.Activity.performCreate+692) (BuildId: 91abc28b732b3458e43ddf501f3ef7c4c65bdb35)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #35 pc 00000000001e4e44  /system/framework/arm64/boot-framework.oat (android.app.Instrumentation.callActivityOnCreate+84) (BuildId: 91abc28b732b3458e43ddf501f3ef7c4c65bdb35)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #36 pc 00000000002d1cd0  /system/framework/arm64/boot-framework.oat (android.app.ActivityThread.performLaunchActivity+2880) (BuildId: 91abc28b732b3458e43ddf501f3ef7c4c65bdb35)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #37 pc 00000000002d7c50  /system/framework/arm64/boot-framework.oat (android.app.ActivityThread.handleLaunchActivity+544) (BuildId: 91abc28b732b3458e43ddf501f3ef7c4c65bdb35)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #38 pc 0000000000493368  /system/framework/arm64/boot-framework.oat (android.app.servertransaction.LaunchActivityItem.execute+136) (BuildId: 91abc28b732b3458e43ddf501f3ef7c4c65bdb35)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #39 pc 000000000020e958  /system/framework/arm64/boot-framework.oat (android.app.servertransaction.TransactionExecutor.executeCallbacks+1944) (BuildId: 91abc28b732b3458e43ddf501f3ef7c4c65bdb35)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #40 pc 000000000020e108  /system/framework/arm64/boot-framework.oat (android.app.servertransaction.TransactionExecutor.execute+984) (BuildId: 91abc28b732b3458e43ddf501f3ef7c4c65bdb35)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #41 pc 00000000002bc27c  /system/framework/arm64/boot-framework.oat (android.app.ActivityThread$H.handleMessage+1388) (BuildId: 91abc28b732b3458e43ddf501f3ef7c4c65bdb35)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #42 pc 00000000004f1e0c  /system/framework/arm64/boot-framework.oat (android.os.Handler.dispatchMessage+188) (BuildId: 91abc28b732b3458e43ddf501f3ef7c4c65bdb35)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #43 pc 00000000004f4cbc  /system/framework/arm64/boot-framework.oat (android.os.Looper.loopOnce+1036) (BuildId: 91abc28b732b3458e43ddf501f3ef7c4c65bdb35)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #44 pc 00000000004f4814  /system/framework/arm64/boot-framework.oat (android.os.Looper.loop+516) (BuildId: 91abc28b732b3458e43ddf501f3ef7c4c65bdb35)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #45 pc 00000000002d05dc  /system/framework/arm64/boot-framework.oat (android.app.ActivityThread.main+732) (BuildId: 91abc28b732b3458e43ddf501f3ef7c4c65bdb35)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #46 pc 0000000000218be8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #47 pc 000000000028409c  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+212) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #48 pc 0000000000616460  /apex/com.android.art/lib64/libart.so!libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1392) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #49 pc 000000000058932c  /apex/com.android.art/lib64/libart.so!libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #50 pc 00000000000b2f74  /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+132) (BuildId: 31c635edc264c8f81d13c0174b92a1bb14cd7f64)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #51 pc 000000000081db2c  /system/framework/arm64/boot-framework.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+140) (BuildId: 91abc28b732b3458e43ddf501f3ef7c4c65bdb35)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #52 pc 0000000000213344  /apex/com.android.art/lib64/libart.so (nterp_helper+7636) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #53 pc 000000000023ec58  /system/framework/framework.jar (com.android.internal.os.ExecInit.main+88)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #54 pc 0000000000218be8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #55 pc 000000000028409c  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+212) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #56 pc 0000000000616bb4  /apex/com.android.art/lib64/libart.so!libart.so (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+448) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #57 pc 0000000000617080  /apex/com.android.art/lib64/libart.so!libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+92) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #58 pc 00000000004943e4  /apex/com.android.art/lib64/libart.so!libart.so (art::JNI<false>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+608) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #59 pc 00000000000aead0  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+120) (BuildId: bce1bef7a68eee8d6249316ee1d950e8)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #60 pc 00000000000b6590  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::callMain(android::String8 const&, _jclass*, android::Vector<android::String8> const&)+336) (BuildId: bce1bef7a68eee8d6249316ee1d950e8)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #61 pc 0000000000002970  /system/bin/app_process64 (android::AppRuntime::onStarted()+68) (BuildId: c310efd88e423b9def9ef49470415443)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #62 pc 000000000018dba8  /system/framework/arm64/boot-framework.oat (art_jni_trampoline+88) (BuildId: 91abc28b732b3458e43ddf501f3ef7c4c65bdb35)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #63 pc 0000000000211608  /apex/com.android.art/lib64/libart.so (nterp_helper+152) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #64 pc 000000000024be70  /system/framework/framework.jar (com.android.internal.os.RuntimeInit.main+48)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #65 pc 0000000000218be8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #66 pc 000000000028409c  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+212) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #67 pc 0000000000616bb4  /apex/com.android.art/lib64/libart.so!libart.so (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+448) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #68 pc 0000000000617080  /apex/com.android.art/lib64/libart.so!libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+92) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #69 pc 00000000004943e4  /apex/com.android.art/lib64/libart.so!libart.so (art::JNI<false>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+608) (BuildId: a27082b324a4ccea3b51ca05f5518733)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #70 pc 00000000000aead0  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+120) (BuildId: bce1bef7a68eee8d6249316ee1d950e8)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #71 pc 00000000000ba004  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+828) (BuildId: bce1bef7a68eee8d6249316ee1d950e8)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #72 pc 000000000000257c  /system/bin/app_process64 (main+1320) (BuildId: c310efd88e423b9def9ef49470415443)
02-15 18:44:12.012 10336 10336 F DEBUG   :       #73 pc 00000000000447f0  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+96) (BuildId: b396b06c4dfca6e23e4e768ddd53c782)

null pointer deref in callBackupMethod fault addr 0xc

Please let me know if you need anything else, since I don't know how to debug native crash

[ 2022-01-05T05:55:35.535        0:   807:   814 I/Magisk          ] proc_monitor: [com.google.android.gms.unstable] PID=[17450] UID=[10147]
[ 2022-01-05T05:57:40.910    10356: 10647: 10647 F/libc            ] Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xc in tid 10647 (com.aliucord), pid 10647 (com.aliucord)
[ 2022-01-05T05:57:41.085    10356: 17980: 17980 F/DEBUG           ] *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
[ 2022-01-05T05:57:41.085    10356: 17980: 17980 F/DEBUG           ] Build fingerprint: 'OnePlus/OnePlus8T_EEA/OnePlus8T:11/RP1A.201005.001/2110091916:user/release-keys'
[ 2022-01-05T05:57:41.085    10356: 17980: 17980 F/DEBUG           ] Revision: '0'
[ 2022-01-05T05:57:41.085    10356: 17980: 17980 F/DEBUG           ] ABI: 'arm64'
[ 2022-01-05T05:57:41.086    10356: 17980: 17980 F/DEBUG           ] Timestamp: 2022-01-05 05:57:41+0100
[ 2022-01-05T05:57:41.086    10356: 17980: 17980 F/DEBUG           ] pid: 10647, tid: 10647, name: com.aliucord  >>> com.aliucord <<<
[ 2022-01-05T05:57:41.086    10356: 17980: 17980 F/DEBUG           ] uid: 10356
[ 2022-01-05T05:57:41.086    10356: 17980: 17980 F/DEBUG           ] signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xc
[ 2022-01-05T05:57:41.086    10356: 17980: 17980 F/DEBUG           ] Cause: null pointer dereference
[ 2022-01-05T05:57:41.086    10356: 17980: 17980 F/DEBUG           ]     x0  000000001b34d320  x1  0000000000000000  x2  0000007fcae81f88  x3  0000007fcae81f8c
[ 2022-01-05T05:57:41.086    10356: 17980: 17980 F/DEBUG           ]     x4  0000000000000001  x5  0000000000000008  x6  0000000012c00100  x7  0000000000000028
[ 2022-01-05T05:57:41.086    10356: 17980: 17980 F/DEBUG           ]     x8  0000000000080011  x9  000000001b34d320  x10 0000007fcae81f84  x11 0000006eed2fc000
[ 2022-01-05T05:57:41.086    10356: 17980: 17980 F/DEBUG           ]     x12 0000000000000001  x13 0000000000000000  x14 000000006f3a7970  x15 0000000000000007
[ 2022-01-05T05:57:41.086    10356: 17980: 17980 F/DEBUG           ]     x16 0000006eed128368  x17 0000006e80143238  x18 00000071e47a6000  x19 0000007fcae81f30
[ 2022-01-05T05:57:41.086    10356: 17980: 17980 F/DEBUG           ]     x20 0000006f1d512610  x21 000000001b34d320  x22 0000000013c63568  x23 0000000000000001
[ 2022-01-05T05:57:41.086    10356: 17980: 17980 F/DEBUG           ]     x24 0000007fcae81f8c  x25 0000000013c63568  x26 0000000000000001  x27 0000000000000001
[ 2022-01-05T05:57:41.086    10356: 17980: 17980 F/DEBUG           ]     x28 00000071e3665000  x29 0000007fcae81ed0
[ 2022-01-05T05:57:41.086    10356: 17980: 17980 F/DEBUG           ]     lr  0000006eed1a8824  sp  0000007fcae81c20  pc  0000006eed1a8878  pst 0000000040001000
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ] backtrace:
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #00 pc 0000000000555878  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x357000) (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+276) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #01 pc 00000000004d539c  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x357000) (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #02 pc 000000000008a6f4  /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+180) (BuildId: aece9284df80b1815bdaf34e52f290399c49da97)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #03 pc 000000000202d938  /memfd:jit-cache (deleted) (offset 0x2000000) (top.canyie.pine.Pine.callBackupMethod+152)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #04 pc 00000000020312a8  /memfd:jit-cache (deleted) (offset 0x2000000) (top.canyie.pine.Pine$CallFrame.invokeOriginalMethod+120)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #05 pc 000000000202ee44  /memfd:jit-cache (deleted) (offset 0x2000000) (top.canyie.pine.Pine.handleCall+932)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #06 pc 000000000202d5a0  /memfd:jit-cache (deleted) (offset 0x2000000) (top.canyie.pine.entry.Arm64Entry.handleBridge+2128)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #07 pc 00000000020d76e0  /memfd:jit-cache (deleted) (offset 0x2000000) (top.canyie.pine.entry.Arm64Entry.voidBridge+32)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #08 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #09 pc 00000000001a8a94  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #10 pc 0000000000318460  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #11 pc 0000000000305e48  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.11595045141414065483)+460) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #12 pc 000000000066b838  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x357000) (artQuickToInterpreterBridge+780) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #13 pc 000000000013cff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #14 pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #15 pc 00000000001a8a78  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #16 pc 0000000000318460  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #17 pc 000000000030f17c  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1800) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.276    10356: 17980: 17980 F/DEBUG           ]       #18 pc 0000000000174fb8  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<true, false>(art::interpreter::SwitchImplContext*)+45680) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #19 pc 000000000013f7d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #20 pc 0000000000d7ea14  /data/app/~~2rlePhbx0W1zIsuO-YGxSA==/com.aliucord-xCAXUFJ0AtykTZiiZIIeLA==/oat/arm64/base.vdex (com.discord.widgets.chat.input.WidgetChatInput.configureUI)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #21 pc 0000000000305e90  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.11595045141414065483)+532) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #22 pc 000000000066b838  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x357000) (artQuickToInterpreterBridge+780) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #23 pc 000000000013cff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #24 pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #25 pc 00000000001a8a78  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #26 pc 0000000000555cb8  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x357000) (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1364) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #27 pc 00000000004d539c  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x357000) (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #28 pc 000000000008a6f4  /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+180) (BuildId: aece9284df80b1815bdaf34e52f290399c49da97)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #29 pc 000000000202d938  /memfd:jit-cache (deleted) (offset 0x2000000) (top.canyie.pine.Pine.callBackupMethod+152)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #30 pc 00000000020312a8  /memfd:jit-cache (deleted) (offset 0x2000000) (top.canyie.pine.Pine$CallFrame.invokeOriginalMethod+120)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #31 pc 000000000202ee44  /memfd:jit-cache (deleted) (offset 0x2000000) (top.canyie.pine.Pine.handleCall+932)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #32 pc 000000000202d5a0  /memfd:jit-cache (deleted) (offset 0x2000000) (top.canyie.pine.entry.Arm64Entry.handleBridge+2128)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #33 pc 00000000020d76e0  /memfd:jit-cache (deleted) (offset 0x2000000) (top.canyie.pine.entry.Arm64Entry.voidBridge+32)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #34 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #35 pc 00000000001a8a94  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #36 pc 0000000000318460  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #37 pc 0000000000305e48  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.11595045141414065483)+460) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #38 pc 000000000066b838  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x357000) (artQuickToInterpreterBridge+780) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #39 pc 000000000013cff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #40 pc 00000000021d13f0  /memfd:jit-cache (deleted) (offset 0x2000000) (com.discord.widgets.chat.input.WidgetChatInput.access$configureUI+48)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #41 pc 00000000021d12b4  /memfd:jit-cache (deleted) (offset 0x2000000) (com.discord.widgets.chat.input.WidgetChatInput$onViewBoundOrOnResume$1.invoke+132)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #42 pc 00000000021d6808  /memfd:jit-cache (deleted) (offset 0x2000000) (com.discord.widgets.chat.input.WidgetChatInput$onViewBoundOrOnResume$1.invoke+88)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #43 pc 00000000020fd718  /memfd:jit-cache (deleted) (offset 0x2000000) (com.discord.utilities.rx.ObservableExtensionsKt$sam$rx_functions_Action1$0.call+72)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #44 pc 00000000020c0868  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.l.e.b.onNext+72)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #45 pc 0000000002067ca4  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.n.b.onNext+84)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #46 pc 00000000020e2488  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.n.e.onNext+72)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #47 pc 00000000020debbc  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.l.a.l$a.onNext+316)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #48 pc 000000000210904c  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.n.c.onNext+156)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #49 pc 000000000211f5e8  /memfd:jit-cache (deleted) (offset 0x2000000) (rx.observers.SerializedSubscriber.onNext+72)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #50 pc 0000000002110bf8  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.l.a.d2.onNext+72)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #51 pc 00000000020e92d4  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.l.a.t0.onNext+500)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #52 pc 00000000020dbe6c  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.l.a.f$b.d+556)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #53 pc 00000000020e27cc  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.l.a.f$b.c+684)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #54 pc 0000000002104a4c  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.l.a.f$a.onNext+108)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #55 pc 0000000002067ca4  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.n.b.onNext+84)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #56 pc 00000000020fe230  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.l.a.e.a+368)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #57 pc 000000000210b640  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.q.c$b.a+304)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #58 pc 0000000002114c48  /memfd:jit-cache (deleted) (offset 0x2000000) (rx.subjects.BehaviorSubject.onNext+280)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #59 pc 0000000002135958  /memfd:jit-cache (deleted) (offset 0x2000000) (com.discord.app.AppViewModel.updateViewState+120)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #60 pc 0000000002126194  /memfd:jit-cache (deleted) (offset 0x2000000) (com.discord.widgets.chat.input.ChatInputViewModel.handleStoreState+2996)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #61 pc 00000000021e3c90  /memfd:jit-cache (deleted) (offset 0x2000000) (com.discord.widgets.chat.input.ChatInputViewModel.access$handleStoreState+48)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #62 pc 00000000021cf8b4  /memfd:jit-cache (deleted) (offset 0x2000000) (com.discord.widgets.chat.input.ChatInputViewModel$1.invoke+132)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #63 pc 00000000021d66c8  /memfd:jit-cache (deleted) (offset 0x2000000) (com.discord.widgets.chat.input.ChatInputViewModel$1.invoke+88)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #64 pc 00000000020fd718  /memfd:jit-cache (deleted) (offset 0x2000000) (com.discord.utilities.rx.ObservableExtensionsKt$sam$rx_functions_Action1$0.call+72)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #65 pc 00000000020c0868  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.l.e.b.onNext+72)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #66 pc 0000000002067ca4  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.n.b.onNext+84)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #67 pc 00000000020e2488  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.n.e.onNext+72)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #68 pc 000000000210904c  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.n.c.onNext+156)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #69 pc 000000000211f5e8  /memfd:jit-cache (deleted) (offset 0x2000000) (rx.observers.SerializedSubscriber.onNext+72)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #70 pc 0000000002110bf8  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.l.a.d2.onNext+72)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #71 pc 00000000020d7cdc  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.l.a.z0$a.call+268)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #72 pc 0000000002045848  /memfd:jit-cache (deleted) (offset 0x2000000) (j0.j.b.b$b.run+72)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #73 pc 000000000064f8ec  /system/framework/arm64/boot-framework.oat (android.os.Handler.dispatchMessage+76) (BuildId: f4e68159793f3c4aa36e9cc9955ea51e8e8b3268)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #74 pc 0000000000652eb4  /system/framework/arm64/boot-framework.oat (android.os.Looper.loop+1668) (BuildId: f4e68159793f3c4aa36e9cc9955ea51e8e8b3268)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #75 pc 000000000040e300  /system/framework/arm64/boot-framework.oat (android.app.ActivityThread.main+752) (BuildId: f4e68159793f3c4aa36e9cc9955ea51e8e8b3268)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #76 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #77 pc 00000000001a8a94  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #78 pc 0000000000555cb8  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x357000) (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1364) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #79 pc 00000000004d539c  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x357000) (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #80 pc 000000000008a6f4  /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+180) (BuildId: aece9284df80b1815bdaf34e52f290399c49da97)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #81 pc 00000000008cf568  /system/framework/arm64/boot-framework.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+136) (BuildId: f4e68159793f3c4aa36e9cc9955ea51e8e8b3268)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #82 pc 00000000008d7d2c  /system/framework/arm64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2444) (BuildId: f4e68159793f3c4aa36e9cc9955ea51e8e8b3268)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #83 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #84 pc 00000000001a8a94  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #85 pc 00000000005546f4  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x357000) (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+448) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #86 pc 0000000000554ba8  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x357000) (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+92) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #87 pc 0000000000438ccc  /apex/com.android.art/lib64/libart.so!libart.so (offset 0x357000) (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+656) (BuildId: e841be9816817e37b70ebf4a461a916e)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #88 pc 000000000009a424  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+124) (BuildId: 3526ac28ff4060c7bd2e3ff5f3574c5d)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #89 pc 00000000000a24e8  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+836) (BuildId: 3526ac28ff4060c7bd2e3ff5f3574c5d)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #90 pc 0000000000003674  /system/bin/app_process64 (main+1580) (BuildId: a76323e5f4dd557adcc3874fc6b522de)
[ 2022-01-05T05:57:41.277    10356: 17980: 17980 F/DEBUG           ]       #91 pc 00000000000499fc  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+108) (BuildId: 3b0dd94de78a8a796f793e81b7adfbd0)
[ 2022-01-05T05:57:42.710        0:   807:   814 I/Magisk          ] proc_monitor: [com.aliucord] PID=[17186] UID=[10356]

hook ConnectivityService的构造函数时,调用原方法崩溃

设备:Google Pixel 3
系统:Android 10

2020-12-19 11:21:09.254 1426-1426/? I/Pine: handleBridge: artMethod=0x9f1f0d90 extras=0x72c9dcb980 sp=0x7fe020bf90
2020-12-19 11:21:09.254 1426-1426/? D/Pine: handleCall for method public com.android.server.ConnectivityService(android.content.Context,android.os.INetworkManagementService,android.net.INetworkStatsService,android.net.INetworkPolicyManager)
2020-12-19 11:21:09.254 1426-1426/? I/Pine: handleBridge: artMethod=0x9f1f0db8 extras=0x72c9dcb9c0 sp=0x7fe020a8f0
2020-12-19 11:21:09.255 1426-1426/? D/Pine: handleCall for method protected com.android.server.ConnectivityService(android.content.Context,android.os.INetworkManagementService,android.net.INetworkStatsService,android.net.INetworkPolicyManager,android.net.IDnsResolver,android.net.metrics.IpConnectivityLog,android.net.INetd)
    
    --------- beginning of crash
2020-12-19 11:21:09.255 1426-1426/? A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xe020ac94 in tid 1426 (system_server), pid 1426 (system_server)
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG: Build fingerprint: 'google/blueline/blueline:10/QQ3A.200605.001/6392402:user/release-keys'
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG: Revision: 'MP1.0'
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG: ABI: 'arm64'
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG: Timestamp: 2020-12-19 11:21:09+0800
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG: pid: 1426, tid: 1426, name: system_server  >>> system_server <<<
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG: uid: 1000
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xe020ac94
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG:     x0  000000009ef89100  x1  0000000071578fd0  x2  0000000014991af8  x3  000000723d05fe80
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG:     x4  00000072c9cfcc00  x5  00000000000004bb  x6  00000000149927f0  x7  0000000000000028
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG:     x8  00000000e020ac90  x9  0000000000000001  x10 0000000000000000  x11 00000072448df7c2
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG:     x12 0000007fe0209e9c  x13 0000007fe0209e88  x14 0000000000000002  x15 0000000000000022
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG:     x16 0000007fe0209ec8  x17 000000723d1302b0  x18 00000072caf94000  x19 0000000000000006
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG:     x20 000000723d05fe80  x21 0000001400000000  x22 0000007fe0209bf0  x23 0000000000000007
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG:     x24 0000000000000002  x25 000000009f04dd48  x26 0000000000000541  x27 00000072c9dad000
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG:     x28 0000007fe0209bfc  x29 0000007fe0209b60
2020-12-19 11:21:09.339 2033-2033/? A/DEBUG:     sp  0000007fe0209a50  lr  0000007244cbdb20  pc  0000007244cbfe44
2020-12-19 11:21:09.697 2033-2033/? A/DEBUG: backtrace:
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #00 pc 00000000004ace44  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x453000) (art::(anonymous namespace)::ArgArray::BuildArgArrayFromObjectArray(art::ObjPtr<art::mirror::Object>, art::ObjPtr<art::mirror::ObjectArray<art::mirror::Object>>, art::ArtMethod*, art::Thread*)+464) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #01 pc 00000000004aab1c  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x453000) (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1448) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #02 pc 000000000043744c  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #03 pc 00000000000c2c34  /system/framework/arm64/boot.oat (art_jni_trampoline+180) (BuildId: 3ac9ca66a99f96bfe2251d3af092afd975a96ddd)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #04 pc 0000000002003628  /memfd:/jit-cache (deleted) (top.canyie.pine.Pine.callBackupMethod+136)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #05 pc 0000000002006eb8  /memfd:/jit-cache (deleted) (top.canyie.pine.Pine$CallFrame.invokeOriginalMethod+120)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #06 pc 0000000002002da0  /memfd:/jit-cache (deleted) (top.canyie.pine.Pine.handleCall+896)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #07 pc 00000000020026b8  /memfd:/jit-cache (deleted) (top.canyie.pine.entry.Arm64Entry.handleBridge+1640)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #08 pc 00000000001365b8  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #09 pc 000000000014508c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+276) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #10 pc 00000000002df0d4  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #11 pc 00000000002db448  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+656) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #12 pc 000000000059d25c  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x453000) (MterpInvokeStaticRange+236) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #13 pc 0000000000130c94  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static_range+20) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #14 pc 000000000004418c  [anon:dalvik-classes.dex extracted in memory from /system/framework/dreamland.jar] (top.canyie.pine.entry.Arm64Entry.voidBridge)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #15 pc 00000000002afd20  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.1271440803783865717+240) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #16 pc 0000000000588e8c  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x453000) (artQuickToInterpreterBridge+1012) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #17 pc 000000000013f468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #18 pc 0000000000136334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #19 pc 000000000014506c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #20 pc 00000000002df0d4  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #21 pc 00000000002db448  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+656) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #22 pc 000000000059cbfc  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x453000) (MterpInvokeDirectRange+256) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #23 pc 0000000000130c14  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_direct_range+20) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #24 pc 00000000001e4116  /system/framework/services.jar (com.android.server.ConnectivityService.<init>+38)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #25 pc 00000000002afd20  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.1271440803783865717+240) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #26 pc 0000000000588e8c  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x453000) (artQuickToInterpreterBridge+1012) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #27 pc 000000000013f468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #28 pc 0000000000136334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #29 pc 000000000014506c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #30 pc 00000000004a9110  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x453000) (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #31 pc 00000000004aab38  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x453000) (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1476) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #32 pc 000000000043744c  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #33 pc 00000000000c2c34  /system/framework/arm64/boot.oat (art_jni_trampoline+180) (BuildId: 3ac9ca66a99f96bfe2251d3af092afd975a96ddd)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #34 pc 0000000002003628  /memfd:/jit-cache (deleted) (top.canyie.pine.Pine.callBackupMethod+136)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #35 pc 0000000002006eb8  /memfd:/jit-cache (deleted) (top.canyie.pine.Pine$CallFrame.invokeOriginalMethod+120)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #36 pc 0000000002002da0  /memfd:/jit-cache (deleted) (top.canyie.pine.Pine.handleCall+896)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #37 pc 00000000020026b8  /memfd:/jit-cache (deleted) (top.canyie.pine.entry.Arm64Entry.handleBridge+1640)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #38 pc 00000000001365b8  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #39 pc 000000000014508c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+276) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #40 pc 00000000002df0d4  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #41 pc 00000000002db448  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+656) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #42 pc 000000000059d25c  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x453000) (MterpInvokeStaticRange+236) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #43 pc 0000000000130c94  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static_range+20) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #44 pc 000000000004418c  [anon:dalvik-classes.dex extracted in memory from /system/framework/dreamland.jar] (top.canyie.pine.entry.Arm64Entry.voidBridge)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #45 pc 00000000002afd20  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.1271440803783865717+240) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #46 pc 0000000000588e8c  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x453000) (artQuickToInterpreterBridge+1012) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #47 pc 000000000013f468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #48 pc 00000000012c5764  /system/framework/oat/arm64/services.odex (com.android.server.SystemServer.startOtherServices+11812) (BuildId: 12c9f25ee4b5377745dd569037b649d657a4f017)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #49 pc 00000000012bf21c  /system/framework/oat/arm64/services.odex (com.android.server.SystemServer.run+2652) (BuildId: 12c9f25ee4b5377745dd569037b649d657a4f017)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #50 pc 00000000012be334  /system/framework/oat/arm64/services.odex (com.android.server.SystemServer.main+100) (BuildId: 12c9f25ee4b5377745dd569037b649d657a4f017)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #51 pc 00000000001365b8  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #52 pc 000000000014508c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+276) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #53 pc 00000000004a9110  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x453000) (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #54 pc 00000000004aab38  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x453000) (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1476) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #55 pc 000000000043744c  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #56 pc 00000000000c2c34  /system/framework/arm64/boot.oat (art_jni_trampoline+180) (BuildId: 3ac9ca66a99f96bfe2251d3af092afd975a96ddd)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #57 pc 00000000009a9828  /system/framework/arm64/boot-framework.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+136) (BuildId: 8dd360e7ac2513f6c21e6f05c4163646b3e394be)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #58 pc 00000000009b135c  /system/framework/arm64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+1916) (BuildId: 8dd360e7ac2513f6c21e6f05c4163646b3e394be)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #59 pc 00000000001365b8  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #60 pc 000000000014508c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+276) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #61 pc 00000000004a9110  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x453000) (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #62 pc 00000000004a8d7c  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x453000) (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+408) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #63 pc 00000000003b6160  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+628) (BuildId: f9ff276075287a1d376fcd141f6042aa)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #64 pc 00000000000be560  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+116) (BuildId: a4deef8d84f80b74d5707e20f76e8091)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #65 pc 00000000000c1434  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+780) (BuildId: a4deef8d84f80b74d5707e20f76e8091)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #66 pc 00000000000034e0  /system/bin/app_process64 (main+1168) (BuildId: e7b904a71a1cdf25c7a6206f850cf378)
2020-12-19 11:21:09.698 2033-2033/? A/DEBUG:       #67 pc 000000000007d780  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+108) (BuildId: 8de865099c99977483c8947f9b7937e9)

Float point arguments parse error

除了已知的#9,发现还有其他问题:
art上,arm32下在6.0以上开始使用浮点寄存器传递浮点数(也就是所谓的hardfp),而arm64一直都是hardfp,这方面要特别处理;现在从浮点寄存器拿浮点应该是没问题了,但是会影响到其他参数,原因是遇到浮点数时没有正确计算index,应该是这几种情况:

  1. 非浮点数,寄存器未满,从寄存器
  2. 非浮点数,寄存器满,从栈
  3. 浮点数,浮点寄存器未满,从寄存器
  4. 浮点数,浮点寄存器满,从栈

问题是,当浮点和非浮点同时出现时,没有正确计算出index;而目前的实现又是把寄存器和栈合到一个数组里的,可能要改这部分代码,待修复。

prebuilt的修改建议

prebuilt内包含了JNI_Onload的导出,导致自己的项目想链接这些.a 文件报错
ld: error: duplicate symbol: JNI_OnLoad

这里我的处理办法是用lief给给它改个名字

但是这里还是建议把prebuilt中的JNI_Onload去掉换个名字重新编译

OPPO A11 闪退 JIT 主动编译相关

以下是报错信息:

14:58:36.60 7872 WARN Pine 1 ProfileSaver is not initialized, cannot get jit code cache. Fallback to clearing jit info.
14:58:36.60 7872 VERBOSE libc 1 Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xf8 in tid 7872 (xxxxx), pid 7872 (xxxxx)
14:58:36.67 3614 INFO elsa 1 addToCgroupProcs, success add pid:7888 to mCgroupProcsFd = 8, path:/dev/freezer/cgroup.procs!
14:58:36.67 7887 INFO crash_dump32 1 obtaining output fd from tombstoned, type: kDebuggerdTombstone
14:58:36.67 1236 INFO /system/bin/tombstoned 1 received crash request for pid 7872
14:58:36.67 3614 INFO elsa 1 addToCgroupProcs, success add pid:7886 to mCgroupProcsFd = 8, path:/dev/freezer/cgroup.procs!
14:58:36.67 7887 INFO crash_dump32 1 performing dump of process 7872 (target tid = 7872)
14:58:36.68 7887 VERBOSE DEBUG 1 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
14:58:36.68 7887 VERBOSE DEBUG 1 Build fingerprint: 'OPPO/PCHM10/OP4A4D:9/PKQ1.190714.001/1587540244:user/release-keys'
14:58:36.68 7887 VERBOSE DEBUG 1 Revision: '0'
14:58:36.68 7887 VERBOSE DEBUG 1 ABI: 'arm'
14:58:36.68 7887 VERBOSE DEBUG 1 pid: 7872, tid: 7872, name: xxxxx >>> com.xxxxxxxxxx <<<
14:58:36.68 7887 VERBOSE DEBUG 1 signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xf8
14:58:36.68 7887 VERBOSE DEBUG 1 Cause: null pointer dereference
14:58:36.68 7887 VERBOSE DEBUG 1 r0 00000000 r1 00000000 r2 00000000 r3 f2f834cc
14:58:36.68 7887 VERBOSE DEBUG 1 r4 f2fc8000 r5 f2f3c400 r6 fff0250c r7 f2f916a0
14:58:36.68 7887 VERBOSE DEBUG 1 r8 00000000 r9 00000000 r10 f498bcc0 r11 fff02814
14:58:36.68 7887 VERBOSE DEBUG 1 ip f6712d00 sp fff024f8 lr f66e1d9d pc ed134372
14:58:36.82 7887 VERBOSE DEBUG 1
14:58:36.82 7887 VERBOSE DEBUG 1 backtrace:
14:58:36.82 7887 VERBOSE DEBUG 1 #00 pc 000ba372 /system/lib/libart-compiler.so (art::jit::JitCompiler::CompileMethod(art::Thread*, art::ArtMethod*, bool)+110)
14:58:36.82 7887 VERBOSE DEBUG 1 #1 pc 00007e19 /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/base.apk (offset 0x151000)
14:58:36.82 7887 VERBOSE DEBUG 1 #2 pc 0000581f /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/base.apk (offset 0x151000)
14:58:36.82 7887 VERBOSE DEBUG 1 #3 pc 0009ca87 /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.odex (offset 0x8c000) (top.canyie.pine.Pine.hook0+206)
14:58:36.82 7887 VERBOSE DEBUG 1 #4 pc 00411175 /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_stub_internal+68)
14:58:36.82 7887 VERBOSE DEBUG 1 #5 pc 003ead5b /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_static_stub+222)
14:58:36.82 7887 VERBOSE DEBUG 1 #6 pc 000a1827 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
14:58:36.82 7887 VERBOSE DEBUG 1 #7 pc 001e7059 /system/lib/libart.so (offset 0x1a3000) (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+236)
14:58:36.82 7887 VERBOSE DEBUG 1 #8 pc 001e2985 /system/lib/libart.so (offset 0x1a3000) (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+608)
14:58:36.82 7887 VERBOSE DEBUG 1 #9 pc 003e7ab1 /system/lib/libart.so (offset 0x1a3000) (MterpInvokeStaticRange+100)
14:58:36.82 7887 VERBOSE DEBUG 1 #10 pc 00404394 /system/lib/libart.so (offset 0x1a3000) (ExecuteMterpImpl+15380)
14:58:36.82 7887 VERBOSE DEBUG 1 #11 pc 01bbbf94 /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.vdex (top.canyie.pine.Pine.hookNewMethod+416)
14:58:36.82 7887 VERBOSE DEBUG 1 #12 pc 001c62c3 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.76453359+378)
14:58:36.82 7887 VERBOSE DEBUG 1 #13 pc 001ca9a9 /system/lib/libart.so (offset 0x1a3000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
14:58:36.82 7887 VERBOSE DEBUG 1 #14 pc 001e1b2f /system/lib/libart.so (offset 0x1a3000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790)
14:58:36.82 7887 VERBOSE DEBUG 1 #15 pc 003e688f /system/lib/libart.so (offset 0x1a3000) (MterpInvokeStatic+130)
14:58:36.82 7887 VERBOSE DEBUG 1 #16 pc 00404094 /system/lib/libart.so (offset 0x1a3000) (ExecuteMterpImpl+14612)
14:58:36.82 7887 VERBOSE DEBUG 1 #17 pc 01bbb288 /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.vdex (top.canyie.pine.Pine$1.handleHook+4)
14:58:36.82 7887 VERBOSE DEBUG 1 #18 pc 001c62c3 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.76453359+378)
14:58:36.82 7887 VERBOSE DEBUG 1 #19 pc 001ca9a9 /system/lib/libart.so (offset 0x1a3000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
14:58:36.82 7887 VERBOSE DEBUG 1 #20 pc 001e296f /system/lib/libart.so (offset 0x1a3000) (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+586)
14:58:36.82 7887 VERBOSE DEBUG 1 #21 pc 003e76df /system/lib/libart.so (offset 0x1a3000) (MterpInvokeInterfaceRange+1006)
14:58:36.82 7887 VERBOSE DEBUG 1 #22 pc 00404414 /system/lib/libart.so (offset 0x1a3000) (ExecuteMterpImpl+15508)
14:58:36.82 7887 VERBOSE DEBUG 1 #23 pc 01bbbd20 /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.vdex (top.canyie.pine.Pine.hook+328)
14:58:36.82 7887 VERBOSE DEBUG 1 #24 pc 001c62c3 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.76453359+378)
14:58:36.82 7887 VERBOSE DEBUG 1 #25 pc 001ca9a9 /system/lib/libart.so (offset 0x1a3000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
14:58:36.82 7887 VERBOSE DEBUG 1 #26 pc 001e1b2f /system/lib/libart.so (offset 0x1a3000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790)
14:58:36.82 7887 VERBOSE DEBUG 1 #27 pc 003e688f /system/lib/libart.so (offset 0x1a3000) (MterpInvokeStatic+130)
14:58:36.82 7887 VERBOSE DEBUG 1 #28 pc 00404094 /system/lib/libart.so (offset 0x1a3000) (ExecuteMterpImpl+14612)
14:58:36.82 7887 VERBOSE DEBUG 1 #29 pc 01bbbbbe /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.vdex (top.canyie.pine.Pine.hook+2)
14:58:36.82 7887 VERBOSE DEBUG 1 #30 pc 001c62c3 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.76453359+378)
14:58:36.82 7887 VERBOSE DEBUG 1 #31 pc 001ca9a9 /system/lib/libart.so (offset 0x1a3000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
14:58:36.82 7887 VERBOSE DEBUG 1 #32 pc 001e1b2f /system/lib/libart.so (offset 0x1a3000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790)
14:58:36.82 7887 VERBOSE DEBUG 1 #33 pc 003e688f /system/lib/libart.so (offset 0x1a3000) (MterpInvokeStatic+130)
14:58:36.82 7887 VERBOSE DEBUG 1 #34 pc 00404094 /system/lib/libart.so (offset 0x1a3000) (ExecuteMterpImpl+14612)
14:58:36.82 7887 VERBOSE DEBUG 1 #35 pc 01a7a4de /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.vdex (de.robv.android.xposed.XposedBridge.hookMethod+162)
14:58:36.82 7887 VERBOSE DEBUG 1 #36 pc 001c62c3 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.76453359+378)
14:58:36.82 7887 VERBOSE DEBUG 1 #37 pc 001ca8ef /system/lib/libart.so (offset 0x1a3000) (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
14:58:36.82 7887 VERBOSE DEBUG 1 #38 pc 003d8a11 /system/lib/libart.so (offset 0x1a3000) (artQuickToInterpreterBridge+880)
14:58:36.82 7887 VERBOSE DEBUG 1 #39 pc 004156ff /system/lib/libart.so (offset 0x1a3000) (art_quick_to_interpreter_bridge+30)
14:58:36.82 7887 VERBOSE DEBUG 1 #40 pc 00411175 /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_stub_internal+68)
14:58:36.82 7887 VERBOSE DEBUG 1 #41 pc 003ead5b /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_static_stub+222)
14:58:36.82 7887 VERBOSE DEBUG 1 #42 pc 000a1827 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
14:58:36.82 7887 VERBOSE DEBUG 1 #43 pc 001e7059 /system/lib/libart.so (offset 0x1a3000) (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+236)
14:58:36.82 7887 VERBOSE DEBUG 1 #44 pc 001e1b47 /system/lib/libart.so (offset 0x1a3000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+814)
14:58:36.82 7887 VERBOSE DEBUG 1 #45 pc 003e688f /system/lib/libart.so (offset 0x1a3000) (MterpInvokeStatic+130)
14:58:36.82 7887 VERBOSE DEBUG 1 #46 pc 00404094 /system/lib/libart.so (offset 0x1a3000) (ExecuteMterpImpl+14612)
14:58:36.82 7887 VERBOSE DEBUG 1 #47 pc 01a7abae /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.vdex (de.robv.android.xposed.XposedHelpers.findAndHookMethod+62)
14:58:36.82 7887 VERBOSE DEBUG 1 #48 pc 001c62c3 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.76453359+378)
14:58:36.82 7887 VERBOSE DEBUG 1 #49 pc 001ca8ef /system/lib/libart.so (offset 0x1a3000) (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
14:58:36.82 7887 VERBOSE DEBUG 1 #50 pc 003d8a11 /system/lib/libart.so (offset 0x1a3000) (artQuickToInterpreterBridge+880)
14:58:36.82 7887 VERBOSE DEBUG 1 #51 pc 004156ff /system/lib/libart.so (offset 0x1a3000) (art_quick_to_interpreter_bridge+30)
14:58:36.82 7887 VERBOSE DEBUG 1 #52 pc 00411175 /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_stub_internal+68)
14:58:36.82 7887 VERBOSE DEBUG 1 #53 pc 003ead5b /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_static_stub+222)
14:58:36.82 7887 VERBOSE DEBUG 1 #54 pc 000a1827 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
14:58:36.82 7887 VERBOSE DEBUG 1 #55 pc 00349995 /system/lib/libart.so (offset 0x1a3000) (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
14:58:36.82 7887 VERBOSE DEBUG 1 #56 pc 0034ade5 /system/lib/libart.so (offset 0x1a3000) (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+1024)
14:58:36.82 7887 VERBOSE DEBUG 1 #57 pc 002fcc99 /system/lib/libart.so (offset 0x1a3000) (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+40)
14:58:36.82 7887 VERBOSE DEBUG 1 #58 pc 0011326f /system/framework/arm/boot-core-oj.oat (offset 0x10d000) (java.lang.Class.getDeclaredMethodInternal [DEDUPED]+110)
14:58:36.82 7887 VERBOSE DEBUG 1 #59 pc 00411175 /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_stub_internal+68)
14:58:36.82 7887 VERBOSE DEBUG 1 #60 pc 003eac59 /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_stub+224)
14:58:36.82 7887 VERBOSE DEBUG 1 #61 pc 000a1815 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
14:58:36.82 7887 VERBOSE DEBUG 1 #62 pc 001e7059 /system/lib/libart.so (offset 0x1a3000) (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+236)
14:58:36.82 7887 VERBOSE DEBUG 1 #63 pc 001e1b47 /system/lib/libart.so (offset 0x1a3000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+814)
14:58:36.82 7887 VERBOSE DEBUG 1 #64 pc 003e7cfd /system/lib/libart.so (offset 0x1a3000) (MterpInvokeVirtualQuick+428)
14:58:36.82 7887 VERBOSE DEBUG 1 #65 pc 00407c94 /system/lib/libart.so (offset 0x1a3000) (ExecuteMterpImpl+29972)
14:58:36.82 7887 VERBOSE DEBUG 1 #66 pc 01b5cffa /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.vdex (np.protect.⁣⁣⁣⁣⁣⁠⁤⁤⁠⁤⁠⁤⁠⁤⁠.⁠⁣⁤⁣⁤⁠⁣⁣⁣⁣⁤⁤⁤⁠⁤⁠+58)
14:58:36.82 7887 VERBOSE DEBUG 1 #67 pc 001c62c3 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.76453359+378)
14:58:36.82 7887 VERBOSE DEBUG 1 #68 pc 001ca9a9 /system/lib/libart.so (offset 0x1a3000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
14:58:36.82 7887 VERBOSE DEBUG 1 #69 pc 001e1b2f /system/lib/libart.so (offset 0x1a3000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790)
14:58:36.82 7887 VERBOSE DEBUG 1 #70 pc 003e688f /system/lib/libart.so (offset 0x1a3000) (MterpInvokeStatic+130)
14:58:36.82 7887 VERBOSE DEBUG 1 #71 pc 00404094 /system/lib/libart.so (offset 0x1a3000) (ExecuteMterpImpl+14612)
14:58:36.82 7887 VERBOSE DEBUG 1 #72 pc 01b4a8e8 /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.vdex (np.protect..۟ۢۡۥۡ+4)
14:58:36.82 7887 VERBOSE DEBUG 1 #73 pc 001c62c3 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.76453359+378)
14:58:36.82 7887 VERBOSE DEBUG 1 #74 pc 001ca9a9 /system/lib/libart.so (offset 0x1a3000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
14:58:36.82 7887 VERBOSE DEBUG 1 #75 pc 001e1b2f /system/lib/libart.so (offset 0x1a3000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790)
14:58:36.82 7887 VERBOSE DEBUG 1 #76 pc 003e688f /system/lib/libart.so (offset 0x1a3000) (MterpInvokeStatic+130)
14:58:36.82 7887 VERBOSE DEBUG 1 #77 pc 00404094 /system/lib/libart.so (offset 0x1a3000) (ExecuteMterpImpl+14612)
14:58:36.82 7887 VERBOSE DEBUG 1 #78 pc 01b4c8d2 /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.vdex (np.protect.ۤۦ.n+34)
14:58:36.82 7887 VERBOSE DEBUG 1 #79 pc 001c62c3 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.76453359+378)
14:58:36.82 7887 VERBOSE DEBUG 1 #80 pc 001ca9a9 /system/lib/libart.so (offset 0x1a3000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
14:58:36.82 7887 VERBOSE DEBUG 1 #81 pc 001e1b2f /system/lib/libart.so (offset 0x1a3000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790)
14:58:36.82 7887 VERBOSE DEBUG 1 #82 pc 003e688f /system/lib/libart.so (offset 0x1a3000) (MterpInvokeStatic+130)
14:58:36.82 7887 VERBOSE DEBUG 1 #83 pc 00404094 /system/lib/libart.so (offset 0x1a3000) (ExecuteMterpImpl+14612)
14:58:36.82 7887 VERBOSE DEBUG 1 #84 pc 01a78f8c /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.vdex (com.amap.api.services.Tool.hook+772)
14:58:36.82 7887 VERBOSE DEBUG 1 #85 pc 001c62c3 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.76453359+378)
14:58:36.82 7887 VERBOSE DEBUG 1 #86 pc 001ca9a9 /system/lib/libart.so (offset 0x1a3000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
14:58:36.82 7887 VERBOSE DEBUG 1 #87 pc 001e1b2f /system/lib/libart.so (offset 0x1a3000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790)
14:58:36.82 7887 VERBOSE DEBUG 1 #88 pc 003e688f /system/lib/libart.so (offset 0x1a3000) (MterpInvokeStatic+130)
14:58:36.82 7887 VERBOSE DEBUG 1 #89 pc 00404094 /system/lib/libart.so (offset 0x1a3000) (ExecuteMterpImpl+14612)
14:58:36.82 1386 INFO android_os_HwBinder 1 HwBinder: Starting thread pool for default::[email protected]::IEngineer
14:58:36.82 7887 VERBOSE DEBUG 1 #90 pc 01a760e0 /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.vdex (com.amap.api.services.InjectService.hook+108)
14:58:36.82 7887 VERBOSE DEBUG 1 #91 pc 001c62c3 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.76453359+378)
14:58:36.82 7887 VERBOSE DEBUG 1 #92 pc 001ca8ef /system/lib/libart.so (offset 0x1a3000) (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
14:58:36.82 7887 VERBOSE DEBUG 1 #93 pc 003d8a11 /system/lib/libart.so (offset 0x1a3000) (artQuickToInterpreterBridge+880)
14:58:36.82 7887 VERBOSE DEBUG 1 #94 pc 004156ff /system/lib/libart.so (offset 0x1a3000) (art_quick_to_interpreter_bridge+30)
14:58:36.82 7887 VERBOSE DEBUG 1 #95 pc 00411175 /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_stub_internal+68)
14:58:36.82 7887 VERBOSE DEBUG 1 #96 pc 003ead5b /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_static_stub+222)
14:58:36.82 7887 VERBOSE DEBUG 1 #97 pc 000a1827 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
14:58:36.82 7887 VERBOSE DEBUG 1 #98 pc 001e7059 /system/lib/libart.so (offset 0x1a3000) (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+236)
14:58:36.82 7887 VERBOSE DEBUG 1 #99 pc 001e1b47 /system/lib/libart.so (offset 0x1a3000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+814)
14:58:36.82 7887 VERBOSE DEBUG 1 #100 pc 003e688f /system/lib/libart.so (offset 0x1a3000) (MterpInvokeStatic+130)
14:58:36.82 7887 VERBOSE DEBUG 1 #101 pc 00404094 /system/lib/libart.so (offset 0x1a3000) (ExecuteMterpImpl+14612)
14:58:36.82 7887 VERBOSE DEBUG 1 #102 pc 0180e514 /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.vdex (ؙؐؕ؜؜.؜ؐؖ؜؜؜ؖ.)
14:58:36.82 7887 VERBOSE DEBUG 1 #103 pc 001c62c3 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.76453359+378)
14:58:36.82 7887 VERBOSE DEBUG 1 #104 pc 001ca8ef /system/lib/libart.so (offset 0x1a3000) (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
14:58:36.82 7887 VERBOSE DEBUG 1 #105 pc 003d8a11 /system/lib/libart.so (offset 0x1a3000) (artQuickToInterpreterBridge+880)
14:58:36.82 7887 VERBOSE DEBUG 1 #106 pc 004156ff /system/lib/libart.so (offset 0x1a3000) (art_quick_to_interpreter_bridge+30)
14:58:36.82 7887 VERBOSE DEBUG 1 #107 pc 00411175 /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_stub_internal+68)
14:58:36.82 7887 VERBOSE DEBUG 1 #108 pc 003ead5b /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_static_stub+222)
14:58:36.82 7887 VERBOSE DEBUG 1 #109 pc 000a1827 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
14:58:36.82 7887 VERBOSE DEBUG 1 #110 pc 000e5899 /system/lib/libart.so (art::ClassLinker::InitializeClass(art::Thread*, art::Handleart::mirror::Class, bool, bool)+1528)
14:58:36.82 7887 VERBOSE DEBUG 1 #111 pc 000d593f /system/lib/libart.so (art::ClassLinker::EnsureInitialized(art::Thread*, art::Handleart::mirror::Class, bool, bool)+130)
14:58:36.82 7887 VERBOSE DEBUG 1 #112 pc 001e70b9 /system/lib/libart.so (offset 0x1a3000) (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+332)
14:58:36.82 7887 VERBOSE DEBUG 1 #113 pc 001e22bf /system/lib/libart.so (offset 0x1a3000) (bool art::interpreter::DoCall<false, true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1494)
14:58:36.82 7887 VERBOSE DEBUG 1 #114 pc 001fabf1 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE0ELb0ELb1EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+96)
14:58:36.82 7887 VERBOSE DEBUG 1 #115 pc 001f6a2b /system/lib/libart.so (offset 0x1a3000) (void art::interpreter::ExecuteSwitchImplCpp<true, false>(art::interpreter::SwitchImplContext*)+53890)
14:58:36.82 7887 VERBOSE DEBUG 1 #116 pc 00416055 /system/lib/libart.so (offset 0x1a3000) (ExecuteSwitchImplAsm+4)
14:58:36.82 7887 VERBOSE DEBUG 1 #117 pc 0180cddc /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.vdex (ؙؐؕ؜؜.ؑؐؒ؜.)
14:58:36.82 7887 VERBOSE DEBUG 1 #118 pc 001c6287 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.76453359+318)
14:58:36.82 7887 VERBOSE DEBUG 1 #119 pc 001ca9a9 /system/lib/libart.so (offset 0x1a3000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
14:58:36.82 7887 VERBOSE DEBUG 1 #120 pc 001e22a9 /system/lib/libart.so (offset 0x1a3000) (bool art::interpreter::DoCall<false, true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1472)
14:58:36.82 7887 VERBOSE DEBUG 1 #121 pc 001fabf1 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE0ELb0ELb1EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+96)
14:58:36.82 7887 VERBOSE DEBUG 1 #122 pc 001f6a2b /system/lib/libart.so (offset 0x1a3000) (void art::interpreter::ExecuteSwitchImplCpp<true, false>(art::interpreter::SwitchImplContext*)+53890)
14:58:36.82 7887 VERBOSE DEBUG 1 #123 pc 00416055 /system/lib/libart.so (offset 0x1a3000) (ExecuteSwitchImplAsm+4)
14:58:36.82 7887 VERBOSE DEBUG 1 #124 pc 018288d4 /data/app/com.xxxxxxxxxx-XlbIdDCnhZJRswfC7ljwXQ==/oat/arm/base.vdex (ؙؐؕ؜؜.؜؜.)
14:58:36.82 7887 VERBOSE DEBUG 1 #125 pc 001c6287 /system/lib/libart.so (offset 0x1a3000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.76453359+318)
14:58:36.82 7887 VERBOSE DEBUG 1 #126 pc 001ca8ef /system/lib/libart.so (offset 0x1a3000) (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
14:58:36.82 7887 VERBOSE DEBUG 1 #127 pc 003d8a11 /system/lib/libart.so (offset 0x1a3000) (artQuickToInterpreterBridge+880)
14:58:36.82 7887 VERBOSE DEBUG 1 #128 pc 004156ff /system/lib/libart.so (offset 0x1a3000) (art_quick_to_interpreter_bridge+30)
14:58:36.82 7887 VERBOSE DEBUG 1 #129 pc 00411175 /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_stub_internal+68)
14:58:36.82 7887 VERBOSE DEBUG 1 #130 pc 003ead5b /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_static_stub+222)
14:58:36.82 7887 VERBOSE DEBUG 1 #131 pc 000a1827 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
14:58:36.82 7887 VERBOSE DEBUG 1 #132 pc 000e5899 /system/lib/libart.so (art::ClassLinker::InitializeClass(art::Thread*, art::Handleart::mirror::Class, bool, bool)+1528)
14:58:36.82 7887 VERBOSE DEBUG 1 #133 pc 000d593f /system/lib/libart.so (art::ClassLinker::EnsureInitialized(art::Thread*, art::Handleart::mirror::Class, bool, bool)+130)
14:58:36.82 7887 VERBOSE DEBUG 1 #134 pc 002ed305 /system/lib/libart.so (offset 0x1a3000) (art::Class_newInstance(_JNIEnv*, _jobject*)+1004)
14:58:36.82 7887 VERBOSE DEBUG 1 #135 pc 0010d14b /system/framework/arm/boot-core-oj.oat (offset 0x10d000) (java.lang.Object.internalClone [DEDUPED]+74)
14:58:36.82 7887 VERBOSE DEBUG 1 #136 pc 00696331 /system/framework/arm/boot-framework.oat (offset 0x3c0000) (android.app.LoadedApk.createAppFactory+96)
14:58:36.82 7887 VERBOSE DEBUG 1 #137 pc 00696c63 /system/framework/arm/boot-framework.oat (offset 0x3c0000) (android.app.LoadedApk.createOrUpdateClassLoaderLocked+2178)
14:58:36.82 7887 VERBOSE DEBUG 1 #138 pc 006995b5 /system/framework/arm/boot-framework.oat (offset 0x3c0000) (android.app.LoadedApk.getClassLoader+76)
14:58:36.82 7887 VERBOSE DEBUG 1 #139 pc 00699969 /system/framework/arm/boot-framework.oat (offset 0x3c0000) (android.app.LoadedApk.getResources+336)
14:58:36.82 7887 VERBOSE DEBUG 1 #140 pc 00788ae5 /system/framework/arm/boot-framework.oat (offset 0x3c0000) (android.app.ContextImpl.createAppContext+140)
14:58:36.82 7887 VERBOSE DEBUG 1 #141 pc 007741a1 /system/framework/arm/boot-framework.oat (offset 0x3c0000) (android.app.ActivityThread.handleBindApplication+4544)
14:58:36.82 7887 VERBOSE DEBUG 1 #142 pc 00770347 /system/framework/arm/boot-framework.oat (offset 0x3c0000) (android.app.ActivityThread$H.handleMessage+6598)
14:58:36.82 7887 VERBOSE DEBUG 1 #143 pc 0092deb1 /system/framework/arm/boot-framework.oat (offset 0x3c0000) (android.os.Handler.dispatchMessage+136)
14:58:36.82 7887 VERBOSE DEBUG 1 #144 pc 009306e5 /system/framework/arm/boot-framework.oat (offset 0x3c0000) (android.os.Looper.loop+1476)
14:58:36.82 7887 VERBOSE DEBUG 1 #145 pc 0077b16b /system/framework/arm/boot-framework.oat (offset 0x3c0000) (android.app.ActivityThread.main+674)
14:58:36.82 7887 VERBOSE DEBUG 1 #146 pc 00411175 /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_stub_internal+68)
14:58:36.82 7887 VERBOSE DEBUG 1 #147 pc 003ead5b /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_static_stub+222)
14:58:36.82 7887 VERBOSE DEBUG 1 #148 pc 000a1827 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
14:58:36.82 7887 VERBOSE DEBUG 1 #149 pc 00349995 /system/lib/libart.so (offset 0x1a3000) (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
14:58:36.82 7887 VERBOSE DEBUG 1 #150 pc 0034ade5 /system/lib/libart.so (offset 0x1a3000) (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+1024)
14:58:36.82 7887 VERBOSE DEBUG 1 #151 pc 002fcc99 /system/lib/libart.so (offset 0x1a3000) (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+40)
14:58:36.82 7887 VERBOSE DEBUG 1 #152 pc 0011326f /system/framework/arm/boot-core-oj.oat (offset 0x10d000) (java.lang.Class.getDeclaredMethodInternal [DEDUPED]+110)
14:58:36.82 7887 VERBOSE DEBUG 1 #153 pc 00bbbafb /system/framework/arm/boot-framework.oat (offset 0x3c0000) (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+114)
14:58:36.82 7887 VERBOSE DEBUG 1 #154 pc 00bc147f /system/framework/arm/boot-framework.oat (offset 0x3c0000) (com.android.internal.os.ZygoteInit.main+1886)
14:58:36.82 7887 VERBOSE DEBUG 1 #155 pc 00411175 /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_stub_internal+68)
14:58:36.82 7887 VERBOSE DEBUG 1 #156 pc 003ead5b /system/lib/libart.so (offset 0x1a3000) (art_quick_invoke_static_stub+222)
14:58:36.82 7887 VERBOSE DEBUG 1 #157 pc 000a1827 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
14:58:36.82 7887 VERBOSE DEBUG 1 #158 pc 00349995 /system/lib/libart.so (offset 0x1a3000) (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
14:58:36.82 7887 VERBOSE DEBUG 1 #159 pc 003497bf /system/lib/libart.so (offset 0x1a3000) (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+310)
14:58:36.82 7887 VERBOSE DEBUG 1 #160 pc 002905b5 /system/lib/libart.so (offset 0x1a3000) (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+444)
14:58:36.82 7887 VERBOSE DEBUG 1 #161 pc 0006e609 /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+28)
14:58:36.82 7887 VERBOSE DEBUG 1 #162 pc 000707e1 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vectorandroid::String8 const&, bool)+484)
14:58:36.82 7887 VERBOSE DEBUG 1 #163 pc 00001c8f /system/bin/app_process32 (main+1122)
14:58:36.82 7887 VERBOSE DEBUG 1 #164 pc 000a2245 /system/lib/libc.so (__libc_init+48)
14:58:36.82 7887 VERBOSE DEBUG 1 #165 pc 000017eb /system/bin/app_process32 (_start_main+38)
14:58:36.82 7887 VERBOSE DEBUG 1 #166 pc 000000c4

请问有办法跨进程hook吗?

现在hook 了a方法
使用的时候是在1进程的,然后2进程调用a方法的时候,hook没有触发到
请问有办法可以在2进程的时候hook到吗?

STREX Rd cannot be Rt or Rn

signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0xe2601ca0
    r0  00000000  r1  1513fb78  r2  e1263490  r3  e2601c81
    r4  1513fb78  r5  ad593068  r6  ad593038  r7  0000000b
    r8  00000000  r9  e1c9ba00  r10 e1263880  r11 b44d9acc
    ip  e3d8b6f0  sp  ad593020  lr  e126c540  pc  e2601ca0

backtrace:
      #00 pc **00000ca0**  [anon:Pine CreateBridgeJumpTrampoline]

memory near r1 ([anon:dalvik-main space (region space)]):
    1513fb50 00000000 00000000 00000000 00000000  ................
    1513fb60 00000000 00000000 00000000 00000000  ................
    1513fb70 00000000 00000000 6fc1e090 00000000  ...........o....

memory near r2 (/apex/com.android.art/lib/libart.so):
    e1263470 d4d4d4d4 d4d4d4d4 d4d4d4d4 d4d4d4d4  ................
    e1263480 00000000 00000000 00000000 0000d1e4  ................
    e1263490 e24dca02 e59cc000 e92d4ff0 ed2d8a10  ..M......O-...-.

memory near r3 ([anon:Pine CreateBridgeJumpTrampoline]):
    e2601c60 f8df466b f8df0010 bf00f010 c727c074  kF..........t.'.
    e2601c70 e3ec9d40 d243baec e1263490 e152ec11  @.....C..4&...R.
    e2601c80 c068f8df bf184560 f070f8df c060f8df  ..h.`E....p...`.
    e2601c90 0f00e85c bf182801 f04fbf20 bf080000  \....(.. .O.....
    e2601ca0 0000e84c 2800bf08 f3bfd1f2 f8cc8f5f  L......(...._...
    e2601cb0 f8cc1004 f8cc2008 ed8c300c ed8c0b04  ..... ...0......
    e2601cc0 ed8c1b06 ed8c2b08 ed8c3b0a ed8c4b0c  .....+...;...K..
    e2601cd0 ed8c5b0e ed8c6b10 f8df7b12 46621010  .[...k...{....bF
    e2601ce0 f8df466b f8df0010 bf00f010 cd7e193c  kF..........<.~.
    e2601cf0 e3d8b6f0 d243babc e1263490 e1263490  ......C..4&..4&.
    e2601d00 c068f8df bf184560 f070f8df c060f8df  ..h.`E....p...`.
    e2601d10 0f00e85c bf182801 f04fbf20 bf080000  \....(.. .O.....
    e2601d20 0000e84c 2800bf08 f3bfd1f2 f8cc8f5f  L......(...._...
    e2601d30 f8cc1004 f8cc2008 ed8c300c ed8c0b04  ..... ...0......
    e2601d40 ed8c1b06 ed8c2b08 ed8c3b0a ed8c4b0c  .....+...;...K..
    e2601d50 ed8c5b0e ed8c6b10 f8df7b12 46621010  .[...k...{....bF

memory near sp ([anon:stack_and_tls:2555]):
    ad593000 6fd9a030 ad593068 ad593038 00001071  0..oh0Y.80Y.q...
    ad593010 00000000 e1263880 b44d9acc e1267134  .....8&...M.4q&.
    ad593020 c6dcfbfc 00000010 13a5c398 00000000  ................
    ad593030 b44d9acc ad59309c 15342ba8 00000000  ..M..0Y..+4.....
    ad593040 00000000 00000000 00000000 00000000  ................
    ad593050 00000000 00000000 00000000 00000000  ................
    ad593060 15342b98 1513fb78 15342ba8 00000000  .+4.x....+4.....
    ad593070 00000020 15342b08 e7f8e4c9 00000000   ....+4.........
    ad593080 00026964 00000000 00000001 00000002  di..............
    ad593090 15342b98 1513fb78 15342b08 00000000  .+4.x....+4.....
    ad5930a0 00000000 00000000 00000000 00000000  ................
    ad5930b0 00000000 00000000 00000000 00000000  ................
    ad5930c0 00000000 00000000 00000000 00000000  ................
    ad5930d0 00000000 00000000 00000000 b44d9a88  ..............M.
    ad5930e0 ad593124 ad593114 00002070 00000000  $1Y..1Y.p ......
    ad5930f0 e1c9ba00 e1263880 b44d9d40 e126cf84  .....8&[email protected]...&.

memory near pc ([anon:Pine CreateBridgeJumpTrampoline]):
    e2601c80 c068f8df bf184560 f070f8df c060f8df  ..h.`E....p...`.
    e2601c90 0f00e85c bf182801 f04fbf20 bf080000  \....(.. .O.....
    **e2601ca0 0000e84c 2800bf08 f3bfd1f2 f8cc8f5f  L......(...._...**
    e2601cb0 f8cc1004 f8cc2008 ed8c300c ed8c0b04  ..... ...0......
    e2601cc0 ed8c1b06 ed8c2b08 ed8c3b0a ed8c4b0c  .....+...;...K..
    e2601cd0 ed8c5b0e ed8c6b10 f8df7b12 46621010  .[...k...{....bF
    e2601ce0 f8df466b f8df0010 bf00f010 cd7e193c  kF..........<.~.
    e2601cf0 e3d8b6f0 d243babc e1263490 e1263490  ......C..4&..4&.
    e2601d00 c068f8df bf184560 f070f8df c060f8df  ..h.`E....p...`.
    e2601d10 0f00e85c bf182801 f04fbf20 bf080000  \....(.. .O.....
    e2601d20 0000e84c 2800bf08 f3bfd1f2 f8cc8f5f  L......(...._...
    e2601d30 f8cc1004 f8cc2008 ed8c300c ed8c0b04  ..... ...0......
    e2601d40 ed8c1b06 ed8c2b08 ed8c3b0a ed8c4b0c  .....+...;...K..
    e2601d50 ed8c5b0e ed8c6b10 f8df7b12 46621010  .[...k...{....bF
    e2601d60 f8df466b f8df0010 bf00f010 cd7e1c0c  kF............~.
    e2601d70 acda6f10 d243babc e1263490 e1263490  .o....C..4&..4&.

-------------------- objdump ---------------------------

00007c70 <pine_thumb_bridge_jump_trampoline>:
    7c70:	f8df c068 	ldr.w	ip, [pc, #104]	; 7cdc <pine_thumb_bridge_jump_trampoline_target_method>
    7c74:	4560      	cmp	r0, ip
    7c76:	bf18      	it	ne
    7c78:	f8df f070 	ldrne.w	pc, [pc, #112]	; 7cec <pine_thumb_bridge_jump_trampoline_call_origin_entry>
    7c7c:	f8df c060 	ldr.w	ip, [pc, #96]	; 7ce0 <pine_thumb_bridge_jump_trampoline_extras>

00007c80 <acquire_lock>:
    7c80:	e85c 0f00 	ldrex	r0, [ip]
    7c84:	2801      	cmp	r0, #1
    7c86:	bf18      	it	ne
    7c88:	bf20      	wfene
    7c8a:	f04f 0000 	mov.w	r0, #0
    7c8e:	bf08      	it	eq
    **7c90:	e84c 0000 	strexeq	r0, r0, [ip]**
    7c94:	bf08      	it	eq
    7c96:	2800      	cmpeq	r0, #0
    7c98:	d1f2      	bne.n	7c80 <acquire_lock>
    7c9a:	f3bf 8f5f 	dmb	sy
    7c9e:	f8cc 1004 	str.w	r1, [ip, #4]
    7ca2:	f8cc 2008 	str.w	r2, [ip, #8]
    7ca6:	f8cc 300c 	str.w	r3, [ip, #12]
    7caa:	ed8c 0b04 	vstr	d0, [ip, #16]
    7cae:	ed8c 1b06 	vstr	d1, [ip, #24]
    7cb2:	ed8c 2b08 	vstr	d2, [ip, #32]
    7cb6:	ed8c 3b0a 	vstr	d3, [ip, #40]	; 0x28
    7cba:	ed8c 4b0c 	vstr	d4, [ip, #48]	; 0x30
    7cbe:	ed8c 5b0e 	vstr	d5, [ip, #56]	; 0x38
    7cc2:	ed8c 6b10 	vstr	d6, [ip, #64]	; 0x40
    7cc6:	ed8c 7b12 	vstr	d7, [ip, #72]	; 0x48
    7cca:	f8df 1010 	ldr.w	r1, [pc, #16]	; 7cdc <pine_thumb_bridge_jump_trampoline_target_method>
    7cce:	4662      	mov	r2, ip
    7cd0:	466b      	mov	r3, sp
    7cd2:	f8df 0010 	ldr.w	r0, [pc, #16]	; 7ce4 <pine_thumb_bridge_jump_trampoline_bridge_method>
    7cd6:	f8df f010 	ldr.w	pc, [pc, #16]	; 7ce8 <pine_thumb_bridge_jump_trampoline_bridge_entry>
    7cda:	bf00      	nop

00007cdc <pine_thumb_bridge_jump_trampoline_target_method>:
    7cdc:	00000000 	.word	0x00000000

00007ce0 <pine_thumb_bridge_jump_trampoline_extras>:
    7ce0:	00000000 	.word	0x00000000

00007ce4 <pine_thumb_bridge_jump_trampoline_bridge_method>:
    7ce4:	00000000 	.word	0x00000000

00007ce8 <pine_thumb_bridge_jump_trampoline_bridge_entry>:
    7ce8:	00000000 	.word	0x00000000

00007cec <pine_thumb_bridge_jump_trampoline_call_origin_entry>:
    7cec:	00000000 	.word	0x00000000

[Pine related crash on specific ROM] Unable to run Aliucord at all on CrDroid 8

Hello, I showed the logcats from Aliucord on the Aliucord server, and they directed me to get in touch with you as the issue seems to be related to Pine. I hope this is the right place to post.

Aliucord seems to work on every ROM I have tried, apart from one ROM which sadly is the ROM I wish to use, but can't due to Aliucord just simply not working at all.
(I have used other ROMs running Android 12, in fact the current ROM I'm running is PixelExtended Android 12 and Aliucord runs fine without issues)

Aliucord opens, and then freezes on the Aliucord symbol, remains frozen for a long period of time, until it finally crashes. While frozen, Aliucord spits the same log over and over in a loop... Until it crashes.

I am running a Xiaomi Redmi Note 10 Pro (sweet) and this issue is on CrDroid 8 (Android 12)

Here's the logcat for when Aliucord remains in a frozen state:
https://pastebin.com/CCLxpaTz

Here's the logcat for when Aliucord crashes:
https://pastebin.com/GhtCchXT

Both logcats are filtered to only show Warnings and above. I hope you can point me in the right direction, or suggest a fix.
Thanks.

Crash on Android 12 When start with "Debug 'app'"

This crash occurs every time when When start with "Debug 'app'" in AndroidStudio.
Model: Pixel 5a
Android version: 12
Build number: SP1A.210812.016.A1

Add below code in ExampleApp onCreate method:

    @Override public void onCreate() {
        super.onCreate();

        PineConfig.debug = true;
        PineConfig.debuggable = BuildConfig.DEBUG;
        Pine.disableJitInline();

       // Cause crash code    start
        try {
            Pine.hook(JSONObject.class.getDeclaredMethod("put",new Class[]{String.class, Object.class}), new MethodHook(){
                @Override
                public void beforeCall(Pine.CallFrame callFrame) throws Throwable {
                    Log.e("Pine","put " + callFrame.args[0] + ":" + callFrame.args[1]);
                }
            });
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }

        JSONObject a = new JSONObject();
        try {
            a.put("str", "1");
        } catch (JSONException e) {
            throw new RuntimeException(e);
        }
       //Causes crash code    end
    }
2022-06-06 10:15:18.292 31367-31367/top.canyie.pine.examples E/Pine: put str:1
2022-06-06 10:15:18.292 31367-31367/top.canyie.pine.examples A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xfffffcbd6c26d8 in tid 31367 (e.pine.examples), pid 31367 (e.pine.examples)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG: Build fingerprint: 'google/barbet/barbet:12/SP1A.210812.016.A1/7796139:user/release-keys'
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG: Revision: 'MP1.0'
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG: ABI: 'arm64'
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG: Timestamp: 2022-06-06 10:15:18.339604585+0800
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG: Process uptime: 3s
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG: Cmdline: top.canyie.pine.examples
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG: pid: 31367, tid: 31367, name: e.pine.examples  >>> top.canyie.pine.examples <<<
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG: uid: 10575
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xfffffcbd6c26d8
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:     x0  0000000012d0a6f8  x1  000000000000000c  x2  0000000000000032  x3  000000731a23df90
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:     x4  0000000000000000  x5  0000000000000000  x6  b400007469f34de0  x7  0000007fd42ca020
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:     x8  fffffffcbd6c26c8  x9  0000000012d0a6cc  x10 0000000000000000  x11 0000000000007a87
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:     x12 b400007469f33380  x13 b400007429f2e010  x14 00000075a0cfb760  x15 0000007fd42c9f88
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:     x16 00000072763ef568  x17 00000072f8f9a64c  x18 00000075a1ecc000  x19 b400007469f33380
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:     x20 b400007359f25b00  x21 0000007fd42c9b20  x22 000000006fb42c50  x23 0000000012d0a6f8
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:     x24 000000006fb42c50  x25 000000731a23df90  x26 00000075a14ec000  x27 0000000395536ffa
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:     x28 0000000081000000  x29 0000007fd42c9a80
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:     lr  00000072f8f9a9dc  sp  0000007fd42c9a00  pc  00000072f8f9a9ec  pst 0000000020001000
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG: backtrace:
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #00 pc 000000000059a9ec  /apex/com.android.art/lib64/libart.so!libart.so (unsigned long art::jni::JniIdManager::EncodeGenericId<art::ArtMethod>(art::ReflectiveHandle<art::ArtMethod>)+472) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #01 pc 000000000059a6c4  /apex/com.android.art/lib64/libart.so!libart.so (art::jni::JniIdManager::EncodeMethodId(art::ArtMethod*)+120) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #02 pc 000000000004899c  /apex/com.android.art/lib64/libopenjdkjvmti.so (openjdkjvmti::JvmtiMethodTraceListener::DexPcMoved(art::Thread*, art::Handle<art::mirror::Object>, art::ArtMethod*, unsigned int)+108) (BuildId: 2b29640bb11aff42247d53dd3fed1b01)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #03 pc 0000000000253094  /apex/com.android.art/lib64/libart.so (art::instrumentation::Instrumentation::DexPcMovedEventImpl(art::Thread*, art::ObjPtr<art::mirror::Object>, art::ArtMethod*, unsigned int) const+164) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #04 pc 00000000002203d8  /apex/com.android.art/lib64/libart.so (art::interpreter::InstructionHandler<false, false, (art::Instruction::Format)26>::DoDexPcMoveEvent(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame const&, unsigned int, art::instrumentation::Instrumentation const*, art::JValue*)+236) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #05 pc 0000000000216b88  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+26960) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #06 pc 00000000002dc3d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #07 pc 0000000000046760  /apex/com.android.art/javalib/core-libart.jar
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #08 pc 000000000027dc88  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.6649268296134209133)+408) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #09 pc 000000000027cf1c  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+1176) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #10 pc 00000000002d9b78  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #11 pc 00000000002d0164  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #12 pc 0000000000364cec  /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+744) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #13 pc 00000000003649dc  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #14 pc 00000000000b2f74  /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+132) (BuildId: ab2bf4ec264efdb6c452a238be38fe624de826b8)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #15 pc 00000000002d0164  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #16 pc 00000000002f47c4  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+312) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #17 pc 0000000000417a1c  /apex/com.android.art/lib64/libart.so!libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+820) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #18 pc 0000000000216608  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+25552) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #19 pc 00000000002dc3d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #20 pc 0000000000007418  /data/data/top.canyie.pine.examples/code_cache/.overlay/base.apk/classes.dex
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #21 pc 0000000000545d54  /apex/com.android.art/lib64/libart.so!libart.so (art::interpreter::ExecuteSwitch(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.6649268296134209133)+192) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #22 pc 000000000027e2ec  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.6649268296134209133)+2044) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #23 pc 00000000003851d0  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+148) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #24 pc 0000000000417c94  /apex/com.android.art/lib64/libart.so!libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1452) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #25 pc 0000000000210700  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+1224) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #26 pc 00000000002dc3d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #27 pc 0000000000006e0c  /data/data/top.canyie.pine.examples/code_cache/.overlay/base.apk/classes.dex
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #28 pc 0000000000545d54  /apex/com.android.art/lib64/libart.so!libart.so (art::interpreter::ExecuteSwitch(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.6649268296134209133)+192) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #29 pc 000000000027e2ec  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.6649268296134209133)+2044) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #30 pc 00000000003851d0  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+148) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #31 pc 0000000000417c94  /apex/com.android.art/lib64/libart.so!libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1452) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #32 pc 0000000000216608  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+25552) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #33 pc 00000000002dc3d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #34 pc 0000000000007474  /data/data/top.canyie.pine.examples/code_cache/.overlay/base.apk/classes.dex
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #35 pc 0000000000545d54  /apex/com.android.art/lib64/libart.so!libart.so (art::interpreter::ExecuteSwitch(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.6649268296134209133)+192) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #36 pc 000000000027e2ec  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.6649268296134209133)+2044) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #37 pc 00000000003851d0  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+148) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #38 pc 0000000000417c94  /apex/com.android.art/lib64/libart.so!libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1452) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #39 pc 0000000000210700  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+1224) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #40 pc 00000000002dc3d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #41 pc 00000000000093d0  /data/data/top.canyie.pine.examples/code_cache/.overlay/base.apk/classes.dex
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #42 pc 0000000000545d54  /apex/com.android.art/lib64/libart.so!libart.so (art::interpreter::ExecuteSwitch(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.6649268296134209133)+192) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #43 pc 000000000027e2ec  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.6649268296134209133)+2044) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #44 pc 00000000003851d0  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+148) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #45 pc 0000000000385834  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1032) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #46 pc 0000000000216534  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+25340) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #47 pc 00000000002dc3d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #48 pc 0000000000009760  /data/data/top.canyie.pine.examples/code_cache/.overlay/base.apk/classes.dex
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #49 pc 0000000000545d54  /apex/com.android.art/lib64/libart.so!libart.so (art::interpreter::ExecuteSwitch(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.6649268296134209133)+192) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #50 pc 000000000027e2ec  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.6649268296134209133)+2044) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #51 pc 000000000027cf1c  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+1176) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #52 pc 00000000002d9b78  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #53 pc 00000000002d0164  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #54 pc 00000000002f47c4  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+312) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #55 pc 0000000000417a1c  /apex/com.android.art/lib64/libart.so!libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+820) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #56 pc 0000000000216608  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+25552) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #57 pc 00000000002dc3d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #58 pc 000000000000a510  /data/data/top.canyie.pine.examples/code_cache/.overlay/base.apk/classes.dex
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #59 pc 0000000000545d54  /apex/com.android.art/lib64/libart.so!libart.so (art::interpreter::ExecuteSwitch(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.6649268296134209133)+192) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #60 pc 000000000027e2ec  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.6649268296134209133)+2044) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #61 pc 00000000003851d0  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+148) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #62 pc 0000000000417c94  /apex/com.android.art/lib64/libart.so!libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1452) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #63 pc 0000000000216608  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+25552) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #64 pc 00000000002dc3d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #65 pc 000000000023e8a0  /system/framework/framework.jar
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #66 pc 0000000000545d54  /apex/com.android.art/lib64/libart.so!libart.so (art::interpreter::ExecuteSwitch(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.6649268296134209133)+192) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #67 pc 000000000027e2ec  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.6649268296134209133)+2044) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #68 pc 00000000002f3f8c  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+3908) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #69 pc 00000000002349c0  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<true, false>(art::interpreter::SwitchImplContext*)+28752) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #70 pc 00000000002dc3d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #71 pc 00000000001c4940  /system/framework/framework.jar
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #72 pc 0000000000545d54  /apex/com.android.art/lib64/libart.so!libart.so (art::interpreter::ExecuteSwitch(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.6649268296134209133)+192) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #73 pc 000000000027e2ec  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.6649268296134209133)+2044) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #74 pc 00000000002f3f8c  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+3908) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #75 pc 0000000000416ca4  /apex/com.android.art/lib64/libart.so!libart.so (MterpInvokeDirect+2488) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #76 pc 00000000002ca994  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #77 pc 00000000001c1d7c  /system/framework/framework.jar
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #78 pc 000000000027dd74  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.6649268296134209133)+644) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #79 pc 00000000003851d0  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+148) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #80 pc 0000000000417c94  /apex/com.android.art/lib64/libart.so!libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1452) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #81 pc 000000000077699c  /apex/com.android.art/lib64/libart.so!libart.so (MterpInvokeStatic+3812) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #82 pc 00000000002caa14  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #83 pc 00000000001be520  /system/framework/framework.jar
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #84 pc 00000000002c5c48  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+2292) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #85 pc 00000000002ca894  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #86 pc 00000000004232ce  /system/framework/framework.jar
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #87 pc 00000000002c5c48  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+2292) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #88 pc 00000000002ca894  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #89 pc 000000000044ccc6  /system/framework/framework.jar
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #90 pc 0000000000776300  /apex/com.android.art/lib64/libart.so!libart.so (MterpInvokeStatic+2120) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #91 pc 00000000002caa14  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #92 pc 000000000044d308  /system/framework/framework.jar
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #93 pc 0000000000775d24  /apex/com.android.art/lib64/libart.so!libart.so (MterpInvokeStatic+620) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #94 pc 00000000002caa14  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #95 pc 00000000001c8532  /system/framework/framework.jar
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #96 pc 000000000027dd74  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.6649268296134209133)+644) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #97 pc 000000000027cf1c  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+1176) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #98 pc 00000000002d9b78  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.512 31397-31397/? A/DEBUG:       #99 pc 00000000002d9d8c  /apex/com.android.art/lib64/libart.so (BuildId: cdecb8dde1264c9871695c29854aa3b1)
2022-06-06 10:15:18.527 702-702/? E/tombstoned: Tombstone written to: tombstone_22

App Compilation failed.

NDK uses 23.0.7196353

···
ld: error: relocation R_AARCH64_LD_PREL_LO19 cannot be used against symbol pine_direct_jump_trampoline_jump_entry; recompile with -fPIC

defined in CMakeFiles/pine.dir/trampoline/arch/arm64.S.o
referenced by CMakeFiles/pine.dir/trampoline/arch/arm64.S.o:(.data+0x0)
···

Is it possible to support arm32 devices in the future

我尝试使用arm64架构可以完美的工作,目前在 使用32位lib的app上无法运行,以后有没有计划继续适配32位的设备呢。
错误如下
`*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'Redmi/lmipro/lmipro:10/QKQ1.200419.002/20.7.9:user/release-keys'
Revision: '0'
ABI: 'arm'
Timestamp: 2020-07-14 02:46:29+0800
pid: 12365, tid: 12365, name: e.myapplication >>> com.example.myapplication <<<
uid: 10631
signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0xe2f40072
r0 d4c954f8 r1 6fefdfcc r2 d643cbd0 r3 ffacf210
r4 6fefdfcc r5 ea9102e6 r6 00000002 r7 14ac2700
r8 00000000 r9 f0435e00 r10 ffacf2a0 r11 ffacf224
ip d643cbd0 sp ffacf210 lr eb835bc7 pc e2f40062

backtrace:
#00 pc 00000062 [anon:pine codes]
#1 pc 000d8bc5 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#2 pc 00441bf9 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (art_quick_invoke_stub+248) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#3 pc 000e0f81 /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+168) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#4 pc 00215663 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x1dc000) (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+270) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#5 pc 00211857 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x1dc000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+738) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#6 pc 00436f6b /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (MterpInvokeVirtual+594) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#7 pc 000d3814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#8 pc 001668f4 [anon:dalvik-classes.dex extracted in memory from /data/app/com.example.myapplication-5BGYRmy14FAClbuoA1ADyA==/base.apk] (com.example.myapplication.MainActivity.onCreate+80)
#9 pc 004371e3 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (MterpInvokeVirtual+1226) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#10 pc 000d3814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#11 pc 001a871e /system/framework/framework.jar (android.app.Activity.performCreate+38)
#12 pc 004371e3 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (MterpInvokeVirtual+1226) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#13 pc 000d3814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#14 pc 001a86de /system/framework/framework.jar (android.app.Activity.performCreate+2)
#15 pc 004371e3 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (MterpInvokeVirtual+1226) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#16 pc 000d3814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#17 pc 0020bc3a /system/framework/framework.jar (android.app.Instrumentation.callActivityOnCreate+6)
#18 pc 004371e3 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (MterpInvokeVirtual+1226) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#19 pc 000d3814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#20 pc 001972c4 /system/framework/framework.jar (android.app.ActivityThread.performLaunchActivity+752)
#21 pc 0043901d /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (MterpInvokeDirect+976) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#22 pc 000d3914 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_direct+20) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#23 pc 00196f42 /system/framework/framework.jar (android.app.ActivityThread.handleLaunchActivity+94)
#24 pc 004371e3 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (MterpInvokeVirtual+1226) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#25 pc 000d3814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#26 pc 0027c88e /system/framework/framework.jar (android.app.servertransaction.LaunchActivityItem.execute+126)
#27 pc 004371e3 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (MterpInvokeVirtual+1226) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#28 pc 000d3814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#29 pc 0027edda /system/framework/framework.jar (android.app.servertransaction.TransactionExecutor.executeCallbacks+154)
#30 pc 004371e3 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (MterpInvokeVirtual+1226) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#31 pc 000d3814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#32 pc 0027ed16 /system/framework/framework.jar (android.app.servertransaction.TransactionExecutor.execute+146)
#33 pc 004371e3 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (MterpInvokeVirtual+1226) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#34 pc 000d3814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#35 pc 00195e32 /system/framework/framework.jar (android.app.ActivityThread$H.handleMessage+86)
#36 pc 004371e3 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (MterpInvokeVirtual+1226) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#37 pc 000d3814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#38 pc 00327c12 /system/framework/framework.jar (android.os.Handler.dispatchMessage+38)
#39 pc 004371e3 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (MterpInvokeVirtual+1226) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#40 pc 000d3814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#41 pc 0034cdc6 /system/framework/framework.jar (android.os.Looper.loop+502)
#42 pc 0043975b /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (MterpInvokeStatic+934) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#43 pc 000d3994 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_static+20) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#44 pc 001a0180 /system/framework/framework.jar (android.app.ActivityThread.main+196)
#45 pc 001f167f /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x1dc000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.5926333900727715245+166) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#46 pc 001f6093 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x1dc000) (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+122) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#47 pc 0042b653 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (artQuickToInterpreterBridge+866) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#48 pc 000dd5a1 /apex/com.android.runtime/lib/libart.so (art_quick_to_interpreter_bridge+32) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#49 pc 000d8bc5 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#50 pc 00441d0b /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (art_quick_invoke_static_stub+246) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#51 pc 000e0f95 /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+188) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#52 pc 0037e417 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x33f000) (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+54) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#53 pc 0037f905 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x33f000) (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+872) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#54 pc 003299af /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x2ee000) (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+30) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#55 pc 005f97e7 /system/framework/arm/boot.oat (art_jni_trampoline+110) (BuildId: f782c579cee46be788bd56e2d5a7b56f5e17f8e6)
#56 pc 000d8bc5 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#57 pc 00441bf9 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (art_quick_invoke_stub+248) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#58 pc 000e0f81 /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+168) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#59 pc 00215663 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x1dc000) (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+270) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#60 pc 00211857 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x1dc000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+738) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#61 pc 00436f6b /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (MterpInvokeVirtual+594) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#62 pc 000d3814 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#63 pc 0039da06 /system/framework/framework.jar (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22)
#64 pc 001f167f /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x1dc000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.5926333900727715245+166) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#65 pc 001f6093 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x1dc000) (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+122) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#66 pc 0042b653 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (artQuickToInterpreterBridge+866) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#67 pc 000dd5a1 /apex/com.android.runtime/lib/libart.so (art_quick_to_interpreter_bridge+32) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#68 pc 01d9b321 /system/framework/arm/boot-framework.oat (com.android.internal.os.ZygoteInit.main+1888) (BuildId: 0764005d9284253165d4e2551608affed4a424ea)
#69 pc 000d8bc5 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#70 pc 00441d0b /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x387000) (art_quick_invoke_static_stub+246) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#71 pc 000e0f95 /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+188) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#72 pc 0037e417 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x33f000) (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+54) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#73 pc 0037e1b3 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x33f000) (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+290) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#74 pc 002c4ce1 /apex/com.android.runtime/lib/libart.so!libart.so (offset 0x1dc000) (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+492) (BuildId: 5ba25df87c56de8a448a3580e0285d31)
#75 pc 000876a9 /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+28) (BuildId: 3934e44643c43496d7935fce12ef8805)
#76 pc 00089cd1 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vectorandroid::String8 const&, bool)+552) (BuildId: 3934e44643c43496d7935fce12ef8805)
#77 pc 000023bd /system/bin/app_process32 (main+880) (BuildId: 1f21cbd943f18cf433c7967ff5199cf0)
#78 pc 0005ba83 /apex/com.android.runtime/lib/bionic/libc.so (__libc_init+66) (BuildId: ad9864790c4bab27c51eb9dd56fb7b92)
#79 pc 00002037 /system/bin/app_process32 (_start_main+46) (BuildId: 1f21cbd943f18cf433c7967ff5199cf0)
#80 pc 000ba5e8 /apex/com.android.runtime/bin/linker!ld-android.so (offset 0x20000) (__dl___aeabi_uidivmod+12) (BuildId: d78666821ca28a26d741b00e89c63a90)
#81 pc 007fe78e [stack]
`

PendingHookHandler depends on default handler's internal behavior

if (newMethod) recordMethodHooked(hookRecord.artMethod, PREVENT_ENTRY_UPDATE);
MethodHook.Unhook u = realHandler.handleHook(hookRecord, hook, modifiers, newMethod, canInitDeclaringClass);
if (newMethod) recordMethodHooked(hookRecord.artMethod, Pine.getArtMethod(hookRecord.backup));

recordMethodHooked(hookRecord.artMethod, PREVENT_ENTRY_UPDATE);
realHandler.handleHook(hookRecord, null, target.getModifiers(), true, false);
recordMethodHooked(hookRecord.artMethod, Pine.getArtMethod(hookRecord.backup));

Hook Toast crash when calling backup on Huawei Honor DUK-AL20 device

Rooted: 'Yes'
API level: '24'
OS version: '7.0'
Kernel version: 'Linux version 4.1.18-gebc47dc #1 SMP PREEMPT Wed Nov 15 05:49:58 CST 2017 (aarch64)'
ABI list: 'arm64-v8a,armeabi-v7a,armeabi'
Manufacturer: 'HUAWEI'
Brand: 'HONOR'
Model: 'DUK-AL20'
Build fingerprint: 'HONOR/DUK-AL20/HWDUK:7.0/HUAWEIDUK-AL20/C00B208:user/release-keys'
ABI: 'arm64'
pid: 14377, tid: 14377, name: e.pine.examples  >>> top.canyie.pine.examples <<<
signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0x77e1a9509c (*pc=0xe1a95000)
    x0  0000000070d49f40  x1  0000000012ea93d0  x2  0000000012c637e8  x3  0000000012dacca0
    x4  0000000012cb1640  x5  000000000000000b  x6  00000000020600db  x7  0000000000000000
    x8  0000000000000000  x9  0000000012cb1640  x10 0000000070582318  x11 000000000000000f
    x12 0000000000003000  x13 000000000000000c  x14 00000077e8ecfdd0  x15 0000000000000000
    x16 0000000000024468  x17 0000000070cebec0  x18 00000077e9415038  x19 00000077e9ea1a00
    x20 0000000070d49fe8  x21 0000000012cb1640  x22 0000000012ea93d0  x23 0000000012c637e8
    x24 0000000012dacca0  x25 0000000000000000  x26 0000000012e50e40  x27 0000000012e7d358
    x28 000000000000000b  x29 0000000012c637e8
    sp  0000007fc3e19a30  lr  00000077c1e98624  pc  00000077e1a9509c

backtrace:
    #00 pc 000000000000009c  [anon:pine codes]

部分关键log:

D Pine    : InstallInlineTrampoline: target_code_addr 0x77e8ed8fe0 backup 0x77e1a95000 bridge_jump 0x77e1a95030
I Pine    : handleBridge: artMethod=0x70cebec0 extras=0x77ad2b9040 sp=0x7fc3e1dbe0
D Pine    : handleCall: target=public static android.widget.Toast android.widget.Toast.makeText(android.content.Context,java.lang.CharSequence,int) thisObject=null args=[top.canyie.pine.examples.ExampleApp@4b98d33, ToastHookTest failed, 0]
I PineExample: Before android.widget.Toast.makeText() with thisObject null and args [top.canyie.pine.examples.ExampleApp@4b98d33, ToastHookTest failed, 0]

--- crash ---

Backup方法dump信息:

E0 00 00 58 // ldr x0, 0x77e1a9501c (origin method addr)
FF 83 03 D1 // origin code
E0 07 01 6D // origin code
E2 0F 02 6D // origin code
E4 17 03 6D // origin code
91 00 00 58 // ldr x17, 0x77e1a95024
20 02 1F D6 // br x17
<origin method (8 bytes)>
<remaining code entry of original code (8 bytes)>

毫无头绪。。。。

Art threads suspension causes deadlock

(This problem is also described in the README.)
Background:

  1. In the bridge_jump_trampoline, we modified some registers to save our own values, so we have to save the original values from these registers; we can't allocate memory (stack and heap) here, so we use pre-allocated memory; but when multiple threads execute concurrently, because the memory is shared, its value may be erased by other threads, so we designed a spin lock, the thread executing here will block until it successfully acquires the lock.
  2. In some cases, art needs to suspend the execution of all threads (such as GC). When the thread executes to the checkpoint, it will be suspended. When all threads are suspended, the GC can begin.

Imagine this situation:

  1. Thread A and thread B acquire the lock at the same time, A acquires the lock and continues to execute, B blocks here until A releases the lock.
  2. At this time, art needs to suspend all threads. When A executes to checkpoint, it is blocked, waiting for B to execute checkpoint.
  3. A waits for B to execute the checkpoint and B waits for A to release the lock. They cannot continue to execute; and because other threads are also suspended, the runtime cannot continue to work.

We have three ways to solve it:

  1. When the thread fails to acquire the lock, explicitly check whether the thread needs to be suspended and actively enter the checkpoint. Tested and failed, the thread crashes at Thread::VerifyStack().
  2. Since the thread waiting for the lock has actually been suspended, we can hook certain system functions and make it ignore the thread; however, this method is hard to implement and may cause unknown problems.
  3. Prevent the thread holding the lock from being suspended until it releases the lock. This can be achieved by hooking certain system functions.

We will try to solve the problem, and suggestions are welcome!

无法注入系统进程system_server

在system_server中注入报错如下

09-06 08:09:58.343 2145 2145 W Pine : Android version too high, not tested now...
09-06 08:09:58.350 2145 2145 I Pine : Pine native init...
09-06 08:09:58.354 2145 2145 W system_server: type=1400 audit(0.0:6): avc: denied { execmem } for scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=process permissive=0
09-06 08:09:58.354 2145 2145 W system_server: type=1400 audit(0.0:7): avc: denied { execmem } for scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=process permissive=0
09-06 08:09:58.354 2145 2145 W system_server: type=1400 audit(0.0:8): avc: denied { execmem } for scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=process permissive=0
09-06 08:09:58.354 2145 2145 W system_server: type=1400 audit(0.0:9): avc: denied { execmem } for scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=process permissive=0
09-06 08:09:58.355 2145 2145 D Pine : get module base /apex/com.android.art/lib64/libart.so: 516572577792
09-06 08:09:58.356 2145 2145 E Pine : mprotect failed for 0x78465c640c: Permission denied (13)
09-06 08:09:58.356 2145 2145 E Pine : Failed to make target code 0x78465c640c writable!
09-06 08:09:58.356 2145 2145 E Pine : mprotect failed for 0x78465c7684: Permission denied (13)
09-06 08:09:58.356 2145 2145 E Pine : Failed to make target code 0x78465c7684 writable!
09-06 08:09:58.356 2145 2145 E Pine : mprotect failed for 0x78465c5e70: Permission denied (13)
09-06 08:09:58.356 2145 2145 E Pine : Failed to make target code 0x78465c5e70 writable!
09-06 08:09:58.357 2145 2145 E Pine : mprotect failed for 0x78465c61bc: Permission denied (13)
09-06 08:09:58.357 2145 2145 E Pine : Failed to make target code 0x78465c61bc writable!
09-06 08:09:58.375 2145 2145 D Pine : get module base /apex/com.android.art/lib64/libart-compiler.so: 516253810688
09-06 08:09:58.399 2145 2145 W Pine : JavaVM offset mismatches the default offset, try search the memory of Runtime
09-06 08:09:58.399 2145 2145 W Pine : Found JavaVM in Runtime at 688
09-06 08:09:58.399 2145 2145 I Pine : Got class linker 0x792b0daeb0
09-06 08:09:58.400 2145 2145 W system_server: type=1400 audit(0.0:10): avc: denied { execmem } for scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=process permissive=0
09-06 08:09:58.402 2145 2145 E Pine : Unable to allocate executable memory: Permission denied (13)
09-06 08:09:58.402 2145 2145 E Pine : Failed to allocate bridge jump trampoline!
09-06 08:09:58.402 2145 2145 E Pine : Failed to install replacement trampoline on method 0x783873d3d8: Permission denied (13). This is a security failure, check selinux policy, seccomp or capabilities. Earlier log may point out root cause.

Seems some android 8.0 are using 8.1 modifiers

modifiers.h in android 8.0:

// This is set by the class linker during LinkInterfaceMethods. Prior to that point we do not know
// if any particular method needs to be a default conflict. Used to figure out at runtime if
// invoking this method will throw an exception.
static constexpr uint32_t kAccDefaultConflict =       0x00800000;  // method (runtime)

// Set by the verifier for a method we do not want the compiler to compile.
static constexpr uint32_t kAccCompileDontBother =     0x01000000;  // method (runtime)

In android 8.1:

static constexpr uint32_t kAccDefaultConflict =       0x01000000;  // method (runtime)
static constexpr uint32_t kAccCompileDontBother =     0x02000000;  // method (runtime)

The value of kAccCompileDontBother in Android 8.0 is 0x01000000, which is the same as the value of kAccDefaultConflict in Android 8.1.
For these devices, if we set kAccCompileDontBother for it, it will throw errors like this:

java.lang.IncompatibleClassChangeError: Conflicting default method implementations <your hooked method>

We have no way to identify these devices. If you encounter such a situation, please provide information to help us.

Trampoline code crashes with "Illegal instruction" on WearOS

Pine 在 Wear OS 上 Hook 任意方法会发生这个问题

2022-03-08 00:29:15.546 4944-4944/? A/libc: Fatal signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0xb322e020 in tid 4944 (able.purereader), pid 4944 (able.purereader)
2022-03-08 00:29:15.853 4968-4968/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2022-03-08 00:29:15.853 4968-4968/? A/DEBUG: Build fingerprint: 'Xiaomi/baiji_sw/baiji:9/PXDP.210508.001.XM129/PXDP.210508.001.XM129:user/release-keys'
2022-03-08 00:29:15.853 4968-4968/? A/DEBUG: Revision: '0'
2022-03-08 00:29:15.854 4968-4968/? A/DEBUG: ABI: 'arm'
2022-03-08 00:29:15.854 4968-4968/? A/DEBUG: pid: 4944, tid: 4944, name: able.purereader  >>> com.highcapable.purereader <<<
2022-03-08 00:29:15.854 4968-4968/? A/DEBUG: signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0xb322e020
2022-03-08 00:29:15.854 4968-4968/? A/DEBUG:     r0  00000000  r1  bef8b480  r2  bef8b46c  r3  bef8b510
2022-03-08 00:29:15.854 4968-4968/? A/DEBUG:     r4  70ebfb78  r5  7399103d  r6  00000000  r7  bef8b608
2022-03-08 00:29:15.854 4968-4968/? A/DEBUG:     r8  00000000  r9  b3fb6000  r10 00000000  r11 bef8b3a4
2022-03-08 00:29:15.854 4968-4968/? A/DEBUG:     ip  ab2f02b0  sp  bef8b3a0  lr  b0a0d377  pc  b322e020
2022-03-08 00:29:17.125 4968-4968/? A/DEBUG: backtrace:
2022-03-08 00:29:17.125 4968-4968/? A/DEBUG:     #00 pc 00000020  [anon:pine codes:b322e000]
2022-03-08 00:29:17.126 4968-4968/? A/DEBUG:     #01 pc 00417375  /system/lib/libart.so (offset 0x1a5000) (art_quick_invoke_stub_internal+68)
2022-03-08 00:29:17.126 4968-4968/? A/DEBUG:     #02 pc 003f0b27  /system/lib/libart.so (offset 0x1a5000) (art_quick_invoke_static_stub+222)
2022-03-08 00:29:17.126 4968-4968/? A/DEBUG:     #03 pc 000a103b  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
2022-03-08 00:29:17.126 4968-4968/? A/DEBUG:     #04 pc 001e84b5  /system/lib/libart.so (offset 0x1a5000) (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+232)
2022-03-08 00:29:17.126 4968-4968/? A/DEBUG:     #05 pc 001e3195  /system/lib/libart.so (offset 0x1a5000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+776)
2022-03-08 00:29:17.126 4968-4968/? A/DEBUG:     #06 pc 003ec623  /system/lib/libart.so (offset 0x1a5000) (MterpInvokeStatic+130)
2022-03-08 00:29:17.126 4968-4968/? A/DEBUG:     #07 pc 0040a294  /system/lib/libart.so (offset 0x1a5000) (ExecuteMterpImpl+14612)
2022-03-08 00:29:17.126 4968-4968/? A/DEBUG:     #08 pc 002821e6  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/com.highcapable.purereader-Ad-Tcb-ab936hZvTZ3btaw==/base.apk (deleted) (androidx.core.content.FileProvider.parsePathStrategy+210)
2022-03-08 00:29:17.126 4968-4968/? A/DEBUG:     #09 pc 001c7b0d  /system/lib/libart.so (offset 0x1a5000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2198965044+352)
2022-03-08 00:29:17.126 4968-4968/? A/DEBUG:     #10 pc 001cc3db  /system/lib/libart.so (offset 0x1a5000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2022-03-08 00:29:17.127 4968-4968/? A/DEBUG:     #11 pc 001e317f  /system/lib/libart.so (offset 0x1a5000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+754)
2022-03-08 00:29:17.127 4968-4968/? A/DEBUG:     #12 pc 003ec623  /system/lib/libart.so (offset 0x1a5000) (MterpInvokeStatic+130)
2022-03-08 00:29:17.127 4968-4968/? A/DEBUG:     #13 pc 0040a294  /system/lib/libart.so (offset 0x1a5000) (ExecuteMterpImpl+14612)
2022-03-08 00:29:17.127 4968-4968/? A/DEBUG:     #14 pc 0028209a  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/com.highcapable.purereader-Ad-Tcb-ab936hZvTZ3btaw==/base.apk (deleted) (androidx.core.content.FileProvider.getPathStrategy+26)
2022-03-08 00:29:17.127 4968-4968/? A/DEBUG:     #15 pc 001c7b0d  /system/lib/libart.so (offset 0x1a5000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2198965044+352)
2022-03-08 00:29:17.127 4968-4968/? A/DEBUG:     #16 pc 001cc3db  /system/lib/libart.so (offset 0x1a5000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2022-03-08 00:29:17.127 4968-4968/? A/DEBUG:     #17 pc 001e317f  /system/lib/libart.so (offset 0x1a5000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+754)
2022-03-08 00:29:17.127 4968-4968/? A/DEBUG:     #18 pc 003ec623  /system/lib/libart.so (offset 0x1a5000) (MterpInvokeStatic+130)
2022-03-08 00:29:17.128 4968-4968/? A/DEBUG:     #19 pc 0040a294  /system/lib/libart.so (offset 0x1a5000) (ExecuteMterpImpl+14612)
2022-03-08 00:29:17.128 4968-4968/? A/DEBUG:     #20 pc 0028255c  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/com.highcapable.purereader-Ad-Tcb-ab936hZvTZ3btaw==/base.apk (deleted) (androidx.core.content.FileProvider.attachInfo+44)
2022-03-08 00:29:17.129 4968-4968/? A/DEBUG:     #21 pc 001c7b0d  /system/lib/libart.so (offset 0x1a5000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2198965044+352)
2022-03-08 00:29:17.129 4968-4968/? A/DEBUG:     #22 pc 001cc3db  /system/lib/libart.so (offset 0x1a5000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2022-03-08 00:29:17.129 4968-4968/? A/DEBUG:     #23 pc 001e317f  /system/lib/libart.so (offset 0x1a5000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+754)
2022-03-08 00:29:17.129 4968-4968/? A/DEBUG:     #24 pc 003eb647  /system/lib/libart.so (offset 0x1a5000) (MterpInvokeVirtual+442)
2022-03-08 00:29:17.129 4968-4968/? A/DEBUG:     #25 pc 0040a114  /system/lib/libart.so (offset 0x1a5000) (ExecuteMterpImpl+14228)
2022-03-08 00:29:17.129 4968-4968/? A/DEBUG:     #26 pc 0038501a  /system/framework/boot-framework.vdex (android.app.ActivityThread.installProvider+494)
2022-03-08 00:29:17.129 4968-4968/? A/DEBUG:     #27 pc 001c7b0d  /system/lib/libart.so (offset 0x1a5000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2198965044+352)
2022-03-08 00:29:17.129 4968-4968/? A/DEBUG:     #28 pc 001cc3db  /system/lib/libart.so (offset 0x1a5000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2022-03-08 00:29:17.129 4968-4968/? A/DEBUG:     #29 pc 001e3ff7  /system/lib/libart.so (offset 0x1a5000) (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+674)
2022-03-08 00:29:17.129 4968-4968/? A/DEBUG:     #30 pc 003ed71b  /system/lib/libart.so (offset 0x1a5000) (MterpInvokeDirectRange+170)
2022-03-08 00:29:17.129 4968-4968/? A/DEBUG:     #31 pc 0040a514  /system/lib/libart.so (offset 0x1a5000) (ExecuteMterpImpl+15252)
2022-03-08 00:29:17.130 4968-4968/? A/DEBUG:     #32 pc 0038929a  /system/framework/boot-framework.vdex (android.app.ActivityThread.installContentProviders+56)
2022-03-08 00:29:17.130 4968-4968/? A/DEBUG:     #33 pc 001c7b0d  /system/lib/libart.so (offset 0x1a5000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2198965044+352)
2022-03-08 00:29:17.130 4968-4968/? A/DEBUG:     #34 pc 001cc3db  /system/lib/libart.so (offset 0x1a5000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2022-03-08 00:29:17.130 4968-4968/? A/DEBUG:     #35 pc 001e317f  /system/lib/libart.so (offset 0x1a5000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+754)
2022-03-08 00:29:17.130 4968-4968/? A/DEBUG:     #36 pc 003ec4d9  /system/lib/libart.so (offset 0x1a5000) (MterpInvokeDirect+196)
2022-03-08 00:29:17.130 4968-4968/? A/DEBUG:     #37 pc 0040a214  /system/lib/libart.so (offset 0x1a5000) (ExecuteMterpImpl+14484)
2022-03-08 00:29:17.130 4968-4968/? A/DEBUG:     #38 pc 00387210  /system/framework/boot-framework.vdex (android.app.ActivityThread.handleBindApplication+2162)
2022-03-08 00:29:17.131 4968-4968/? A/DEBUG:     #39 pc 001c7b0d  /system/lib/libart.so (offset 0x1a5000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2198965044+352)
2022-03-08 00:29:17.131 4968-4968/? A/DEBUG:     #40 pc 001cc3db  /system/lib/libart.so (offset 0x1a5000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2022-03-08 00:29:17.131 4968-4968/? A/DEBUG:     #41 pc 001e317f  /system/lib/libart.so (offset 0x1a5000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+754)
2022-03-08 00:29:17.131 4968-4968/? A/DEBUG:     #42 pc 003ec4d9  /system/lib/libart.so (offset 0x1a5000) (MterpInvokeDirect+196)
2022-03-08 00:29:17.131 4968-4968/? A/DEBUG:     #43 pc 0040a214  /system/lib/libart.so (offset 0x1a5000) (ExecuteMterpImpl+14484)
2022-03-08 00:29:17.131 4968-4968/? A/DEBUG:     #44 pc 004bae64  /system/framework/boot-framework.vdex (android.app.ActivityThread.access$1100)
2022-03-08 00:29:17.131 4968-4968/? A/DEBUG:     #45 pc 001c7b0d  /system/lib/libart.so (offset 0x1a5000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2198965044+352)
2022-03-08 00:29:17.131 4968-4968/? A/DEBUG:     #46 pc 001cc3db  /system/lib/libart.so (offset 0x1a5000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2022-03-08 00:29:17.131 4968-4968/? A/DEBUG:     #47 pc 001e317f  /system/lib/libart.so (offset 0x1a5000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+754)
2022-03-08 00:29:17.131 4968-4968/? A/DEBUG:     #48 pc 003ec623  /system/lib/libart.so (offset 0x1a5000) (MterpInvokeStatic+130)
2022-03-08 00:29:17.132 4968-4968/? A/DEBUG:     #49 pc 0040a294  /system/lib/libart.so (offset 0x1a5000) (ExecuteMterpImpl+14612)
2022-03-08 00:29:17.132 4968-4968/? A/DEBUG:     #50 pc 00383f12  /system/framework/boot-framework.vdex (android.app.ActivityThread$H.handleMessage+1398)
2022-03-08 00:29:17.132 4968-4968/? A/DEBUG:     #51 pc 001c7b0d  /system/lib/libart.so (offset 0x1a5000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2198965044+352)
2022-03-08 00:29:17.132 4968-4968/? A/DEBUG:     #52 pc 001cc3db  /system/lib/libart.so (offset 0x1a5000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2022-03-08 00:29:17.132 4968-4968/? A/DEBUG:     #53 pc 001e317f  /system/lib/libart.so (offset 0x1a5000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+754)
2022-03-08 00:29:17.132 4968-4968/? A/DEBUG:     #54 pc 003eb647  /system/lib/libart.so (offset 0x1a5000) (MterpInvokeVirtual+442)
2022-03-08 00:29:17.132 4968-4968/? A/DEBUG:     #55 pc 0040a114  /system/lib/libart.so (offset 0x1a5000) (ExecuteMterpImpl+14228)
2022-03-08 00:29:17.132 4968-4968/? A/DEBUG:     #56 pc 00af044a  /system/framework/boot-framework.vdex (android.os.Handler.dispatchMessage+42)
2022-03-08 00:29:17.132 4968-4968/? A/DEBUG:     #57 pc 001c7b0d  /system/lib/libart.so (offset 0x1a5000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2198965044+352)
2022-03-08 00:29:17.132 4968-4968/? A/DEBUG:     #58 pc 001cc3db  /system/lib/libart.so (offset 0x1a5000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2022-03-08 00:29:17.132 4968-4968/? A/DEBUG:     #59 pc 001e317f  /system/lib/libart.so (offset 0x1a5000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+754)
2022-03-08 00:29:17.133 4968-4968/? A/DEBUG:     #60 pc 003eb647  /system/lib/libart.so (offset 0x1a5000) (MterpInvokeVirtual+442)
2022-03-08 00:29:17.133 4968-4968/? A/DEBUG:     #61 pc 0040a114  /system/lib/libart.so (offset 0x1a5000) (ExecuteMterpImpl+14228)
2022-03-08 00:29:17.133 4968-4968/? A/DEBUG:     #62 pc 00af7550  /system/framework/boot-framework.vdex (android.os.Looper.loop+404)
2022-03-08 00:29:17.133 4968-4968/? A/DEBUG:     #63 pc 001c7b0d  /system/lib/libart.so (offset 0x1a5000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2198965044+352)
2022-03-08 00:29:17.133 4968-4968/? A/DEBUG:     #64 pc 001cc3db  /system/lib/libart.so (offset 0x1a5000) (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2022-03-08 00:29:17.133 4968-4968/? A/DEBUG:     #65 pc 001e317f  /system/lib/libart.so (offset 0x1a5000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+754)
2022-03-08 00:29:17.133 4968-4968/? A/DEBUG:     #66 pc 003ec623  /system/lib/libart.so (offset 0x1a5000) (MterpInvokeStatic+130)
2022-03-08 00:29:17.133 4968-4968/? A/DEBUG:     #67 pc 0040a294  /system/lib/libart.so (offset 0x1a5000) (ExecuteMterpImpl+14612)
2022-03-08 00:29:17.133 4968-4968/? A/DEBUG:     #68 pc 0038949e  /system/framework/boot-framework.vdex (android.app.ActivityThread.main+214)
2022-03-08 00:29:17.133 4968-4968/? A/DEBUG:     #69 pc 001c7b0d  /system/lib/libart.so (offset 0x1a5000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2198965044+352)
2022-03-08 00:29:17.133 4968-4968/? A/DEBUG:     #70 pc 001cc327  /system/lib/libart.so (offset 0x1a5000) (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
2022-03-08 00:29:17.133 4968-4968/? A/DEBUG:     #71 pc 003dee8b  /system/lib/libart.so (offset 0x1a5000) (artQuickToInterpreterBridge+890)
2022-03-08 00:29:17.134 4968-4968/? A/DEBUG:     #72 pc 0041b8ff  /system/lib/libart.so (offset 0x1a5000) (art_quick_to_interpreter_bridge+30)
2022-03-08 00:29:17.134 4968-4968/? A/DEBUG:     #73 pc 00417375  /system/lib/libart.so (offset 0x1a5000) (art_quick_invoke_stub_internal+68)
2022-03-08 00:29:17.134 4968-4968/? A/DEBUG:     #74 pc 003f0b27  /system/lib/libart.so (offset 0x1a5000) (art_quick_invoke_static_stub+222)
2022-03-08 00:29:17.134 4968-4968/? A/DEBUG:     #75 pc 000a103b  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
2022-03-08 00:29:17.134 4968-4968/? A/DEBUG:     #76 pc 0035015d  /system/lib/libart.so (offset 0x1a5000) (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
2022-03-08 00:29:17.134 4968-4968/? A/DEBUG:     #77 pc 003515a5  /system/lib/libart.so (offset 0x1a5000) (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+960)
2022-03-08 00:29:17.135 4968-4968/? A/DEBUG:     #78 pc 003022c1  /system/lib/libart.so (offset 0x1a5000) (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+40)
2022-03-08 00:29:17.135 4968-4968/? A/DEBUG:     #79 pc 001121f7  /system/framework/arm/boot.oat (offset 0x10c000) (java.lang.Class.getDeclaredMethodInternal [DEDUPED]+110)
2022-03-08 00:29:17.135 4968-4968/? A/DEBUG:     #80 pc 00417375  /system/lib/libart.so (offset 0x1a5000) (art_quick_invoke_stub_internal+68)
2022-03-08 00:29:17.135 4968-4968/? A/DEBUG:     #81 pc 003f0a23  /system/lib/libart.so (offset 0x1a5000) (art_quick_invoke_stub+226)
2022-03-08 00:29:17.135 4968-4968/? A/DEBUG:     #82 pc 000a1029  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
2022-03-08 00:29:17.135 4968-4968/? A/DEBUG:     #83 pc 001e84b5  /system/lib/libart.so (offset 0x1a5000) (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+232)
2022-03-08 00:29:17.135 4968-4968/? A/DEBUG:     #84 pc 001e3195  /system/lib/libart.so (offset 0x1a5000) (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+776)
2022-03-08 00:29:17.135 4968-4968/? A/DEBUG:     #85 pc 003eb647  /system/lib/libart.so (offset 0x1a5000) (MterpInvokeVirtual+442)
2022-03-08 00:29:17.135 4968-4968/? A/DEBUG:     #86 pc 0040a114  /system/lib/libart.so (offset 0x1a5000) (ExecuteMterpImpl+14228)
2022-03-08 00:29:17.135 4968-4968/? A/DEBUG:     #87 pc 00c181a2  /system/framework/boot-framework.vdex (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22)
2022-03-08 00:29:17.135 4968-4968/? A/DEBUG:     #88 pc 001c7b0d  /system/lib/libart.so (offset 0x1a5000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2198965044+352)
2022-03-08 00:29:17.136 4968-4968/? A/DEBUG:     #89 pc 001cc327  /system/lib/libart.so (offset 0x1a5000) (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
2022-03-08 00:29:17.136 4968-4968/? A/DEBUG:     #90 pc 003dee8b  /system/lib/libart.so (offset 0x1a5000) (artQuickToInterpreterBridge+890)
2022-03-08 00:29:17.136 4968-4968/? A/DEBUG:     #91 pc 0041b8ff  /system/lib/libart.so (offset 0x1a5000) (art_quick_to_interpreter_bridge+30)
2022-03-08 00:29:17.136 4968-4968/? A/DEBUG:     #92 pc 00a10905  /system/framework/arm/boot-framework.oat (offset 0x3ab000) (com.android.internal.os.ZygoteInit.main+2868)
2022-03-08 00:29:17.136 4968-4968/? A/DEBUG:     #93 pc 00417375  /system/lib/libart.so (offset 0x1a5000) (art_quick_invoke_stub_internal+68)
2022-03-08 00:29:17.136 4968-4968/? A/DEBUG:     #94 pc 003f0b27  /system/lib/libart.so (offset 0x1a5000) (art_quick_invoke_static_stub+222)
2022-03-08 00:29:17.136 4968-4968/? A/DEBUG:     #95 pc 000a103b  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
2022-03-08 00:29:17.136 4968-4968/? A/DEBUG:     #96 pc 0035015d  /system/lib/libart.so (offset 0x1a5000) (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
2022-03-08 00:29:17.136 4968-4968/? A/DEBUG:     #97 pc 0034ff79  /system/lib/libart.so (offset 0x1a5000) (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+304)
2022-03-08 00:29:17.136 4968-4968/? A/DEBUG:     #98 pc 00293a39  /system/lib/libart.so (offset 0x1a5000) (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+476)
2022-03-08 00:29:17.136 4968-4968/? A/DEBUG:     #99 pc 0006cbe3  /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+38)
2022-03-08 00:29:17.136 4968-4968/? A/DEBUG:     #100 pc 0006ee0f  /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+462)
2022-03-08 00:29:17.137 4968-4968/? A/DEBUG:     #101 pc 0000198d  /system/bin/app_process32 (main+724)
2022-03-08 00:29:17.137 4968-4968/? A/DEBUG:     #102 pc 00088db5  /system/lib/libc.so (__libc_init+48)
2022-03-08 00:29:17.137 4968-4968/? A/DEBUG:     #103 pc 00001677  /system/bin/app_process32 (_start_main+46)
2022-03-08 00:29:17.137 4968-4968/? A/DEBUG:     #104 pc 0000031e  <anonymous:b46df000>
2022-03-08 00:29:19.743 505-3160/? E/sensors-hal: create_daily_report_file:565, create ok
2022-03-08 00:29:19.904 634-634/? E//system/bin/tombstoned: Tombstone written to: /data/tombstones/tombstone_03

log.so冲突

after importing the pine libray,I am unable to use the log in my NDK project.The reason is tha pine has already used the log library . If i use it agin.it may cause conpliation conflicts and fail to compile successfully .How can i solve this problem

[TODO] Pending Hook support

For static method, when its declaring class is not initialized, its entry point is a trampoline, call it will make the declaring class to be initialized, and all entry points of static methods will be reset (see ClassLinker::FixupStaticTrampolines). At present, corresponding to the static method, we will manually initialize its declaring class, which will cause the class to be initialized prematurely and may have side effects; we can hook some system functions, and wait until the declaring class is initialized before hooking.

有可能实现java 行级代码hook吗?

之前写核心破解的时候 pm包里的方法都巨长
但是xposed的api只支持方法级别的hook
导致这些巨长逻辑又巨多的方法很难处理

但是又不想patch smali

Hooking ContextWrapper.attachBaseContext in debug mode - segfault

Hello.

There is always segfault when I run debug on app from Android Studio when I trying to hook ContextWrapper.attachBaseContext

Pine.hook(ContextWrapper.class.getDeclaredMethod("attachBaseContext", Context.class), new MethodHook() {
    @Override
    public void beforeCall(Pine.CallFrame callFrame) throws Throwable {
        ...
    }
});

Here is log:

Hooking method protected void android.content.ContextWrapper.attachBaseContext(android.content.Context) with callback com.modules.LocaleChangerModule$1@eed873d
JIT compilation is not supported in Android R yet
InstallReplacementTrampoline: origin 0x70f17c08 origin_entry 0x6da79fdfa0 bridge_jump 0x703bd3d0a0
attachBaseContext; base: android.app.ContextImpl@855b32
handleBridge: artMethod=0x70f17c08 originExtras=0xb400006e07fa9f70 extras=0xb400006e07f98bd0 sp=0x7ffa2aa510
handleCall for method protected void android.content.ContextWrapper.attachBaseContext(android.content.Context)
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xfffffffdf4489cb8 in tid 11925 (ple.allfeatures), pid 11925 (ple.allfeatures)
pid: 11925, tid: 11925, name: ple.allfeatures  >>> com.example.allfeatures <<<
      #22 pc 000000000029ae58  /data/app/~~VqzCA3Hstorc-eYIvNxnbw==/com.example.allfeatures-MOLI7OyBeYO8XK24ZiCZaQ==/base.apk (offset 0x10d000) (top.canyie.pine.Pine.callBackupMethod)
      #28 pc 000000000029a84c  /data/app/~~VqzCA3Hstorc-eYIvNxnbw==/com.example.allfeatures-MOLI7OyBeYO8XK24ZiCZaQ==/base.apk (offset 0x10d000) (top.canyie.pine.Pine$CallFrame.invokeOriginalMethod)
      #34 pc 000000000029aeb4  /data/app/~~VqzCA3Hstorc-eYIvNxnbw==/com.example.allfeatures-MOLI7OyBeYO8XK24ZiCZaQ==/base.apk (offset 0x10d000) (top.canyie.pine.Pine.handleCall)
      #40 pc 000000000029c794  /data/app/~~VqzCA3Hstorc-eYIvNxnbw==/com.example.allfeatures-MOLI7OyBeYO8XK24ZiCZaQ==/base.apk (offset 0x10d000) (top.canyie.pine.entry.Arm64Entry.handleBridge)
      #46 pc 000000000029cd74  /data/app/~~VqzCA3Hstorc-eYIvNxnbw==/com.example.allfeatures-MOLI7OyBeYO8XK24ZiCZaQ==/base.apk (offset 0x10d000) (top.canyie.pine.entry.Arm64Entry.voidBridge)
      #56 pc 000000000000117c  /data/app/~~VqzCA3Hstorc-eYIvNxnbw==/com.example.allfeatures-MOLI7OyBeYO8XK24ZiCZaQ==/base.apk (offset 0x56000) (com.example.allfeatures.App.attachBaseContext)

安装的时候编译不通过在nexus6P 8.1和xiaomi mix3上

Build command failed.
Error while executing process D:\android-tools\sdk\cmake\3.10.2.4988404\bin\ninja.exe with arguments {-C D:\tmp\tmp-test2\pine-master\core.cxx\cmake\debug\arm64-v8a pine}
ninja: Entering directory `D:\tmp\tmp-test2\pine-master\core.cxx\cmake\debug\arm64-v8a'
[1/1] Linking CXX shared library libpine.so
FAILED: libpine.so
cmd.exe /C "cd . && D:\android-tools\sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android21 --gcc-toolchain=D:/android-tools/sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=D:/android-tools/sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -std=c++17 -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libgcc_real.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id=sha1 -Wl,--no-rosegment -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -shared -Wl,-soname,libpine.so -o libpine.so CMakeFiles/pine.dir/pine.cpp.o CMakeFiles/pine.dir/ruler.cpp.o CMakeFiles/pine.dir/android.cpp.o CMakeFiles/pine.dir/jni_bridge.cpp.o CMakeFiles/pine.dir/art/art_method.cpp.o CMakeFiles/pine.dir/art/thread.cpp.o CMakeFiles/pine.dir/art/jit.cpp.o CMakeFiles/pine.dir/trampoline/trampoline_installer.cpp.o CMakeFiles/pine.dir/utils/memory.cpp.o CMakeFiles/pine.dir/utils/scoped_memory_access_protection.cpp.o CMakeFiles/pine.dir/utils/elf_img.cpp.o CMakeFiles/pine.dir/utils/well_known_classes.cpp.o CMakeFiles/pine.dir/trampoline/arch/arm64.cpp.o CMakeFiles/pine.dir/trampoline/arch/arm64.S.o -llog -latomic -lm && cd ."
ld: error: relocation R_AARCH64_LD_PREL_LO19 cannot be used against symbol pine_direct_jump_trampoline_jump_entry; recompile with -fPIC

defined in CMakeFiles/pine.dir/trampoline/arch/arm64.S.o
referenced by CMakeFiles/pine.dir/trampoline/arch/arm64.S.o:(.data+0x0)

ld: error: relocation R_AARCH64_LD_PREL_LO19 cannot be used against symbol pine_bridge_jump_trampoline_target_method; recompile with -fPIC

defined in CMakeFiles/pine.dir/trampoline/arch/arm64.S.o
referenced by CMakeFiles/pine.dir/trampoline/arch/arm64.S.o:(.data+0x10)

ld: error: relocation R_AARCH64_LD_PREL_LO19 cannot be used against symbol pine_bridge_jump_trampoline_extras; recompile with -fPIC

defined in CMakeFiles/pine.dir/trampoline/arch/arm64.S.o
referenced by CMakeFiles/pine.dir/trampoline/arch/arm64.S.o:(.data+0x1C)

ld: error: relocation R_AARCH64_LD_PREL_LO19 cannot be used against symbol pine_bridge_jump_trampoline_bridge_method; recompile with -fPIC

defined in CMakeFiles/pine.dir/trampoline/arch/arm64.S.o
referenced by CMakeFiles/pine.dir/trampoline/arch/arm64.S.o:(.data+0x50)

ld: error: relocation R_AARCH64_LD_PREL_LO19 cannot be used against symbol pine_bridge_jump_trampoline_bridge_entry; recompile with -fPIC

defined in CMakeFiles/pine.dir/trampoline/arch/arm64.S.o
referenced by CMakeFiles/pine.dir/trampoline/arch/arm64.S.o:(.data+0x54)

ld: error: relocation R_AARCH64_LD_PREL_LO19 cannot be used against symbol pine_bridge_jump_trampoline_call_origin_entry; recompile with -fPIC

defined in CMakeFiles/pine.dir/trampoline/arch/arm64.S.o
referenced by CMakeFiles/pine.dir/trampoline/arch/arm64.S.o:(.data+0x5C)

ld: error: relocation R_AARCH64_LD_PREL_LO19 cannot be used against symbol pine_call_origin_trampoline_origin_method; recompile with -fPIC

defined in CMakeFiles/pine.dir/trampoline/arch/arm64.S.o
referenced by CMakeFiles/pine.dir/trampoline/arch/arm64.S.o:(.data+0x90)

ld: error: relocation R_AARCH64_LD_PREL_LO19 cannot be used against symbol pine_call_origin_trampoline_origin_code_entry; recompile with -fPIC

defined in CMakeFiles/pine.dir/trampoline/arch/arm64.S.o
referenced by CMakeFiles/pine.dir/trampoline/arch/arm64.S.o:(.data+0x94)

ld: error: relocation R_AARCH64_LD_PREL_LO19 cannot be used against symbol pine_backup_trampoline_origin_method; recompile with -fPIC

defined in CMakeFiles/pine.dir/trampoline/arch/arm64.S.o
referenced by CMakeFiles/pine.dir/trampoline/arch/arm64.S.o:(.data+0xB0)

ld: error: relocation R_AARCH64_LD_PREL_LO19 cannot be used against symbol pine_backup_trampoline_remaining_code_entry; recompile with -fPIC

defined in CMakeFiles/pine.dir/trampoline/arch/arm64.S.o
referenced by CMakeFiles/pine.dir/trampoline/arch/arm64.S.o:(.data+0xCC)
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

Hook 方法突然间不会被hook了

hook了surfaceTexture的updateTexImage方法,开始正常hook, 在频繁调用此方法后,一段时间后就无法hook了,看日志是voidBridge 这个方法不再被调用,日志也没有其他不正常信息。请问有没有办法定位到voidBridge不调用的原因吗?

[BUG] A random crash

04-18 17:37:26.367 31016 31016 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
04-18 17:37:26.368 31016 31016 F DEBUG   : Build fingerprint: 'google/blueline/blueline:10/QQ3A.200605.001/6392402:user/release-keys'
04-18 17:37:26.368 31016 31016 F DEBUG   : Revision: 'MP1.0'
04-18 17:37:26.368 31016 31016 F DEBUG   : ABI: 'arm64'
04-18 17:37:26.376 31016 31016 F DEBUG   : Timestamp: 2021-04-18 17:37:26+0800
04-18 17:37:26.376 31016 31016 F DEBUG   : pid: 1447, tid: 4203, name: Binder:1447_1A  >>> system_server <<<
04-18 17:37:26.376 31016 31016 F DEBUG   : uid: 1000
04-18 17:37:26.376 31016 31016 F DEBUG   : signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x15600000
04-18 17:37:26.376 31016 31016 F DEBUG   :     x0  0000000012ec0040  x1  000000712d9b8a10  x2  0000000012ec0040  x3  0000000012ec0010
04-18 17:37:26.376 31016 31016 F DEBUG   :     x4  0000000000000002  x5  000000712d9b8a0c  x6  000000712d9b8a10  x7  000000712d9b8a14
04-18 17:37:26.376 31016 31016 F DEBUG   :     x8  000000712d9b91a8  x9  0000000000000004  x10 0000000000000004  x11 0000000000000008
04-18 17:37:26.376 31016 31016 F DEBUG   :     x12 0000000012ec00a8  x13 0000000015600000  x14 0000000071b11a40  x15 0000000016ee21a2
04-18 17:37:26.376 31016 31016 F DEBUG   :     x16 00000000607bfdd6  x17 ffffffff9f843ce8  x18 000000712ce68000  x19 00000071b85b4220
04-18 17:37:26.376 31016 31016 F DEBUG   :     x20 000000712d9b8a14  x21 000000722fddb280  x22 000000712d9b8a08  x23 000000712d9b8a10
04-18 17:37:26.376 31016 31016 F DEBUG   :     x24 00000000155ffff4  x25 000000712d9b9170  x26 000000712d9b8a0c  x27 0000000000000010
04-18 17:37:26.376 31016 31016 F DEBUG   :     x28 0000000000000004  x29 000000712d9b89e0
04-18 17:37:26.376 31016 31016 F DEBUG   :     sp  000000712d9b8990  lr  0000007230715c8c  pc  0000007230715cb8
04-18 17:37:26.853 31016 31016 F DEBUG   :
04-18 17:37:26.853 31016 31016 F DEBUG   : backtrace:
04-18 17:37:26.854 31016 31016 F DEBUG   :       #00 pc 0000000000050cb8  <anonymous:72306c5000>
04-18 17:37:26.854 31016 31016 F DEBUG   :       #01 pc 000000000200b060  /memfd:/jit-cache (deleted) (art_jni_trampoline+272)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #02 pc 0000000002003ef8  /memfd:/jit-cache (deleted) (top.canyie.pine.entry.Arm64Entry.getArgs+856)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #03 pc 0000000002001cb4  /memfd:/jit-cache (deleted) (top.canyie.pine.entry.Arm64Entry.handleBridge+372)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #04 pc 0000000002008a60  /memfd:/jit-cache (deleted) (top.canyie.pine.entry.Arm64Entry.intBridge+32)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #05 pc 00000000001365b8  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: f9ff276075287a1d376fcd141f6042aa)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #06 pc 000000000014508c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+276) (BuildId: f9ff276075287a1d376fcd141f6042aa)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #07 pc 00000000002df0d4  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384) (BuildId: f9ff276075287a1d376fcd141f6042aa)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #08 pc 00000000002afdd8  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.1271440803783865717+424) (BuildId: f9ff276075287a1d376fcd141f6042aa)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #09 pc 0000000000588e8c  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (artQuickToInterpreterBridge+1012) (BuildId: f9ff276075287a1d376fcd141f6042aa)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #10 pc 000000000013f468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: f9ff276075287a1d376fcd141f6042aa)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #11 pc 0000000001605fd0  /system/framework/oat/arm64/services.odex (com.android.server.am.ActivityManagerService.checkPermission+144) (BuildId: 12c9f25ee4b5377745dd569037b649d657a4f017)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #12 pc 00000000005d9a3c  /system/framework/arm64/boot-framework.oat (android.app.IActivityManager$Stub.onTransact+32508) (BuildId: 8dd360e7ac2513f6c21e6f05c4163646b3e394be)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #13 pc 00000000016192a0  /system/framework/oat/arm64/services.odex (com.android.server.am.ActivityManagerService.onTransact+1088) (BuildId: 12c9f25ee4b5377745dd569037b649d657a4f017)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #14 pc 00000000008341bc  /system/framework/arm64/boot-framework.oat (android.os.Binder.execTransactInternal+748) (BuildId: 8dd360e7ac2513f6c21e6f05c4163646b3e394be)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #15 pc 0000000000833da8  /system/framework/arm64/boot-framework.oat (android.os.Binder.execTransact+296) (BuildId: 8dd360e7ac2513f6c21e6f05c4163646b3e394be)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #16 pc 0000000000136334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: f9ff276075287a1d376fcd141f6042aa)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #17 pc 000000000014506c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244) (BuildId: f9ff276075287a1d376fcd141f6042aa)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #18 pc 00000000004a9110  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104) (BuildId: f9ff276075287a1d376fcd141f6042aa)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #19 pc 00000000004aa460  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (art::InvokeVirtualOrInterfaceWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+424) (BuildId: f9ff276075287a1d376fcd141f6042aa)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #20 pc 0000000000387758  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 0x291000) (art::JNI::CallBooleanMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+632) (BuildId: f9ff276075287a1d376fcd141f6042aa)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #21 pc 00000000000d1e44  /system/lib64/libandroid_runtime.so (_JNIEnv::CallBooleanMethod(_jobject*, _jmethodID*, ...)+116) (BuildId: a4deef8d84f80b74d5707e20f76e8091)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #22 pc 00000000001472b4  /system/lib64/libandroid_runtime.so (JavaBBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+152) (BuildId: a4deef8d84f80b74d5707e20f76e8091)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #23 pc 000000000004c670  /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+136) (BuildId: 3b3157019df8c6095f4884ba25e5c04f)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #24 pc 000000000005898c  /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+980) (BuildId: 3b3157019df8c6095f4884ba25e5c04f)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #25 pc 0000000000058504  /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+156) (BuildId: 3b3157019df8c6095f4884ba25e5c04f)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #26 pc 0000000000058c40  /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60) (BuildId: 3b3157019df8c6095f4884ba25e5c04f)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #27 pc 000000000007ee14  /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24) (BuildId: 3b3157019df8c6095f4884ba25e5c04f)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #28 pc 0000000000013600  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+288) (BuildId: 0df2a8dd53d2bcb22474e13735f3cab5)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #29 pc 00000000000c1794  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140) (BuildId: a4deef8d84f80b74d5707e20f76e8091)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #30 pc 00000000000e10a0  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36) (BuildId: 8de865099c99977483c8947f9b7937e9)
04-18 17:37:26.854 31016 31016 F DEBUG   :       #31 pc 0000000000083ab0  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 8de865099c99977483c8947f9b7937e9)

Riru.hide is enabled, don't have more info now.

Invalid state during hashcode ForwardingAddress

hook某个方法后反复多次调用该方法,有几率触发该问题
log:

A/e.pine.example: object.cc:227] Invalid state during hashcode ForwardingAddress
A/e.pine.example: runtime.cc:630] Runtime aborting...
省略内部调用栈…
A/e.pine.example: runtime.cc:630]   native: #05 pc 00000000004b1178  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 453000) (art::Runtime::Abort(char const*)+1456)
A/e.pine.example: runtime.cc:630]   native: #06 pc 000000000000c5b4  /system/lib64/libbase.so (android::base::LogMessage::~LogMessage()+608)
A/e.pine.example: runtime.cc:630]   native: #07 pc 00000000003f5a6c  /apex/com.android.runtime/lib64/libart.so!libart.so (offset 291000) (art::mirror::Object::IdentityHashCode()+596)

java调用栈:
   at java.lang.Object.identityHashCodeNative(Native method)
   at java.lang.Object.identityHashCode(Object.java:129)
   at java.lang.Object.hashCode(Object.java:115)
   at java.lang.Object.toString(Object.java:291)
   at java.lang.String.valueOf(String.java:2924)
   at java.lang.StringBuilder.append(StringBuilder.java:132)
   at top.canyie.pine.Pine.handleCall(Pine.java:398)
   at top.canyie.pine.entry.Entry64.handleBridge(Entry64.java:128)
   at top.canyie.pine.entry.Entry64.voidBridge(Entry64.java:16)
   省略用户代码……

待深入调查。
同时发现EdXposed的SandHook分支也有该问题报告,ElderDrivers/EdXposed#432ElderDrivers/EdXposed#526(YAHFA版无报告)。

Pending hook crashes on Android 12

Running Pine hooks resulted in crash

A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 17671

Any plans to support Android 12 asap?

Seems to be issue with PineEnhances.enableDelayHook(). Crashes immediately on Android 12 Google Pixel released/public factory image.

tag @canyie @canyie

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.