解决AndroidKiller APK 反编译失败,无法继续下一步源码反编译!

报错背景

今天使用AndroidKiller V1.3.1,反编译一个APK,遇到如下报错:

当前 Apktool 使用版本:Android Killer Default APKTOOL
正在反编译 APK,请稍等...
>I: 使用 ShakaApktool 2.0.0-20150914
>I: 正在加载资源列表...
>I: 反编译 AndroidManifest.xml 与资源...
>I: 正在从框架文件加载资源列表: C:\Users\lijie01\apktool\framework\1.apk
>I: 常规资源列表...
>I: 反编译资源文件...
>I: 反编译 values */* XMLs...
>Exception in thread "main" b.a.a.e: resource spec: 0x01010571
>   at b.a.d.a.p.a(Unknown Source)
>   at b.a.d.a.q.a(Unknown Source)
>   at org.c.b.b.c.a(Unknown Source)
>   at com.rover12421.shaka.a.b.p.a(Unknown Source)
>   at b.a.d.a.p.b(Unknown Source)
>   at b.a.d.a.w.a(Unknown Source)
>   at b.a.d.a.w.a(Unknown Source)
>   at b.a.d.a.a.t.d(Unknown Source)
>   at b.a.d.a.a.t.a(Unknown Source)
>   at b.a.d.a.a.u.h(Unknown Source)
>   at b.a.d.a.a.w.a(Unknown Source)
>   at b.a.d.a.a.w.a(Unknown Source)
>   at b.a.d.a.a(Unknown Source)
>   at b.a.d.a.c(Unknown Source)
>   at b.a.a.b(Unknown Source)
>   at b.a.E.a(Unknown Source)
>   at b.b.a.a(Unknown Source)
>   at b.b.a.a(Unknown Source)
>   at com.rover12421.shaka.cli.Main.main(Unknown Source)
APK 反编译失败,无法继续下一步源码反编译!

解决

参考这位大佬的博客:https://blog.csdn.net/u012400885/article/details/80409689 进行解决:

下载新版本的Apktool地址:https://down.52pojie.cn/Tools/Android_Tools/

然后打开AndroidKiller_v1.3.1路径,进行替换,注意名字要改成和原来一样的名字。

更换好之后,重新运行AndroidKiller:

当前 Apktool 使用版本:Android Killer Default APKTOOL
正在反编译 APK,请稍等...
>I: 使用 ShakaApktool 3.0.0-20170503
>I: 正在加载资源列表...
>I: 反编译 AndroidManifest.xml 与资源...
>I: 正在从框架文件加载资源列表: C:\Users\lijie01\AppData\Local\apktool\framework\1.apk
>I: 常规资源列表...
>I: 反编译资源文件...
>I: 反编译 values */* XMLs...
>java.lang.NullPointerException
>   at b.a.d.a.a.x.a(Unknown Source)
>   at b.a.d.a.a.x.a(Unknown Source)
>   at b.a.d.a.a(Unknown Source)
>   at b.a.d.a.c(Unknown Source)
>   at b.a.a.b(Unknown Source)
>   at b.a.C.a(Unknown Source)
>   at b.b.a.a(Unknown Source)
>   at b.b.a.a(Unknown Source)
>   at com.rover12421.shaka.cli.Main.main(Unknown Source)
>Exception in thread "main" java.lang.IllegalArgumentException: expected element name 'style' and not 'resources'
>   at org.e.a.a.c(Unknown Source)
>   at b.a.d.a.a(Unknown Source)
>   at b.a.d.a.c(Unknown Source)
>   at b.a.a.b(Unknown Source)
>   at b.a.C.a(Unknown Source)
>   at b.b.a.a(Unknown Source)
>   at b.b.a.a(Unknown Source)
>   at com.rover12421.shaka.cli.Main.main(Unknown Source)
APK 反编译失败,无法继续下一步源码反编译!

虽然还是报错,但是注意看报错信息,已经报不同错了,
>Exception in thread "main" java.lang.IllegalArgumentException: expected element name ‘style‘ and not ‘resources‘

继续搜索这个错误,然后根据这个大佬的文章进行如下步骤:https://www.bilibili.com/read/cv1785046/

使用AndroidKillerPlugin

下载

下载地址:https://github.com/supperlitt/AndroidKillerPlugin/releases

修改配置

注意,一定要修改正确这个路径,不然AndroidKillerPlugin解压的文件不会解压到你本地的AndroidKiller路径下,还是会失败的。

使用

基本上都是报解压文件失败,这个时候自己手动压解一下就好。

手动压解过程:

在重新执行AndroidKillerPlugin,

解压成功,

如果项目比较大,那么这个过程就会稍微耗时长。

反编译成功

在历史工程中重新打开一下,

反编译成功。

总结

学好使用原生apktool、dex2jar很重要,这样能更好理解Android反编译,并且遇到问题自己也能解决,不会像上面那样 工具报错了,自己没有排错的能力,只能查搜索引擎。

后面会写文章介绍apktool、dex2jar的原理,喜欢可以给我留言、关注、点赞这样我就会有更大的动力,更快的出文章。

原文地址:https://www.cnblogs.com/mysticbinary/p/11609825.html

时间: 2024-10-07 15:05:47

解决AndroidKiller APK 反编译失败,无法继续下一步源码反编译!的相关文章

【转】Linux CentOS内核编译:下载CentOS源码、编译2.6.32-220的错误(apic.c:819 error 'numi_watchdog' undeclared)

一.下载CentOS源码 1.1 查看CentOS版本 cat /etc/issue 1.2 查看Linux内核版本 uname -r 1.3 下载 文件名:kernel-2.6.32-220.el6.src.rpm 下载地址:http://vault.centos.org/6.2/os/Source/SPackages/ 官网:http://vault.centos.org/ 1.4 从kernel-2.6.32-220.el6.src.rpm获取源码 1. rpm -i kernel-2.6

Help-IntelliJIDEA-2019-基础设置:10.Maven自动下载源码包,告别反编译,直接上源码注释

ylbtech-Help-IntelliJIDEA-2019-基础设置:10.Maven自动下载源码包,告别反编译,直接上源码注释 1.返回顶部 1. 10.Maven自动下载源码包,告别反编译,直接上源码注释Configure | Settings | Build, Execution, Deployment | Build Tools | Maven | Importing将Automatically Download 的 Source 勾上. 2. 2.返回顶部 3.返回顶部 4.返回顶部

【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/51592930 手机的两种模式 : 在下面有详细的图片示例; -- Recovery 模式 : 音量键增加 + 电源键, 长按上述组合键, 看到 "MI" 的 LOGO 后即进入 Recovery 模式; -- Fastboot 模式 : 音量键减小 + 电源键, 长按上述组合键, 看到 "FASTBOOT" 后, 即 进入 FA

liunx命令6 vim编辑、压缩命令、rpm、yum及源码包编译安装

[[email protected] ~]# yum install -y vim-enhanced vim打开文件编辑(有颜色) [[email protected] ~]# vim  !$                   //上一条命令的最后一条参数 [[email protected] ~]# vim +10 !$                //打开文件进入第十行 :set number                                 //显示行号 vim 一般模式

[Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程

本文转载自:[Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程 1 前言 经过3天奋战,终于在Ubuntu 16.04上把Android 6.0的源码编译出来了,各种配置,各种error,各种爬坑,特写此博客记录爬坑经历.先上图,Ubuntu上编译完后成功运行模拟器,如图: 2 编译环境 UbuntuKylin 16.04 LTS Android 6.0_r1 Open JDK 7 3 准备工作 (1) 下载android 6.0源码.

Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程 (转)

1 前言 经过3天奋战,终于在Ubuntu 16.04上把Android 6.0的源码编译出来了,各种配置,各种error,各种爬坑,特写此博客记录爬坑经历.先上图,Ubuntu上编译完后成功运行模拟器,如图: 2 编译环境 UbuntuKylin 16.04 LTS Android 6.0_r1 Open JDK 7 3 准备工作 (1) 下载Android 6.0源码. Androdi 6.0源码下载地址: http://pan.baidu.com/s/1o6N86a2 感谢下面这位博主上传

[Android编译(二)] 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机

1 前言 经过一周的奋战,终于从谷歌官网上下载最新的android 6.0.1_r62源码,编译成功,并成功的刷入nexus6p,接着root完毕,现写下这篇博客记录一下实践过程. 2 简介 自己下载android系统源码,修改定制,然后编译刷入安卓手机,想想还有点小激动呢.简单点说一句话--定制我们自己的MIUI,这就是android的魅力,这篇博客博主就来教大家实现自己的定制系统. 首先,要明白下面的基础知识: (1) 什么是aosp? aosp就是android open source p

编译spark1.6.1源码

编译spark1.6.1源码 正常的情况下从spark官方网站下载的发行包已经可以满足正常使用(默认支持了hive),但如果要编译相应cdh版本的hadoop或者把ganglia打包进来等,那就要重新指定编译参数来重新编译源码了.建议最好在linux环境下进行编译. 1.源码下载 官网下载地址:https://spark.apache.org/downloads.html 注意:源码放置目录最好不要存在中文路径 2.安装并配置maven 根据官网的说明,通过maven来编译spark1.6.1时

android源码的编译问题总结

由于目前的项目需要修改android的内核源码,所以我需要从android源码的编译开始学习. 下面看一下我的编译环境. 我使用的Ubuntu系统的版本是14.04,64位. gcc版本:4.8.8 编译过程我是看着google开发者官网,以及结合别人的博客进行编译的.编译的过程会遇到很多问题,在这里,我就把我遇到的问题总结一些,以便以后用到的时候容易查看,也方便别人编译android的时候遇到相同的问题,便于查看. 问题一:java版本问题 这个问题描述的是我当前使用的java版本是"1.7&