猿问

是否可以反编译Android .apk文件?

是否可以反编译Android .apk文件?

用户是否能够将我的应用程序的apk文件转换回实际代码?如果他们这样做 - 有什么办法可以阻止这种情况吗?



明月笑刀无情
浏览 332回答 3
3回答

函数式编程

首先,apk文件只是一个修改过的jar文件。所以真正的问题是他们可以反编译里面的dex文件。答案是那样的。已有反汇编程序,如dedexer和smali。你可以期望这些只会变得更好,理论上最终应该可以反编译为实际的Java源代码(至少有时候)。请参阅上一个将DEX反编译为Java源代码的问题。你应该记住的是混淆永远不会起作用。选择一个好的许可证,并尽力通过法律强制执行。不要用不可靠的技术措施浪费时间。

ibeautiful

用户是否能够将我的应用程序的apk文件转换回实际代码?是。人们可以使用各种工具来:分析:你的apk解码/破解你的apk然后dex2jar用来转换为jar然后使用jadx转换为java源代码用FDex2倾倒了dex文件如果他们这样做 - 有什么办法可以阻止这种情况吗?是。几种(可以组合)防止(某种程度)这种方式:低级别:代码混淆使用Android ProGuard高级别:使用android强化场景如Tecent Legu= 腾讯乐固qihoo 360= 360加固宝更多细节可以参考我的中文教程:安卓应用的安全和破解

繁花不似锦

可以对APK文件进行反编译。但如果代码被混淆,可能很难理解代码。ApkTool查看APK文件中的资源提取AndroidManifest.xml和res文件夹中的所有内容(布局xml文件,图像,webview上使用的htmls等)命令: apktool.bat d sampleApp.apk注意:您可以使用7-zip等zip实用程序来实现此目的。但是,它还提取所有.class文件的.smali文件。使用dex2jar从.apk文件生成.jar文件,我们需要JD-GUI来查看来自.jar的源代码。命令: dex2jar sampleApp.apk使用JD-GUI反编译.jar反编译.class文件(在android应用程序的情况下是混淆的,但在其他.jar文件的情况下获得可读的原始代码)。也就是说,我们从应用程序中获取.java。
随时随地看视频慕课网APP

相关分类

Android
我要回答