关于0x01010540错误
0x01010540是因为SDK版本太高,反编译工具识别不出来,需要替换成0x0101048f
具体方法见后文
关于0x01010543错误
如果只有
1 | Exception in thread "main" b.a.a.e: resource spec: 0x01010543 |
没有UndefinedResObject
则更换apktool后再试apktool可以在爱盘下载
实在要修复的话,往下看:(都是修改resources.arsc)
修复UndefinedResObject错误
报错信息:
1 | Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 0x7f000006 |
解决方法
aapt dump查看apk的资源信息,并保存到文件
1 | 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
报错信息:
1 | 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)