zhkl0228 / unidbg

Allows you to emulate an Android native library, and an experimental iOS emulation
Apache License 2.0
3.79k stars 959 forks source link

How to analyze this error, can you achieve this for error #598

Closed ykk4517 closed 8 months ago

ykk4517 commented 8 months ago

java.lang.UnsupportedOperationException at com.github.unidbg.linux.android.dvm.DalvikVM$4.handle(DalvikVM.java:94)

image

Find native function Java_com_xingin_tiny_internal_t_a => RX@0x40043c11[libtiny.so]0x43c11 JNIEnv->FindClass(java/lang/Object) was called from RX@0x4011fda7[libtiny.so]0x11fda7 JNIEnv->NewGlobalRef(class java/lang/Object) was called from RX@0x4011fdb3[libtiny.so]0x11fdb3 JNIEnv->GetMethodID(java/lang/Object.toString()Ljava/lang/String;) => 0xd6cb375b was called from RX@0x4011fdcd[libtiny.so]0x11fdcd JNIEnv->GetMethodID(java/lang/Object.hashCode()I) => 0x60df7c9 was called from RX@0x4011fde7[libtiny.so]0x11fde7 JNIEnv->FindClass(java/lang/Integer) was called from RX@0x401276bb[libtiny.so]0x1276bb JNIEnv->NewGlobalRef(class java/lang/Integer) was called from RX@0x401276c7[libtiny.so]0x1276c7 JNIEnv->GetMethodID(java/lang/Integer.intValue()I) => 0x5d9f068b was called from RX@0x401276e1[libtiny.so]0x1276e1 JNIEnv->GetStaticMethodID(java/lang/Integer.valueOf(I)Ljava/lang/Integer;) => 0x8f152ce2 was called from RX@0x401276fb[libtiny.so]0x1276fb JNIEnv->FindClass(java/lang/Long) was called from RX@0x4012826f[libtiny.so]0x12826f JNIEnv->NewGlobalRef(class java/lang/Long) was called from RX@0x4012827b[libtiny.so]0x12827b JNIEnv->GetMethodID(java/lang/Long.longValue()J) => 0x44606195 was called from RX@0x40128295[libtiny.so]0x128295 JNIEnv->GetStaticMethodID(java/lang/Long.valueOf(J)Ljava/lang/Long;) => 0x1a324bff was called from RX@0x401282af[libtiny.so]0x1282af JNIEnv->FindClass(java/lang/Float) was called from RX@0x4012b99f[libtiny.so]0x12b99f JNIEnv->NewGlobalRef(class java/lang/Float) was called from RX@0x4012b9ab[libtiny.so]0x12b9ab JNIEnv->GetMethodID(java/lang/Float.floatValue()F) => 0x6ff98ad7 was called from RX@0x4012b9c5[libtiny.so]0x12b9c5 JNIEnv->GetStaticMethodID(java/lang/Float.valueOf(F)Ljava/lang/Float;) => 0xdac25823 was called from RX@0x4012b9df[libtiny.so]0x12b9df JNIEnv->FindClass(java/lang/Boolean) was called from RX@0x4012c35b[libtiny.so]0x12c35b JNIEnv->NewGlobalRef(class java/lang/Boolean) was called from RX@0x4012c367[libtiny.so]0x12c367 JNIEnv->GetMethodID(java/lang/Boolean.booleanValue()Z) => 0x31f67dab was called from RX@0x4012c381[libtiny.so]0x12c381 JNIEnv->GetStaticMethodID(java/lang/Boolean.valueOf(Z)Ljava/lang/Boolean;) => 0x1d8c249f was called from RX@0x4012c39b[libtiny.so]0x12c39b JNIEnv->FindClass(java/lang/Double) was called from RX@0x40132553[libtiny.so]0x132553 JNIEnv->NewGlobalRef(class java/lang/Double) was called from RX@0x4013255f[libtiny.so]0x13255f JNIEnv->GetMethodID(java/lang/Double.doubleValue()D) => 0x8acb0bf9 was called from RX@0x40132579[libtiny.so]0x132579 JNIEnv->GetStaticMethodID(java/lang/Double.valueOf(D)Ljava/lang/Double;) => 0xca7b90a5 was called from RX@0x40132593[libtiny.so]0x132593 JNIEnv->FindClass(com/xingin/tiny/internal/t) was called from RX@0x4011cb27[libtiny.so]0x11cb27 JNIEnv->NewGlobalRef(class com/xingin/tiny/internal/t) was called from RX@0x4011cb33[libtiny.so]0x11cb33 JNIEnv->GetStaticMethodID(com/xingin/tiny/internal/t.b(I[Ljava/lang/Object;)Ljava/lang/Object;) => 0x6af41461 was called from RX@0x4011cb87[libtiny.so]0x11cb87 JNIEnv->FindClass(android/content/Context) was called from RX@0x4011c5c5[libtiny.so]0x11c5c5 JNIEnv->NewGlobalRef(class android/content/Context) was called from RX@0x4011c5d5[libtiny.so]0x11c5d5 JNIEnv->GetMethodID(android/content/Context.getPackageManager()Landroid/content/pm/PackageManager;) => 0x3acc78f0 was called from RX@0x4011c5ef[libtiny.so]0x11c5ef JNIEnv->GetMethodID(android/content/Context.getContentResolver()Landroid/content/ContentResolver;) => 0x3fe770ea was called from RX@0x4011c609[libtiny.so]0x11c609 JNIEnv->GetMethodID(android/content/Context.getSystemService(Ljava/lang/String;)Ljava/lang/Object;) => 0x545bcf2d was called from RX@0x4011c623[libtiny.so]0x11c623 JNIEnv->GetMethodID(android/content/Context.getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;) => 0xa0a12d1f was called from RX@0x4011c63d[libtiny.so]0x11c63d JNIEnv->GetMethodID(android/content/Context.checkPermission(Ljava/lang/String;II)I) => 0x9daa2205 was called from RX@0x4011c657[libtiny.so]0x11c657 JNIEnv->GetMethodID(android/content/Context.getClassLoader()Ljava/lang/ClassLoader;) => 0x188ba130 was called from RX@0x4011c671[libtiny.so]0x11c671 JNIEnv->GetMethodID(android/content/Context.deleteSharedPreferences(Ljava/lang/String;)Z) => 0xf8814ae5 was called from RX@0x4011c68b[libtiny.so]0x11c68b JNIEnv->GetMethodID(android/content/Context.getAssets()Landroid/content/res/AssetManager;) => 0x3b2d309d was called from RX@0x4011c6b9[libtiny.so]0x11c6b9 JNIEnv->GetMethodID(android/content/Context.bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z) => 0x1bb87487 was called from RX@0x4011c6d3[libtiny.so]0x11c6d3 JNIEnv->GetMethodID(android/content/Context.unbindService(Landroid/content/ServiceConnection;)V) => 0xa9850764 was called from RX@0x4011c6ed[libtiny.so]0x11c6ed JNIEnv->NewStringUTF("getSharedPreferencesPath") was called from RX@0x4011d1c5[libtiny.so]0x11d1c5 JNIEnv->NewStringUTF("String") was called from RX@0x4011d22f[libtiny.so]0x11d22f i-1316563172 JNIEnv->CallStaticObjectMethodV(class com/xingin/tiny/internal/t, b(0xb186d71c, [class android/content/Context, "getSharedPreferencesPath", ["String"]]) => "public abstract java.io.File android.content.Context.getSharedPreferencesPath(java.lang.String)") was called from RX@0x400b978f[libtiny.so]0xb978f java.lang.UnsupportedOperationException at com.github.unidbg.linux.android.dvm.DalvikVM$4.handle(DalvikVM.java:94) at com.github.unidbg.linux.ARM32SyscallHandler.hook(ARM32SyscallHandler.java:131) at com.github.unidbg.arm.backend.InterruptHookNotifier.notifyCallSVC(InterruptHookNotifier.java:14) at com.github.unidbg.arm.backend.dynarmic.DynarmicBackend32.callSVC(DynarmicBackend32.java:32) at com.github.unidbg.arm.backend.dynarmic.Dynarmic.emu_start(Native Method) at com.github.unidbg.arm.backend.dynarmic.Dynarmic.emu_start(Dynarmic.java:78) at com.github.unidbg.arm.backend.DynarmicBackend.emu_start(DynarmicBackend.java:82) at com.github.unidbg.AbstractEmulator.emulate(AbstractEmulator.java:378) at com.github.unidbg.thread.Function32.run(Function32.java:39) at com.github.unidbg.thread.MainTask.dispatch(MainTask.java:19) at com.github.unidbg.thread.UniThreadDispatcher.run(UniThreadDispatcher.java:175) at com.github.unidbg.thread.UniThreadDispatcher.runMainForResult(UniThreadDispatcher.java:99) at com.github.unidbg.AbstractEmulator.runMainForResult(AbstractEmulator.java:341) at com.github.unidbg.arm.AbstractARMEmulator.eFunc(AbstractARMEmulator.java:255) at com.github.unidbg.Module.emulateFunction(Module.java:163) at com.github.unidbg.linux.android.dvm.DvmObject.callJniMethod(DvmObject.java:135) at com.github.unidbg.linux.android.dvm.DvmClass.callStaticJniMethodObject(DvmClass.java:316) at XhsTest.initTiny(XhsTest.java:301) at XhsTest.main(XhsTest.java:402) debugger break at: 0xfffe00c4 @ Runnable|Function32 address=0x40043c11, arguments=[unidbg@0xfffe12a0[libmediandk.so]0x2a0, -1733448322, 1402967038]

r0=0xfffe12a0(-126304) r1=0x4229bb3f r2=0xfffe00c0 r3=0x0 r4=0x4229bb3f r5=0xfffe12a0 r6=0x40351f50 r7=0xbffff4e0 r8=0xefcdea78 sb=0xdcedbd08 sl=0x6 fp=0x400214c3 ip=0x40342000 SP=0xbffff4a0 LR=RX@0x4011c74d[libtiny.so]0x11c74d PC=unidbg@0xfffe00c4 cpsr: N=0, Z=1, C=1, V=0, T=0, mode=0b10000 一月 21, 2024 12:06:43 上午 com.github.unidbg.linux.ARM32SyscallHandler hook 警告: handleInterrupt intno=2, NR=-1073744672, svcNumber=0x103, PC=unidbg@0xfffe00c4, LR=RX@0x4011c74d[libtiny.so]0x11c74d, syscall=null java.lang.UnsupportedOperationException at com.github.unidbg.linux.android.dvm.DalvikVM$4.handle(DalvikVM.java:94) at com.github.unidbg.linux.ARM32SyscallHandler.hook(ARM32SyscallHandler.java:131) at com.github.unidbg.arm.backend.InterruptHookNotifier.notifyCallSVC(InterruptHookNotifier.java:14) at com.github.unidbg.arm.backend.dynarmic.DynarmicBackend32.callSVC(DynarmicBackend32.java:32) at com.github.unidbg.arm.backend.dynarmic.Dynarmic.emu_start(Native Method) at com.github.unidbg.arm.backend.dynarmic.Dynarmic.emu_start(Dynarmic.java:78) at com.github.unidbg.arm.backend.DynarmicBackend.emu_start(DynarmicBackend.java:82) at com.github.unidbg.AbstractEmulator.emulate(AbstractEmulator.java:378) at com.github.unidbg.thread.Function32.run(Function32.java:39) at com.github.unidbg.thread.MainTask.dispatch(MainTask.java:19) at com.github.unidbg.thread.UniThreadDispatcher.run(UniThreadDispatcher.java:175) at com.github.unidbg.thread.UniThreadDispatcher.runMainForResult(UniThreadDispatcher.java:99) at com.github.unidbg.AbstractEmulator.runMainForResult(AbstractEmulator.java:341) at com.github.unidbg.arm.AbstractARMEmulator.eFunc(AbstractARMEmulator.java:255) at com.github.unidbg.Module.emulateFunction(Module.java:163) at com.github.unidbg.linux.android.dvm.DvmObject.callJniMethod(DvmObject.java:135) at com.github.unidbg.linux.android.dvm.DvmClass.callStaticJniMethodObject(DvmClass.java:316) at XhsTest.initTiny(XhsTest.java:301) at XhsTest.main(XhsTest.java:402)

[ArmSvc         0x0000c0] [030100ef] 0xfffe00c0: "svc #0x103"

=> [ArmSvc 0x0000c4][1eff2fe1]0xfffe00c4:*"bx lr" [ArmSvc 0x0000c8] [00000000] 0xfffe00c8: "andeq r0, r0, r0" [ArmSvc 0x0000cc] [00000000] 0xfffe00cc: "andeq r0, r0, r0" [ArmSvc 0x0000d0] [040100ef] 0xfffe00d0: "svc #0x104" [ArmSvc 0x0000d4] [1eff2fe1] 0xfffe00d4: "bx lr" [ArmSvc 0x0000d8] [00000000] 0xfffe00d8: "andeq r0, r0, r0" [ArmSvc 0x0000dc] [00000000] 0xfffe00dc: "andeq r0, r0, r0" [ArmSvc 0x0000e0] [050100ef] 0xfffe00e0: "svc #0x105" [ArmSvc 0x0000e4] [1eff2fe1] 0xfffe00e4: "bx lr" [ArmSvc 0x0000e8] [00000000] 0xfffe00e8: "andeq r0, r0, r0" [ArmSvc 0x0000ec] [00000000] 0xfffe00ec: "andeq r0, r0, r0" [ArmSvc 0x0000f0] [060100ef] 0xfffe00f0: "svc #0x106" [ArmSvc 0x0000f4] [1eff2fe1] 0xfffe00f4: "bx lr" [ArmSvc 0x0000f8] [00000000] 0xfffe00f8: "andeq r0, r0, r0" [ArmSvc 0x0000fc] [00000000] 0xfffe00fc: "andeq r0, r0, r0" [ArmSvc 0x000100] [070100ef] 0xfffe0100: "svc #0x107"