bmax121/BudHook

配合va使用7.0 hook SystemSensorManager失败

lefu999 opened this issue · 2 comments

hook的方法是SystemSensorManager的registerListenerImpl

05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] JNI DETECTED ERROR IN APPLICATION: JNI CallObjectMethod called with pending exception java.lang.IllegalAccessError: Method 'boolean android.hardware.SystemSensorManager.registerListenerImpl(android.hardware.SensorEventListener, android.hardware.Sensor, int, android.os.Handler, int, int)' is inaccessible to class 'BudHook.GenedClass_0' (declaration of 'BudHook.GenedClass_0' appears in /data/data/io.virtualapp/files/BudHook1.dex)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at boolean BudHook.GenedClass_0.replace(java.lang.Object, java.lang.Object, java.lang.Object, int, java.lang.Object, int, int) ((null):-1)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at boolean android.hardware.SensorManager.registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, android.os.Handler) (SensorManager.java:816)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at boolean android.hardware.SensorManager.registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int) (SensorManager.java:723)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at void com.pajk.pedometer.core.d.g() (MotionDetectorManager.java:-1)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at void com.pajk.pedometer.core.f.a() (OldActiveMotionDetector.java:-1)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at void com.pajk.pedometer.core.d.c() (MotionDetectorManager.java:-1)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at void com.pajk.pedometer.core.d.m() (MotionDetectorManager.java:-1)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at void com.pajk.pedometer.core.k.d() (StepCountDetector.java:-1)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at void com.pajk.pedometer.core.k.a(android.hardware.SensorEvent) (StepCountDetector.java:-1)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at void com.pajk.pedometer.core.c.onSensorChanged(android.hardware.SensorEvent) (MotionDetector.java:-1)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at void com.lody.virtual.client.core.JSensorEventListener.onSensorChanged(android.hardware.SensorEvent) (JSensorEventListener.java:40)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at void android.hardware.SystemSensorManager$SensorEventQueue.dispatchSensorEvent(int, float[], int, long) (SystemSensorManager.java:709)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at void android.os.MessageQueue.nativePollOnce(long, int) (MessageQueue.java:-2)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at android.os.Message android.os.MessageQueue.next() (MessageQueue.java:323)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at void android.os.Looper.loop() (Looper.java:136)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6255)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:920)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:810)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470]
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] in call to CallObjectMethod
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] from void android.os.MessageQueue.nativePollOnce(long, int)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] "main" prio=5 tid=1 Runnable
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] | group="main" sCount=0 dsCount=0 obj=0x74756000 self=0xe8885400
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] | sysTid=14382 nice=-4 cgrp=default sched=0/0 handle=0xeb516534
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] | state=R schedstat=( 3137861465 407964159 2656 ) utm=274 stm=39 core=2 HZ=100
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] | stack=0xff0d8000-0xff0da000 stackSize=8MB
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] | held mutexes= "mutator lock"(shared held)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #00 pc 0021c585 /system/lib/libart.so (???)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #1 pc 001fcc91 /system/lib/libart.so (???)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #2 pc 0010507f /system/lib/libart.so (???)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #3 pc 001055b7 /system/lib/libart.so (???)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #4 pc 000ca933 /system/lib/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+42)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #5 pc 000ca523 /system/lib/libart.so (_ZN3art11ScopedCheck11CheckThreadEP7_JNIEnv+362)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #6 pc 000c9537 /system/lib/libart.so (_ZN3art11ScopedCheck22CheckPossibleHeapValueERNS_18ScopedObjectAccessEcNS_12JniValueTypeE+26)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #7 pc 000c8a09 /system/lib/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE+800)
05-15 14:42:34.675 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #8 pc 000ccbb7 /system/lib/libart.so (_ZN3art8CheckJNI13CheckCallArgsERNS_18ScopedObjectAccessERNS_11ScopedCheckEP7_JNIEnvP8_jobjectP7_jclassP10_jmethodIDNS_10InvokeTypeEPKNS_7VarArgsE+110)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #9 pc 000cc1e9 /system/lib/libart.so (_ZN3art8CheckJNI11CallMethodVEPKcP7_JNIEnvP8_jobjectP7_jclassP10_jmethodIDSt9__va_listNS_9Primitive4TypeENS_10InvokeTypeE+512)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #10 pc 000c19f7 /system/lib/libart.so (_ZN3art8CheckJNI16CallObjectMethodEP7_JNIEnvP8_jobjectP10_jmethodIDz+50)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #11 pc 0000303d /system/lib/libnativehelper.so (jniGetReferent+92)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #12 pc 000bab67 /system/lib/libandroid_runtime.so (???)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #13 pc 00011f33 /system/lib/libutils.so (_ZN7android6Looper9pollInnerEi+614)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #14 pc 00011c3f /system/lib/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+26)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #15 pc 00090265 /system/lib/libandroid_runtime.so (_ZN7android18NativeMessageQueue8pollOnceEP7_JNIEnvP8_jobjecti+22)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] native: #16 pc 00642265 /system/framework/arm/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+96)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at android.os.MessageQueue.nativePollOnce(Native method)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at android.os.MessageQueue.next(MessageQueue.java:323)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at android.os.Looper.loop(Looper.java:136)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at android.app.ActivityThread.main(ActivityThread.java:6255)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at java.lang.reflect.Method.invoke!(Native method)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:920)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:810)
05-15 14:42:34.676 14382 14382 F art : art/runtime/java_vm_ext.cc:470]

应该是art抛出了ThrowIllegalAccessErrorField 但是不清楚是为什么

配合va才会发生这个问题吗

@bmax121 对哦 和va有关系吗?我那边再查查 谢谢您了