反编译 错误提示解决方法
来源:互联网 发布:知乎 app 编辑:程序博客网 时间:2024/05/16 09:57
执行完上面语句后,如果没有出现错误提示,则成功反编译了,找到foldername目录,打开smali目录即为反编译出来的字节。
但我在执行上面语句后,却出现了错误提示:
- brut.androlib.err.UndefinedResObject: resource spec:
- 0x010300dd
根据提示描述是找不到资源文件,应该是要反编译的APK文件用到了系统的一些资源。
解决办法:
从手机中导出framework-res.apk文件,该文件是/system/framework下面,把这个文件拷到跟apkTool同一个目录下,执行以下语句把资源文件加进来:
apktool if freagmework-res.apk
执行完以后就可以把framework-res.apk导进来。此时再执行apktool d即可以正常反编译了。
由于反编译出来的是字节码,所以想修改软件逻辑就需要知道一点字节码的知识,可以看这里:寄存器、类型、函数和成员、操作符号。
修改完代码逻辑后,就要重新打包成APK文件了:
apktool b foldername
其中foldername即放反编译结果的目录,执行成功后会在该目录的dist目录下有一个重新打包后的apk文件。
当然我在重新打包时出现了错误提示:
- Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathN
- otExist: apktool.yml
从字面上理解就是找不到apktool.yml这个文件,如果在执行apktool d后能正常反编译,在目录中是会存在apktool.yml文件的,我之所以出现这个错误,是因为在反编译时出现了上面提到的“资源找不到”错误后,我看到反编译出了字节码,就没有理会它导致的。好啦,到此就成功打包了一个新的apk文件了,但还不要高兴得太早,该文件是一个没有签名的apk,有了解过android的应该都知道,没有签名是无法安装的。那就要重新为该文件签一下名了。把你的签名文件和apk拷到同一个目录下,然后执行以后语句即可:
0 0
- 反编译 错误提示解决方法
- selenium错误提示解决方法
- APK 反编译过程中的几个错误解决方法
- 打开Word2007提示错误解决方法
- Tomcat部署提示错误解决方法
- Android 错误提示及解决方法
- 错误提示C4996的解决方法
- Badboy提示脚本错误解决方法
- pod setup 提示错误解决方法
- apktool 反编译打包编译各种错误类型和解决方法总结
- 硬盘的常见错误提示及解决方法
- 邮件返回错误提示与解决方法
- asp 提示 request 错误的解决方法
- SQLyog登陆MYSQL提示1130错误解决方法
- gcc 错误提示及解决方法汇总
- Eclipse启动时错误提示及解决方法
- LoadRunner错误提示及解决方法总结
- 编译内核,提示内核过大错误解决方法
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Another kind of Fibonacci
- java 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
- iOS GIF 格式动画 图片显示
- Coderforces 354Div2
- 反编译 错误提示解决方法
- Shell替换:Shell变量替换,命令替换,转义字符
- iOS Create an CGImageSource
- MongoDB Index using when use sorting in the stress testing.
- Qt:文件系统浏览实例(QDir、QFileInfoList、QListWidgetItem)
- IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)
- Errors occurred during the build.
- 主页添加网络状态
- React基础语法学习