反编译APK出错:Exception in thread "main" brut.androlib.err.UndefinedResObject

用apktool 反编译apk包时出错:

Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec:

0x01030119

        at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)

        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:58)

        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:54)

        at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferen

ceValue.java:62)

        at brut.androlib.res.data.value.ResReferenceValue.encodeAsResXml(ResRefe

renceValue.java:46)

        at brut.androlib.res.data.value.ResScalarValue.encodeAsResXmlAttr(ResSca

larValue.java:44)

        at brut.androlib.res.data.value.ResStyleValue.serializeToResValuesXml(Re

sStyleValue.java:48)

        at brut.androlib.res.data.value.ResBagValue.serializeToResValuesXml(ResB

agValue.java:40)

根据提示描述是找不到资源文件,应该是要反编译的APK文件用到了系统的一些资源。

 

解决办法:

从手机中导出framework-res.apk文件,该文件是/system/framework下面,把这个文件拷到跟apkTool同一个目录下,执行以下语句把资源文件加进来:

    apktool if freagmework-res.apk            

执行完以后就可以把framework-res.apk导进来。此时再执行apktool d即可以正常反编译了。

 

参考:http://blog.csdn.net/sam_zhang1984/article/details/8839175

暂无评论

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。

相关推荐