REAndroid / APKEditor

Powerful android apk editor - aapt/aapt2 independent
Apache License 2.0
645 stars 95 forks source link

Repacking error (xml mode) #60

Closed kiber-io closed 10 months ago

kiber-io commented 10 months ago

Describe the bug When simply repacking the attached apk, it no longer runs

To Reproduce Steps to reproduce the behavior:

  1. Used version: APKEditor - 1.2.8, ARSCLib - 1.2.3
  2. Operating system: WSL Ubuntu 22.04
  3. Command: java -jar apkeditor.jar d -i app.apk and java -jar apkeditor.jar b -i app_decompiled_xml

Log/Stacktrace

FATAL EXCEPTION: main
Process: com.starbucks.mobilecard, PID: 4198
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.starbucks.mobilecard/o.Xe}: android.view.InflateException: Binary XML file line #22 in com.starbucks.mobilecard:layout/layout_0x7f0d00d1: Binary XML file line #22 in com.starbucks.mobilecard:layout/layout_0x7f0d00d1: Error inflating class o.lr
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3644)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3781)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:138)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2306)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7918)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Caused by: android.view.InflateException: Binary XML file line #22 in com.starbucks.mobilecard:layout/layout_0x7f0d00d1: Binary XML file line #22 in com.starbucks.mobilecard:layout/layout_0x7f0d00d1: Error inflating class o.lr
Caused by: android.view.InflateException: Binary XML file line #22 in com.starbucks.mobilecard:layout/layout_0x7f0d00d1: Error inflating class o.lr
Caused by: java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Constructor.newInstance0(Native Method)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
    at android.view.LayoutInflater.createView(LayoutInflater.java:858)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1010)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:965)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:1127)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:1130)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:686)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:538)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:485)
    at o.Context.asBinder(:775)
    at o.ComponentCallbacks2.setContentView(:197)
    at o.Xe.setContentView(:79)
    at o.Xe.onCreate(:47)
    at android.app.Activity.performCreate(Activity.java:8342)
    at android.app.Activity.performCreate(Activity.java:8321)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1417)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3625)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3781)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:138)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2306)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7918)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f040163
    at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:230)
    at android.content.res.Resources.getValue(Resources.java:1437)
    at o.IllegalMonitorStateException.asBinder(:309)
    at o.IllegalMonitorStateException.read(:256)
    at o.IllegalMonitorStateException.RemoteActionCompatParcelizer(:236)
    at o.ClassNotFoundException.getColorStateList(:558)
    at o.Resources.onTransact(:48)
    at o.mB.read(:60)
    at com.google.android.material.navigation.NavigationBarView.<init>(:263)
    at o.lr.<init>(:108)
    at o.lr.<init>(:103)
    at o.lr.<init>(:98)
    ... 32 more

Used apk file https://drive.google.com/file/d/1SPZ1_HEYUfajk-aOlIBspaX3WtxkRrQp/view?usp=sharing

REAndroid commented 10 months ago

This app obfuscation is deep, for such cases use json . Anyways I will dig into it on coming days

REAndroid commented 10 months ago

Fixed with 1.2.9

kiber-io commented 10 months ago

right. thank you!