吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14480|回复: 12
收起左侧

[Android 分享] 修改反编译资源文件报错(resource spec)

[复制链接]
XhyEax 发表于 2016-8-24 09:47
本帖最后由 XhyEax 于 2019-2-28 17:30 编辑

关于0x01010540错误

0x01010540是因为SDK版本太高,反编译工具识别不出来,需要替换成0x0101048f
具体方法见后文

关于0x01010543错误

如果只有

Exception in thread "main" b.a.a.e: resource spec: 0x01010543

没有UndefinedResObject
则更换apktool后再试
apktool可以在爱盘下载

实在要修复的话,往下看:(都是修改resources.arsc

修复UndefinedResObject错误

报错信息:

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

解决方法

aapt dump查看apk的资源信息,并保存到文件

aapt d --values resources test.apk >1.txt

找到DataType数据类型不正确的值(搜索attribute即可)对应的描述符(一般是把7f改成00,0x00000006
文件中没有识别出正确的数据类型,显示的是(attribute) 0x00000006
使用010Editor,Ctrl+F,字节形式搜索对应描述的16进制数的小端字节(就是00000006写成06000000
然后把它前面的字节0x02修改为0x03,保存后替换进apk即可

修复resource spec: 0x01010543

报错信息:

Exception in thread "main" b.a.a.e: resource spec: 0x01010543

解决方法

使用010Editor,Ctrl+F,字节形式搜索报错的16进制数的小端字节(就是12345678写成78564312
这里我们搜索43050101,然后把它前面的字节0x02修改为0x03,保存后替换进apk即可

修复resource spec: 0x01010540

0x01010540是因为SDK版本太高,反编译工具识别不出来,需要替换成0x0101048f

解决方法

使用010Editor,Ctrl+F,字节形式搜索报错的16进制数的小端字节(就是40050101换成8f040101

参考

记录Android Killer反编译时遇到的异常
保护Android resources文件不被反编译原理分析

免费评分

参与人数 1热心值 +1 收起 理由
qtfreet00 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lyrong 发表于 2018-8-11 11:59
您好 最近手上有一款安卓APP 想逆向分析
但是对于您的解释 有点不解

错误解决方法
1.使用010Editor 16进制搜索报错的 0x16进制数字 的倒序
例如:报错位置是0x010104e2 那么搜索 e4040101

为什么0x010104e2倒序会变成e4040101
另外,我的反编译报错信息是:
>Exception in thread "main" java.lang.reflect.InvocationTargetException
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:498)
>        at b.a.d.b.a.a(Unknown Source)
>        at b.a.d.b.a.b(Unknown Source)
>        at b.a.d.b.a.a(Unknown Source)
>        at b.a.d.a.a(Unknown Source)
>        at b.a.d.a.a(Unknown Source)
>        at b.a.d.a.a(Unknown Source)
>        at b.a.a.a(Unknown Source)
>        at b.a.E.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)
>Caused by: b.a.D: Invalid chunk type: expected=0x00000002, got=0x0000aa4c
>        at b.a.d.b.a.b(Unknown Source)
>        at b.a.d.b.a.nextChunkCheckType(Unknown Source)
>        ... 16 more

希望您能看看,针对我的这种出错,如何修复使得能反编译呢?谢谢呢!
 楼主| XhyEax 发表于 2018-8-15 16:30
lyrong 发表于 2018-8-11 11:59
您好 最近手上有一款安卓APP 想逆向分析
但是对于您的解释 有点不解

aapt dump查看apk的资源aapt d --values resources test.apk
找到0x010104e2 发现资源描述是010104e4

免费评分

参与人数 1吾爱币 +1 收起 理由
lyrong + 1 热心回复!

查看全部评分

 楼主| XhyEax 发表于 2016-8-24 09:51
至于为什么要修改为03 ,博文里面有说。我就再转一次。修改数据类型 让他解析正常

QQ截图20160824094943.png


也可以参考下这篇帖子:http://bbs.pediy.com/showthread.php?p=1415499


Gordon0918 发表于 2016-8-24 10:11
多谢楼主分享
china-loong 发表于 2016-8-24 12:00
不大懂你在说啥子  
21882068 发表于 2016-11-16 19:53
学习一下,努力
DCCCc 发表于 2017-2-22 09:07
QQ截图20170222090643.jpg 您好 请问这样该怎么解决?
小灰灰~ 发表于 2017-12-13 16:18
表示操作失败了,修改后还是无法反编译,我会搜索出来2个,
 楼主| XhyEax 发表于 2018-1-7 20:10
小灰灰~ 发表于 2017-12-13 16:18
表示操作失败了,修改后还是无法反编译,我会搜索出来2个,

那就换过一个框架资源apk试试
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:22

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表