REAndroid / APKEditor

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

Error on decoding raw mode with empty/no resources.arsc apk #99

Closed REAndroid closed 5 months ago

REAndroid commented 5 months ago

To Reproduce

APKEditor.jar b -t raw -i input_directory

Log/Stacktrace

Exception in thread "main" java.lang.IllegalArgumentException: java.io.EOFException: Finished reading: 0
    at com.reandroid.apk.ApkModule.getTableBlock(ApkModule.java:808)
    at com.reandroid.apk.ApkModule.getTableBlock(ApkModule.java:869)
    at com.reandroid.apk.ApkModuleEncoder.droNullTableBlock(ApkModuleEncoder.java:91)
    at com.reandroid.apk.ApkModuleEncoder.scanDirectory(ApkModuleEncoder.java:52)
    at com.reandroid.apkeditor.compile.Builder.buildRaw(Builder.java:143)
    at com.reandroid.apkeditor.compile.Builder.run(Builder.java:45)
    at com.reandroid.apkeditor.compile.Builder.execute(Builder.java:176)
    at com.reandroid.apkeditor.Main.execute(Main.java:85)
    at com.reandroid.apkeditor.Main.execute(Main.java:64)
    at com.reandroid.apkeditor.Main.main(Main.java:36)
 Caused by: java.io.EOFException: Finished reading: 0
    at com.reandroid.arsc.io.BlockReader.readFully(BlockReader.java:197)
    at com.reandroid.arsc.io.BlockReader.readFully(BlockReader.java:181)
    at com.reandroid.arsc.item.BlockItem.onReadBytes(BlockItem.java:123)
    at com.reandroid.arsc.base.Block.readBytes(Block.java:44)
    at com.reandroid.arsc.base.BlockContainer.onReadBytes(BlockContainer.java:148)
    at com.reandroid.arsc.header.HeaderBlock.onReadBytes(HeaderBlock.java:152)
    at com.reandroid.arsc.base.Block.readBytes(Block.java:44)
    at com.reandroid.arsc.chunk.TableBlock.onReadBytes(TableBlock.java:630)
    at com.reandroid.arsc.base.Block.readBytes(Block.java:44)
    at com.reandroid.arsc.chunk.TableBlock.readBytes(TableBlock.java:664)
    at com.reandroid.arsc.chunk.TableBlock.load(TableBlock.java:805)
    at com.reandroid.apk.ApkModule.loadTableBlock(ApkModule.java:980)
    at com.reandroid.apk.ApkModule.getTableBlock(ApkModule.java:801)
    ... 9 more

Sample apk file

ActivityExt.zip

Originally posted by @Zenlua in https://github.com/REAndroid/APKEditor/issues/98#issuecomment-2048264635