2011-08-22 7 views

Odpowiedz

3

Spróbuj odtworzyć własną aplikację. Zobacz, co możesz przeczytać w kodzie.

Użyj następujących pytań:

decompiling DEX into Java sourcecode

http://www.taranfx.com/decompile-reverse-engineer-android-apk

+1

Dziękuję za to. Zdemontowałem dwie różne aplikacje, jedną, którą zaciemniłem i drugą, której nie zaciemniłem. Kod z obu aplikacji (nieskryty i zaciemniony) wygląda tak samo. Zmieniono nazwy zmiennych, ale nazwy klas i inne nazwy pozostają niezmienione. Czy tak działa zaciemnianie? Jak to możliwe, że projekt, którego nie rozwikłałem, zmienia się w nazwach zmiennych? – dell116

+0

To zależy od tego, jak skonfigurować program do pracy ... ale nie mam z tym większego doświadczenia! –

11

Poszukaj dump.txt, mapping.txt, seeds.txt i usage.txt. Prawdopodobnie będą znajdować się w folderze proguard w katalogu projektu. Są one tworzone, gdy ProGuard jest uruchomiony na twoim kodzie.

Są one wypełnione informacją o zaciemnieniu, szczególnie użyteczne jest mapping.txt, które pokazuje, do czego ProGuard zmienił twoje różne imiona członków.

+1

Mam folder ProGuard w katalogu projektu, ale jest w nim zilch ... nic tam .... mam założyć, że ProGuard nie zaciemnił poprawnie mojego kodu? Czy te pliki mogą znajdować się w jakimkolwiek innym katalogu? – dell116

+0

Czy istnieje jakiś folder 'proguard' w twoim projekcie? Jeśli nie, powiedziałbym, że prawdopodobnie nie działał poprawnie. –

+0

Tak, folder ..proguard jest tam ... ale nie ma zawartości ... Nie mogłem znaleźć żadnego z plików, o których wspomniałeś w dowolnym miejscu na moim dysku twardym ... więc coś musiało się zepsuć, gdy przebiegłem przez proguard .... uht oh .... – dell116

0

DISCALIMER: Nie jestem właścicielem decompileandroid.com i nie jestem poświęcić go promować. Jestem develper, który jest zadowolony z tej usługi.

W rzeczywistości jest łatwiejszy sposób niż uzyskanie kilku różnych narzędzi i przekazanie wyjścia jednego z nich do drugiego (to oczywiście daje lepszą kontrolę nad tym, co się dzieje). Można korzystać z usługi

decompileandroid.com

Zasadniczo przesyłanie i apk plik i robi wszystkie te kroki dla Ciebie. Następnie można pobrać plik .zip, który zawiera zdekompilowane źródła.

Możesz najpierw załadować swój wbudowany tryb debugowania .apk, a następnie załadować wbudowany tryb .apk. Po prostu upewnij się, że flaga minifyEnabled jest ustawiona na true w pliku build.gradle dla wersji Release.

Różnica była dość oczywista w moim przypadku - większość moich zajęć nosiła nazwę a, b, c, itp. W zminimalizowanej kompilacji.

+0

Yikes! Mam na myśli, jestem pewien, że już wiesz, jakie znaczenie ma przesłanie debuggable i nieoczyszczonej kompilacji do serwera WWW. W końcu mówimy o zaciemnianiu, więc osoba trzecia nie może odczytać kodu. Chociaż ta strona wygląda dobrze na powierzchni, nie jestem pewien, czy mógłbym jej zaufać. – dell116

+0

Tak, oczywiście w większości sytuacji nie chcesz przesyłać pakietów APK na serwer zdalny. Zwłaszcza w przypadku projektów komercyjnych. Dałem to jako łatwiejszą alternatywę. W moim przypadku był to projekt testowy, więc nie miałem się czym przejmować. Oczywiście zawsze można przesłać tylko zaciemnioną wersję, jeśli nie byłoby to również problemem. W takim przypadku można by tylko zobaczyć, jak dobrze działa zaciemnianie. –

Powiązane problemy