首页
社区
课程
招聘
[求助]apk资源文件被混淆反编译不过
发表于: 2014-8-13 18:59 23944

[求助]apk资源文件被混淆反编译不过

2014-8-13 18:59
23944
用apktool反编译某apk的时候出错,用zip格式打开对比了可以反编译的apk,发现apk的资源文件res被混淆了。而用proguard混淆是只会对代码进行混淆,求助下大神,这种资源文件被混淆的情况下怎么进行反编译?
已经上传了图片,比较2种apk的包格式:
不可以反编译的apk包,其中的res文件变成了R,右图为R里的内容
         
可以反编译的apk包内容如下:
左图为正常可以反编译的包,右图为res文件内容
           

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 76
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
是二进制文件,用高版本的apktool试试
2014-8-13 19:06
0
雪    币: 11
活跃值: (80)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
最好有解压后的代码或是图片也好,好分析啊
2014-8-13 21:30
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
添加了图片了,apk因为太大加不了,apktool也是从github上下的最新的版本,然后自己从新编译的jar包
2014-8-14 10:15
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
加 -r参数
2014-8-14 10:24
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
加-r也还是不行,错误如下:

E:\decompile\apk2java\apktool2.0_beta9>apktool d -r a.apk
I: Using Apktool 2.0.0-Beta9 on a.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)
2014-8-14 10:29
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
腾讯的qq把原生的安卓资源定义改了,自己另外弄了一套开发。具体怎样就不知道了。
2014-9-6 13:29
0
雪    币: 76
活跃值: (206)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
8
去掉resources.arsc 文件
2014-11-11 13:26
0
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
LZ问题最后解决了吗,差不多的问题:
Exception in thread "main" brut.androlib.AndrolibException: Multiple res specs: attr/fasten
2015-6-13 21:51
0
雪    币: 158
活跃值: (196)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
看过这一块,应该是这样,开发还是正常开发。
arsc定义了 资源id和id所对应的文件路径,改名路径,然后更新arsc,arsc解码编码搞不定,这样做的问题是你只能放同名的图片只能放一套了
2015-6-16 10:32
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
遇到同样的问题,有知道肿么解决的不?
2016-7-22 11:01
0
游客
登录 | 注册 方可回帖
返回
//