Chipppppppppp / LIME

Adkiller for LINE
MIT License
448 stars 29 forks source link

[Bug]: アプリクラッシュについて #161

Closed toomanyrequest closed 2 months ago

toomanyrequest commented 2 months ago

LSPatch 使用の有無

内容の詳細

本日9月5日に突然アプリがクラッシュして起動できなくなりました。 Xで検索したところ同様の現象を訴える数名のポストが散見したため不具合として報告させていただきます。

再現する手順

非rootのAndroid14でLINE14.9.1にLIME1.9.2をパッチ化

有効にしている LIME の設定

No response

バージョンの確認

areteruhiro commented 2 months ago

残念ながら、再現が出来ないです。 試しに、LIMEを無効化しても開けませんか?

areteruhiro commented 2 months ago

PCをお持ちなら以下のコマンドを実行して貼っていただけませんか、また機種名も教えてください。 while true; do logcat --pid=$(pidof -s jp.naver.line.android) '*':W; done

関連する可能性

146

SorrowBlue commented 2 months ago

同様の問題だと思うのでログ貼ります。

機種名: Pixel 8 Androidバージョン: 14 ビルド番号: AP2A.240905.003

09-05 19:54:56.717 21280 21280 E er.line.android: Not starting debugger since process cannot load the jdwp agent.
09-05 19:54:56.750 21280 21280 E LSPlant : Failed to find GetMethodShorty
09-05 19:54:56.750 21280 21280 E LSPlant : Failed to init art method
09-05 19:54:56.750 21280 21280 E LSPosed : Failed to init lsplant
09-05 19:54:56.750 21280 21280 E LSPosed : Hook Fails: _ZN3art12ProfileSaver20ProcessProfilingInfoEbPt
09-05 19:54:56.750 21280 21280 E LSPosed : Hook Fails: _ZN3art14OatFileManager25RunBackgroundVerificationERKNSt3__16vectorIPKNS_7DexFileENS1_9allocatorIS5_EEEEP8_jobjectPKc
09-05 19:54:56.755 21280 21280 W er.line.android: Accessing hidden field Landroid/app/ActivityThread$AppBindData;->compatInfo:Landroid/content/res/CompatibilityInfo; (max-target-p, reflection, denied)
09-05 19:54:56.755 21280 21280 E LSPatch : createLoadedApk
09-05 19:54:56.755 21280 21280 E LSPatch : java.lang.NoSuchFieldError: android.app.ActivityThread$AppBindData#compatInfo
09-05 19:54:56.755 21280 21280 E LSPatch :      at de.robv.android.xposed.XposedHelpers.lambda$findField$1(XposedHelpers.java:246)
09-05 19:54:56.755 21280 21280 E LSPatch :      at de.robv.android.xposed.XposedHelpers$$ExternalSyntheticLambda3.get(Unknown Source:2)
09-05 19:54:56.755 21280 21280 E LSPatch :      at java.util.Optional.orElseThrow(Optional.java:403)
09-05 19:54:56.755 21280 21280 E LSPatch :      at de.robv.android.xposed.XposedHelpers.findField(XposedHelpers.java:246)
09-05 19:54:56.755 21280 21280 E LSPatch :      at de.robv.android.xposed.XposedHelpers.getObjectField(XposedHelpers.java:1028)
09-05 19:54:56.755 21280 21280 E LSPatch :      at org.lsposed.lspatch.loader.LSPApplication.createLoadedApkWithContext(LSPApplication.java:108)
09-05 19:54:56.755 21280 21280 E LSPatch :      at org.lsposed.lspatch.loader.LSPApplication.onLoad(LSPApplication.java:73)
09-05 19:54:56.755 21280 21280 E LSPatch :      at java.lang.Runtime.nativeLoad(Native Method)
09-05 19:54:56.755 21280 21280 E LSPatch :      at java.lang.Runtime.load0(Runtime.java:931)
09-05 19:54:56.755 21280 21280 E LSPatch :      at java.lang.System.load(System.java:1729)
09-05 19:54:56.755 21280 21280 E LSPatch :      at org.lsposed.lspatch.metaloader.LSPAppComponentFactoryStub.<clinit>(Unknown Source:404)
09-05 19:54:56.755 21280 21280 E LSPatch :      at java.lang.Class.newInstance(Native Method)
09-05 19:54:56.755 21280 21280 E LSPatch :      at android.app.LoadedApk.createAppFactory(LoadedApk.java:272)
09-05 19:54:56.755 21280 21280 E LSPatch :      at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:1043)
09-05 19:54:56.755 21280 21280 E LSPatch :      at android.app.LoadedApk.getClassLoader(LoadedApk.java:1130)
09-05 19:54:56.755 21280 21280 E LSPatch :      at android.app.LoadedApk.getResources(LoadedApk.java:1378)
09-05 19:54:56.755 21280 21280 E LSPatch :      at android.app.ContextImpl.createAppContext(ContextImpl.java:3336)
09-05 19:54:56.755 21280 21280 E LSPatch :      at android.app.ContextImpl.createAppContext(ContextImpl.java:3327)
09-05 19:54:56.755 21280 21280 E LSPatch :      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7277)
09-05 19:54:56.755 21280 21280 E LSPatch :      at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
09-05 19:54:56.755 21280 21280 E LSPatch :      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2379)
09-05 19:54:56.755 21280 21280 E LSPatch :      at android.os.Handler.dispatchMessage(Handler.java:107)
09-05 19:54:56.755 21280 21280 E LSPatch :      at android.os.Looper.loopOnce(Looper.java:232)
09-05 19:54:56.755 21280 21280 E LSPatch :      at android.os.Looper.loop(Looper.java:317)
09-05 19:54:56.755 21280 21280 E LSPatch :      at android.app.ActivityThread.main(ActivityThread.java:8592)
09-05 19:54:56.755 21280 21280 E LSPatch :      at java.lang.reflect.Method.invoke(Native Method)
09-05 19:54:56.755 21280 21280 E LSPatch :      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
09-05 19:54:56.755 21280 21280 E LSPatch :      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
--------- beginning of crash
09-05 19:54:56.762 21280 21280 E AndroidRuntime: FATAL EXCEPTION: main
09-05 19:54:56.762 21280 21280 E AndroidRuntime: Process: jp.naver.line.android, PID: 21280
09-05 19:54:56.762 21280 21280 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate application jp.naver.line.android.LineApplication package jp.naver.line.android: java.lang.ClassNotFoundException: Didn't find class "jp.naver.line.android.LineApplication" on path: DexPathList[[zip fil
e "/data/app/~~whZSwQwATSyb0MlSRZZbAQ==/jp.naver.line.android-ofDl2ne4XB0rf1PUipsTow==/base.apk"],nativeLibraryDirectories=[/data/app/~~whZSwQwATSyb0MlSRZZbAQ==/jp.naver.line.android-ofDl2ne4XB0rf1PUipsTow==/lib/arm64, /data/app/~~whZSwQwATSyb0MlSRZZbAQ==/jp.naver.line.android-ofDl2ne4XB0rf1PUipsTow==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1474)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1399)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7359)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2379)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:107)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at android.os.Looper.loopOnce(Looper.java:232)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:317)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:8592)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
09-05 19:54:56.762 21280 21280 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "jp.naver.line.android.LineApplication" on path: DexPathList[[zip file "/data/app/~~whZSwQwATSyb0MlSRZZbAQ==/jp.naver.line.android-ofDl2ne4XB0rf1PUipsTow==/base.apk"],nativeLibraryDirectories=[/data/app/~~whZSwQwATSyb0MlSRZZbAQ==/jp.naver.line.android-ofDl2ne4XB0rf1PUipsTow==/lib/arm64, /data/app/~~whZSwQwATSyb0MlSRZZbAQ==/jp.naver.line.android-ofDl2ne4XB0rf1PUipsTow==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at java.lang.ClassLoader.loadClass(ClassLoader.java:637)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at android.app.AppComponentFactory.instantiateApplication(AppComponentFactory.java:76)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at android.app.Instrumentation.newApplication(Instrumentation.java:1352)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1467)
09-05 19:54:56.762 21280 21280 E AndroidRuntime:        ... 11 more
09-05 19:54:56.766 21280 21295 W er.line.android: Accessing hidden method Ldalvik/system/BaseDexClassLoader;-><init>([Ljava/nio/ByteBuffer;Ljava/lang/String;Ljava/lang/ClassLoader;)V (blocked, linking, denied)
09-05 19:54:56.766 21280 21295 W er.line.android: Accessing hidden field Landroid/app/ActivityManager;->PROCESS_STATE_UNKNOWN:I (max-target-o, linking, denied)
09-05 19:54:56.766 21280 21295 W er.line.android: Accessing hidden field Landroid/app/ActivityManager;->UID_OBSERVER_ACTIVE:I (max-target-o, linking, denied)
09-05 19:54:56.766 21280 21295 W er.line.android: Accessing hidden field Landroid/app/ActivityManager;->UID_OBSERVER_CACHED:I (max-target-o, linking, denied)
09-05 19:54:56.766 21280 21295 W er.line.android: Accessing hidden field Landroid/app/ActivityManager;->UID_OBSERVER_GONE:I (max-target-o, linking, denied)
09-05 19:54:56.766 21280 21295 W er.line.android: Accessing hidden field Landroid/app/ActivityManager;->UID_OBSERVER_IDLE:I (max-target-o, linking, denied)
09-05 19:54:56.766 21280 21295 W er.line.android: Accessing hidden field Landroid/content/pm/ApplicationInfo;->overlayPaths:[Ljava/lang/String; (blocked, linking, denied)
09-05 19:54:56.766 21280 21295 W er.line.android: Accessing hidden field Landroid/content/pm/ApplicationInfo;->overlayPaths:[Ljava/lang/String; (blocked, linking, denied)
09-05 19:54:56.766 21280 21295 W er.line.android: Accessing hidden method Landroid/os/Binder;->allowBlocking(Landroid/os/IBinder;)Landroid/os/IBinder; (max-target-o, linking, denied)
09-05 19:54:56.766 21280 21295 W er.line.android: Accessing hidden method Landroid/content/Context;->getActivityToken()Landroid/os/IBinder; (max-target-o, linking, denied)
09-05 19:54:56.766 21280 21295 W er.line.android: Accessing hidden method Landroid/os/Environment;->getDataProfilesDePackageDirectory(ILjava/lang/String;)Ljava/io/File; (max-target-o, linking, denied)
09-05 19:54:56.766 21280 21295 W er.line.android: Accessing hidden method Landroid/system/Int32Ref;-><init>(I)V (max-target-o, linking, denied)
09-05 19:54:56.766 21280 21295 W er.line.android: Accessing hidden method Landroid/system/Os;->ioctlInt(Ljava/io/FileDescriptor;I)I (blocked,core-platform-api, linking, denied)
09-05 19:54:56.784 21280 21295 W er.line.android: Accessing hidden method Lsun/net/www/protocol/jar/Handler;-><init>()V (blocked, linking, denied)
09-05 19:54:56.797 21280 21295 W er.line.android: Accessing hidden method Lsun/misc/CompoundEnumeration;-><init>([Ljava/util/Enumeration;)V (blocked, linking, denied)
09-05 19:54:56.797 21280 21295 W er.line.android: Accessing hidden method Lsun/misc/CompoundEnumeration;-><init>([Ljava/util/Enumeration;)V (blocked, linking, denied)
areteruhiro commented 2 months ago

OS14,13で現れ、またエラーの原因はLIMEではなくLsPatchの可能性が高いということがわかりました (パッチを有効化していなくても開けないため)

解決策を模索していますが、少し難しいかもしれません。

areteruhiro commented 2 months ago

https://github.com/JingMatrix/LSPatch/releases/tag/0.5.1 このLSPatchだと私はエラーでなかったです。

SorrowBlue commented 2 months ago

以下 Artifacts の LSPatch で LINEの起動 / LIMEの有効化 が確認できました。

https://github.com/JingMatrix/LSPatch/actions/runs/10714678100 lspatch-debug-b409cd3

lspatch-release-b409cd3ではLINEが起動しますが、LIMEは有効化されないですね(エラーログがでている)。 LSPatchの難読化が原因のようです。

areteruhiro commented 2 months ago

debugの方を利用したらより、できる可能性が高いかもしれないです。

s1204IT commented 2 months ago

Actions より JingMatrix 版の LSPatch を利用出来る様に変更しました。
これを使用しても、再度クラッシュする様でしたら、新しく Issue を立てて下さい。