抛出 ArrayIndexOutOfBoundsException Baskmali

Throws ArrayIndexOutOfBoundsException Baskmali

我在 Android 上尝试 运行 baksmali 时遇到以下异常 O services.odex

Error occurred while loading class path files. Aborting.
java.lang.ArrayIndexOutOfBoundsException: 1701056665
    at org.jf.dexlib2.dexbacked.BaseDexBuffer.readSmallUint(BaseDexBuffer.java:53)
    at org.jf.dexlib2.dexbacked.DexBackedClassDef.<init>(DexBackedClassDef.java:78)
    at org.jf.dexlib2.dexbacked.DexBackedDexFile.readItem(DexBackedDexFile.java:137)
    at org.jf.dexlib2.dexbacked.DexBackedDexFile.readItem(DexBackedDexFile.java:133)
    at org.jf.dexlib2.dexbacked.util.FixedSizeSet.next(FixedSizeSet.java:56)
    at org.jf.dexlib2.analysis.DexClassProvider.<init>(DexClassProvider.java:48)
    at org.jf.dexlib2.analysis.ClassPathResolver.<init>(ClassPathResolver.java:163)
    at org.jf.dexlib2.analysis.ClassPathResolver.<init>(ClassPathResolver.java:85)
    at org.jf.baksmali.AnalysisArguments.loadClassPathForDexFile(AnalysisArguments.java:135)
    at org.jf.baksmali.AnalysisArguments.loadClassPathForDexFile(AnalysisArguments.java:86)
    at org.jf.baksmali.DisassembleCommand.getOptions(DisassembleCommand.java:207)
    at org.jf.baksmali.DeodexCommand.getOptions(DeodexCommand.java:71)
    at org.jf.baksmali.DisassembleCommand.run(DisassembleCommand.java:181)
    at org.jf.baksmali.Main.main(Main.java:102)

使用最新版本 (2.2.2)。然后尝试

 adb pull /system/framework /tmp/framework
baksmali x -d /tmp/framework/arm64 /tmp/framework/oat/arm64/services.odex