我最近删除了我的硬盘并丢失了几周的工作。尽管经常提交,我还没有将我的变化推向上游一段时间。
我已经从我的手机中提取了我的应用APK,我一直在尝试恢复其代码。我认为它是可能的,因为它是一个测试版本(因此,没有混淆或类似的东西)。
我能够实现的最好结果是使用dex2jar,但我仍然有很多这样的代码:
int i = context.getResources().getDimensionPixelSize(2131165184);
int j = context.getResources().getDimensionPixelSize(2131165184);
screenNameParams.addRule(10);
screenNameParams.addRule(1, 2131034138);
screenNameParams.setMargins(paramInt, 0, 0, 0);
甚至:
long l1 = paramLong1;
long l2 = paramLong2;
long l3 = paramLong3;
int i = paramInt;
List localList = localClient.getBetween(l1, l2, l3, i);
我对android-apktool的体验更糟糕,因为我甚至无法从中获取一些Java代码......这是预期的,因为它适用于smali调试。
我已经在这里阅读了所有相关的问题,我看到有人说“除非你是开发人员,否则很难获得apk的实际源代码”,所以有希望因为我是显影剂。
最后,我的问题是:是否有可能完全恢复APK的原始代码,因为它是来自eclipse的测试版本?
答案 0 :(得分:3)
简而言之,没有。看起来您的代码是通过ProGuard运行并进行模糊处理(正常情况下),因此您将无法获得原始代码。在你关于成为开发人员的报价中,那些人基本上都在说“除非你已经拥有它,否则很难获得APK的来源,因为你是开发人员”但在这种情况下,即使你是开发人员,你也是失去了源头。
我能想到的唯一可以尝试的最后一个选项是找到一个硬盘恢复程序并尽快使用它,看看你是否可以恢复你的源。也许你还没有覆盖这些行业。