I know a crashed APP calling a hidden API,
the apk download address: https://gyxz3.243ty.com/com.vqs.iphoneassess.apk
this app call a private method android.content.pm.PackageManager.getPackageInfoAsUserUncached and because of this api changed , so the apk crashed
but I can't use veridex or by watching logcat to find this api usage by this app, anybody knows why?
java.lang.RuntimeException: Unable to get provider com.leto.sandbox.container.ServiceProvider: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
at android.app.ActivityThread.installProvider(ActivityThread.java:7771)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:7283)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7041)
at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2279)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:233)
at android.os.Looper.loop(Looper.java:344)
at android.app.ActivityThread.main(ActivityThread.java:8203)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:590)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1007)
Caused by: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
at com.leto.sandbox.c.c.d.g0.b$v.b(MethodHooks.java:2)
at com.leto.sandbox.c.c.a.e$b.invoke(InterfaceProxy.java:17)
at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
at $Proxy12.getPackageInfo(Unknown Source)
at android.content.pm.PackageManager.getPackageInfoAsUserUncached(PackageManager.java:10449)
at android.content.pm.PackageManager.-$$Nest$smgetPackageInfoAsUserUncached(Unknown Source:0)
at android.content.pm.PackageManager$2.recompute(PackageManager.java:10462)
at android.content.pm.PackageManager$2.recompute(PackageManager.java:10459)
at android.app.PropertyInvalidatedCache.query(PropertyInvalidatedCache.java:931)
at android.content.pm.PackageManager.getPackageInfoAsUserCached(PackageManager.java:10476)
at android.app.ApplicationPackageManager.getPackageInfoAsUser(ApplicationPackageManager.java:265)
at android.app.ApplicationPackageManager.getPackageInfo(ApplicationPackageManager.java:225)
at android.app.ApplicationPackageManager.getPackageInfo(ApplicationPackageManager.java:217)
at com.leto.sandbox.container.n.g.a(LSBActivityService.java:7)
at com.leto.sandbox.container.n.g.b(LSBActivityService.java:1)
at com.leto.sandbox.container.ServiceProvider.onCreate(ServiceProvider.java:7)
at android.content.ContentProvider.attachInfo(ContentProvider.java:2451)
at android.content.ContentProvider.attachInfo(ContentProvider.java:2421)
at android.app.ActivityThread.installProvider(ActivityThread.java:7766)
... 11 more
it will crash on Android 13 because of this hidden API's signature changed, however when I used Veridex or by watching "Accessing hidden" applog can't find it calls this API? Why? How to explain it?