用户是否能够将我的应用程序的apk文件转换回实际代码? 如果他们这样做 - 有什么办法可以阻止这种情况吗?
答案 0 :(得分:78)
首先,apk file只是一个修改后的jar文件。所以真正的问题是他们可以反编译里面的dex文件。答案是那样的。已有反汇编程序,例如dedexer和smali。你可以期望这些只会变得更好,理论上最终应该可以反编译为实际的Java源代码(至少有时候)。请参阅上一个问题decompiling DEX into Java sourcecode。
你应该记住的是混淆永远不会起作用。选择一个好的许可证,并尽力通过法律强制执行。不要用不可靠的技术措施浪费时间。
答案 1 :(得分:32)
ApkTool查看APK文件中的资源
apktool.bat d sampleApp.apk
使用dex2jar
dex2jar sampleApp.apk
使用JD-GUI反编译.jar
答案 2 :(得分:1)
我还可以补充一点,现在可以在线反编译Android应用程序,无需软件!
以下是2个选项:
答案 3 :(得分:1)
下载此jadx工具https://sourceforge.net/projects/jadx/files/
解压缩它,而不是在lib文件夹中运行jadx-gui-0.6.1.jar文件现在浏览你的apk文件。 它已经完成了。自动apk将通过按保存按钮反编译并保存。 希望它能为你效劳。 感谢
答案 4 :(得分:0)
有时,在使用dex2jar
/ apktool
时,您会遇到损坏的代码,最明显的是在循环中。要避免这种情况,请使用jadx,将dalvik字节码反编译为java源代码,而不首先.jar
创建.class
/ dex2jar
文件(我认为apktool使用dex2jar) 。它也是开源和积极的开发。它甚至还有一个GUI,用于GUI狂热分子。试试吧!
答案 5 :(得分:0)
用户是否能够将我的应用程序的apk文件转换回实际代码?
是。
人们可以使用各种工具来完成
FDex2
转储dex
文件
dex2jar
转换为jar
jadx
转换为java
源代码如果这样做-有什么办法可以防止这种情况?
是的。几种(可以组合使用)的方法(一定程度上)可以防止这种情况:
更多细节可以参考我的中文教程:安卓应用的安全和破解
答案 6 :(得分:0)
是的,可以使用大量软件来反编译.apk文件。
最近,我在我的网站上编制了47 best APK decompilers的最终列表。我将它们分为4个不同的部分。
我希望这个收藏对您有所帮助。