首页
社区
课程
招聘
[求助]apktool 反编译出错,
发表于: 2014-11-20 09:47 73592

[求助]apktool 反编译出错,

2014-11-20 09:47
73592
大家好

本人的系统win7 64位,搭建了android 开发环境,sdk r23.0.2  

生成了adnroid 4.0版本的 hello.apk 程序

用apktool 反编译报如下错误 apktool版本是 2.0.0-Beta9

E:\Android\reverse>apktool d hello.apk -o hello
I: Using Apktool 2.0.0-Beta9 on hello.apk
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Could not decode ars
c file
        at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:54)
        at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibRes
ources.java:604)
        at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.jav
a:74)
        at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.jav
a:66)
        at brut.androlib.Androlib.getResTable(Androlib.java:49)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:93)
        at brut.apktool.Main.cmdDecode(Main.java:169)
        at brut.apktool.Main.main(Main.java:85)
Caused by: java.io.IOException: Expected: 0x001c0001, got: 0x00000000
        at brut.util.ExtDataInput.skipCheckInt(ExtDataInput.java:48)
        at brut.androlib.res.decoder.StringBlock.read(StringBlock.java:43)
        at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:95
)
        at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:81)
        at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:49)
        ... 7 more

二、我反编译 最新版本的qq 5.2.1 也是不行
E:\Android\reverse\apktool2.2>apktool d qq.apk -o ddsdsdsd
I: Using Apktool 2.0.0-Beta9 on qq.apk
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Multiple res specs:
attr/0
        at brut.androlib.res.data.ResType.addResSpec(ResType.java:58)
        at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:189)

        at brut.androlib.res.decoder.ARSCDecoder.readConfig(ARSCDecoder.java:162
)
        at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:128)
        at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:10
3)
        at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:81)
        at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:49)
        at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibRes
ources.java:604)
        at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.jav
a:74)
        at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.jav
a:66)
        at brut.androlib.Androlib.getResTable(Androlib.java:49)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:93)
        at brut.apktool.Main.cmdDecode(Main.java:169)
        at brut.apktool.Main.main(Main.java:85)

三、反编译 最新版本的ucweb 9.9.8  可以
E:\Android\reverse\apktool2.2>apktool d uc2.apk -o ucweb
I: Using Apktool 2.0.0-Beta9 on uc2.apk
I: Loading resource table...
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\ingpad\apktool\framework\1.apk
I: Regular manifest package...
I: Decoding file-resources...
Cleaning up unclosed ZipFile for archive C:\Users\ingpad\apktool\framework\1.apk

I: Decoding values */* XMLs...
I: Baksmaling...
I: Copying assets and libs...
I: Copying unknown files/dir...
I: Copying original files...

有人遇到类似情况吗,,谢谢
上传的附件:
收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 417
活跃值: (201)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
试试apktoolkit v3.0
2014-11-20 10:23
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢你的解答,,我下了你说的工具,,这个工具还是你发布的,呵呵,,还是报同样的错误,
是不是我的sdk 版本太高了, 怎么我自己生成的也不行呢,,qq是不是防止反编译了,
谢谢
2014-11-20 10:57
0
雪    币: 163
活跃值: (1583)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
试试APKTOOL的最新版本
2014-11-20 11:21
0
雪    币: 614
活跃值: (873)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
是apktool本身的问题,现在对很多apk都无能为力。
2014-11-20 11:42
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢大家的解答,
有什么 其他办法吗,,我现在 只好用 dex2jar 和 jdgui 来看代码, 但如果能 看到 smali文件就更好了,这个内容丰富些,
2014-11-20 14:49
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
试试jeb吧,你没有附件,我不好帮你测试
2014-11-20 15:40
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
上传了 hello.apk 就是显示一个 helloword  默认程序,啥都没改动,,谢谢
2014-11-20 16:32
0
雪    币: 427
活跃值: (64)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我给你一个apktool.jar 你试试吧,你的程序我下载下来可以正常反编译


http://pan.baidu.com/s/1sj6X3Kp
上传的附件:
2014-11-20 16:58
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
[QUOTE=pwelyn;1332198]我给你一个apktool.jar 你试试吧,你的程序我下载下来可以正常反编译


http://pan.baidu.com/s/1sj6X3Kp[/QUOTE]
可能是你的apktool版本太低,楼上的工具可以用,建议你下载最新的
2014-11-20 18:00
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
下载了 pwelyn 提供的apktoll 的确可以,

https://bitbucket.org/iBotPeaches/apktool/downloads

这个是 下载最新apktool 的地方 apktool-v2.0.0RC2  pwelyn提供的也是这个版本

只不过 最新版本的qq (5.2.1) 还是不行,,对我来说基本可以了,我只是学习,,只要例子可以就好了,

谢谢大家,,尤其是 pwelyn
2014-11-21 09:14
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
应该是 9 楼的 为pwelyn 最佳答案,,点错了,,不好意思,,呵呵,,看的时候是 没错啊,
2014-11-21 09:16
0
雪    币: 105
活跃值: (211)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
13
在个人文件夹里,找到apktool目录,进到framework,把1.apk替换成你的sdk的android.jar文件,再来反编译,就通过了
2014-11-21 10:24
0
雪    币: 13
活跃值: (49)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
谢谢。解决了
2015-3-23 16:23
0
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
@miyunhong 同学问的qq (5.2.1) 不能用ApkTool反编译的问题,有解决的吗? 应该是TX新的加固方案导致的。
2015-6-13 22:35
0
游客
登录 | 注册 方可回帖
返回
//