解决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的原理,喜欢可以给我留言、关注、点赞这样我就会有更大的动力,更快的出文章。
解决AndroidKiller APK 反编译失败,无法继续下一步源码反编译!的更多相关文章
- 编译最新版webrtc源码和编译好的整个项目10多个G【分享】
编译最新版webrtc源码和编译好的整个项目10多个G[分享] 参考https://webrtc.org/native-code/development/编译最新版webrtc源码: Git clon ...
- 【转】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 ...
- redhat6.2 clang编译环境搭建(采用源码包编译安装)
1. About clang++ office site:http://clang.llvm.org/ A major focus of our work on clang is to make it ...
- 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)
分类: Android 系统开发(5) 作者同类文章X 版权声明:本文为博主原创文章 ...
- Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)
Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码) 来源 https://blog.csdn.net/jiangwei0910410003/article/details/51 ...
- Hadoop2.x源码-编译剖析
1.概述 最近,有小伙伴涉及到源码编译.然而,在编译期间也是遇到各种坑,在求助于搜索引擎,技术博客,也是难以解决自身所遇到的问题.笔者在被询问多次的情况下,今天打算为大家来写一篇文章来剖析下编译的细节 ...
- 【转】Android用NDK和整套源码下编译JNI的不同
原文网址:http://www.devdiv.com/android_ndk_jni_-blog-99-2101.html 前些天要写个jni程序,因为才几行代码,想着用ndk开发可能容易些,就先研究 ...
- CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作
CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614 使用yum安装的MySQL一般版本比较旧,但 ...
- 动态方式破解apk进阶篇(IDA调试so源码)
动态方式破解apk进阶篇(IDA调试so源码) 来源 https://blog.csdn.net/qq_21051503/article/details/74907449 下面就说关于在IDA中And ...
随机推荐
- Spring学习之旅(十一)--JDBC
JDBC 是数据持久化的一种比较常见的方案,Spring 也对它进行了支持. 在开始 JDBC 的使用之前,我们要先做下一些准备工作. 配置数据源 在 Spring 上下文中可以数据源 Bean 有如 ...
- 五.Linux基础
Linux是运行在pc机上类似unix风格的操作系统,由众多程序员开发.开放源代码! 由于开放源代码,所以现在的Linux比windows漏洞更少! linux操作系统由内核及应用程序组成,有很多发行 ...
- Eureka(一)术语详解(用具体的事物理解抽象的概念)
最近工作较闲,所以自己研究了下eureka的原理,实现,和集群搭建等.(注:我没实操过eureka集群项目,都是自己做的demo产生的结论,如果有错误欢迎指出) 首先说一下我对eureka的一些术语的 ...
- P1357 花园 状压 矩阵快速幂
题意 小L有一座环形花园,沿花园的顺时针方向,他把各个花圃编号为1~N(2<=N<=10^15).他的环形花园每天都会换一个新花样,但他的花园都不外乎一个规则,任意相邻M(2<=M& ...
- 【欧拉降幂】Super_log
In Complexity theory, some functions are nearly O(1)O(1), but it is greater then O(1)O(1). For examp ...
- 【百度之星】【java大数+C++做法】hdu 6719 Strassen
代码:递归搜索一下.java大数做法 import java.util.*; import java.math.*; import java.security.MessageDigest; publi ...
- EF Core 通过延迟加载获取导航属性数据
EF 6及以前的版本是默认支持延迟加载(Lazy Loading)的,早期的EF Core中并不支持,必须使用Include方法来支持导航属性的数据加载. 当然在EF Core 2.1及之后版本中已经 ...
- 阿里社招Java面试题总结——面试官分享
面试题 1.Java中的内存溢出是如何造成的 2.gc的概念,如果A和B对象循环引用,是否可以被GC? 3.Error.Exception和RuntimeException的区别,作用又是什么? 4. ...
- 一个例子明白 javascript 中 for 与 for in 的区别
var arr = new Array(); arr["a"] = "aa"; arr["b"] = "bb"; arr ...
- 史上最全面的SignalR系列教程-目录汇总
1.引言 最遗憾的不是把理想丢在路上,而是理想从未上路. 每一个将想法变成现实的人,都值得称赞和学习. 致正在奔跑的您! 2.SignalR介绍 SignalR实现服务器与客户端的实时通信 ,她是一个 ...