classes.dex文件不包含我的java类

时间:2016-10-10 17:54:51

标签: java android jar reverse-engineering decompiling

enter image description here

我在android studio中开发了一个应用程序并在我的手机中测试它。我已经格式化了我的电脑,忘记将我的项目保存到某个地方。现在我想恢复我的源代码。我从手机上获取了APK文件(使用adb和其他一些工具)。

我正在使用dex2jar并反编译我的classes.dex文件,但它没有显示我自己的Java类。是否有可能让他们回来?

2 个答案:

答案 0 :(得分:1)

您可以轻松地将其反编译为以下精彩教程:

https://futurestud.io/tutorials/how-to-decompile-an-android-app-apk

以下4个简单步骤:

1-解压缩你的apk就像你解压缩任何zip文件一样

2-find classes.dex files

使用dexToJar工具

将它们转换为jar文件

4-使用JD-Gui应用程序(windows / ubuntu / mac的availbale)打开jar文件

答案 1 :(得分:0)

这通常由某些混淆器完成,例如Proguard。这意味着,除了别的以外,类的类名将被更改为无意义的名称(例如A / B / C),名称在java类的完全限定路径中仍然是不同的,例如,你可能有多个"" A"不同包中的类,但除此之外,您将多次使用这些类名。在大多数情况下,它不会损害程序的功能,但会使逆向工程变得更加困难。

如果这是您的应用并且您可以重建它,则可以禁用ProGuard或其功能的子集,否则您需要自行对其进行反向工程。