使用我自己安装的Android应用程序完全反汇编APK文件[重复]
Posted
技术标签:
【中文标题】使用我自己安装的Android应用程序完全反汇编APK文件[重复]【英文标题】:Completely disassemble APK files using my own installed Android application [duplicate] 【发布时间】:2015-06-26 10:23:39 【问题描述】:我已经在网上搜索了几天,但我没有找到任何已知的方法/工具/库来将 APK 文件从我的应用程序中反汇编为源代码。
我的目标是仅通过使用我的应用程序的编程功能(或可用的 android 集成功能)而不是外部第三方解决方案从 APK 文件中获取可读的 java 文件。
解决方案必须完全实现为将直接安装在 android 设备上的应用程序
dexdump已经试过了,但是没有输出java文件。
这一步对我目前的教育项目至关重要,我们将不胜感激。 提前谢谢你,对不起我的英语不好。
【问题讨论】:
向我们提供更具体的问题和您收到的错误消息,以便我们为您提供帮助。 也许你想要(我猜)是做逆向工程?? geeknizer.com/decompile-android-apk-to-java 我目前处于开发初期..问题是我看不到达到目的的起点 正如我上面提到的,该解决方案必须完全实现为将直接安装在android设备上的应用程序 那是不可能的。您的应用无法访问其他应用资源。 【参考方案1】:要提供一些关于图书馆的小建议,您应该查看(并了解):
dex2jar (https://github.com/pxb1988/dex2jar) dexlib2 (https://github.com/JesusFreke/smali) smali / baksmali (https://code.google.com/p/smali/) cfr (http://www.benf.org/other/cfr/)您应该了解 Java 代码是如何编译的,以及编译期间会发生什么。还有字节码是如何压缩的,你可以做些什么来反编译它。
使用其中一些库来反编译现有应用程序的已知应用程序是:Show Java。
编辑:一些关于 proguard 的知识也可能很有趣!使用 proguard 的应用程序仍然可以反编译,但生成的代码会更难阅读,现在很多 Android 应用程序都使用 proguard。
【讨论】:
感谢您的回答。我更喜欢耗时较少的方法。是否可以在我的应用程序中直接使用这些库,还是我必须理解它们然后调整它们? 您当然可以只使用它们,但需要一点理解才能这样做。所以你不需要完全知道一切;) 我已经尝试使用 Android Studio 导入 dex2jar 但没有成功,关于如何执行此操作有任何进一步的帮助或指导吗?谢谢以上是关于使用我自己安装的Android应用程序完全反汇编APK文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 完整代码示例 ) ★★★
Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 反汇编二进制机器码 | 打印反汇编数据 )
Android Proguard安全加固教你如何让自己的应用程序或SDK更难被反编译--library打包成jar并且混淆