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