Пытался перепроектировать мое приложение, но получил странное дерево файлов - PullRequest
1 голос
/ 22 октября 2011

Я потерял код из всех приложений, которые я создал в прошлом году (гром на моем жестком диске, нет резервной копии для любого приложения). Поскольку они были довольно простыми приложениями, я поместил их в процесс обратного проектирования. Я уже делал это десятки раз в прошлом, каждый раз у меня не было никаких проблем (если мы не считаем часы работы, чтобы собрать все файлы в один проект). Я уже закончил 3 приложения, которые я потерял во время выгорания жесткого диска. Они были почти безупречны, но я застрял с этим.

Давайте рассмотрим подробнее. Процесс обратного инжиниринга прошел хорошо. Мне удалось получить код XML из закодированных файлов XML, извлеченных из APK. Мне также удалось успешно декомпилировать код Java из classes.dex. Я получил все файлы для чтения, и я могу открыть / просмотреть затем через текстовый редактор.

НО я получил странную структуру файла и странные имена файлов . Файлы проекта были расположены внутри обычного пути src/com/mycompanyname/appname. После процесса RI некоторые файлов остались в основном пути (R.java, сторонние рекламные файлы и некоторые другие), в то время как все остальные файлы были переименованы в файловую структуру как это:

a.java
b.java
c.java
...
z.java

Все файлы, которые я написал, были переименованы и получили эти странные имена, тогда как все сторонние файлы остались нетронутыми.

Q: Может кто-нибудь сказать мне, что может быть причиной этого?

Q: Eclipse каким-то образом запутывал код перед его компиляцией в APK? Так выглядит обфусцированный APK после прохождения ИК-процесса?

Я действительно надеюсь, что кто-нибудь сможет мне помочь, так как мне все еще предстоит реконструировать более 10 других приложений. Это

Ответы [ 2 ]

7 голосов
/ 22 октября 2011

Android SDK включает Proguard, чтобы запутать ваш код. Proguard включается по умолчанию при создании проекта Android в Eclipse с использованием ADT. Вы можете отключить его, однако. Подробнее об этом здесь http://developer.android.com/guide/developing/tools/proguard.html

Итак ...

В: Может ли кто-нибудь сказать мне, что может быть причиной этого?

Это Proguard делает свою работу.

Q: Eclipse каким-то образом запутывал код перед компиляцией в APK? Вот так выглядит обфусцированный APK после прохождения ИК процесс?

Это не Eclipse само по себе, это Proguard, который вызывается в процессе сборки. И да, вот так это выглядит.

0 голосов
/ 22 октября 2011

Просто используйте JAD.правильно его декомпилировать.

...