Восстановление кода APK - PullRequest
       3

Восстановление кода APK

4 голосов
/ 22 сентября 2011

Я недавно стер свой жесткий диск и потерял несколько недель работы. Несмотря на частые коммиты, я некоторое время не продвигал свои изменения вверх по течению.

Я извлек 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.

Я прочитал все связанные с этим вопросы здесь, в SO, и я видел людей, которые говорили, что «трудно получить реальный исходный код для apk, если вы не разработчик», поэтому есть надежда, так как я разработчик.

Наконец, мой вопрос: Можно ли полностью восстановить исходный код APK, учитывая, что это была тестовая сборка из eclipse?

1 Ответ

3 голосов
/ 22 сентября 2011

Короче, нет.Похоже, ваш код был запущен через ProGuard и запутан (как обычно), поэтому вы не сможете получить свой оригинальный код.В вашей цитате о том, чтобы быть разработчиком, эти люди в основном говорят, что «трудно получить источник APK, если у вас его нет, потому что вы разработчик», но в этом случае, даже если вы разработчик, выпотерял источник.

Единственный последний вариант, который вы можете попробовать - найти программу восстановления жесткого диска и использовать ее как можно скорее и посмотреть, сможете ли вы восстановить исходный код.Возможно, вы еще не перезаписали эти сектора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...