美文网首页
反编译 AndroidManifest.xml 异常解决办法

反编译 AndroidManifest.xml 异常解决办法

作者: 小时候很能吃 | 来源:发表于2018-04-20 08:39 被阅读0次

反编译 的时候报错误 java.io.IOException: Expected: 0x00080003, got: 0x00080009b

使用010工具加上AndroidManifest.xml模板,加载后直接按F5运行解除来

搜索09 00 08 00 然后修改成 03 00 08 00,然后把AndroidManifest.xml 塞进apk重新反编译还是会报错

java.io.EOFException

I: Decoding AndroidManifest.xml with resources...

Exception in thread "main" brut.androlib.AndrolibException: Could not decode XML

at brut.androlib.res.decoder.XmlPullStreamDecoder.decode(XmlPullStreamDecoder.java:136)

...

at brut.apktool.Main.main(Main.java:77)

Caused by: java.io.EOFException

at java.io.DataInputStream.readFully(DataInputStream.java:197)

...

at brut.androlib.res.decoder.XmlPullStreamDecoder.decode(XmlPullStreamDecoder.java:129)

... 7 more

这个问题困扰了一两天。在各种群里问也没有人回答,所以只能自己找线索。

  因此下载了AXMLparser的源码加日志打印后发现,正常的AndroidManifest文件读取到某个字段

结束就会停止,而报错的文件会一直执行到文件末尾然后报错。所以猜测可能是哪里的偏移值写多了或者是

故意写错。

还好看雪上的大牛们对文件格式已经进行了详尽的分析和绘图。主要参考的是该链接对AndroidManifest

文件格式分析的内容,对比010editor里的实际数据进行分析。文章中提到scStylePoolOffset字段在很多apk

中都是0,并且作用不明,加上自己打印日志产生的猜想,把这一字段设置成和其它apk一样的0:

   修改后再次反编译apk,发现AndroidManifest文件不报错了,可以正常执行反编译。【猜对了^^】

相关文章

网友评论

      本文标题:反编译 AndroidManifest.xml 异常解决办法

      本文链接:https://www.haomeiwen.com/subject/ajnokftx.html