Dekompilacja .dex -> .jar -> class -> java i ponowna kompilacja

Dekompilacja .dex -> .jar -> class -> java i ponowna kompilacja
XO
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 6 lat
  • Postów:58
0

Witam
Zdekompilowałem APK za pomocą apktool uzyskując wszystkie pliki aplikacji. Plik classes.dex zdekompilowałem za pomocą dex2jar. Uzyskałem plik .jar, który otworzyłem JD GUI i uzyskałem kod w postaci .class. W JDGUI zapisałem to wszystko jako pliki java i gotowe - mogę wszystko ładnie edytować.

Problem jest taki, że nie wiem jak odwrócić ten cały proces. W jaki sposób mam to z powrotem przerobić na .class i na koniec na .dex, żebym mógł podmienić stary plik .dex na nowy?

Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Zrób z tego projekt w jakimś Android Studio i skompiluj. Ale licz sie z tym że może się to nie bardzo udać bo dekompilacja często nie jest doskonała, a jeśli ktoś ten kod obsufkował to już w ogóle. Bezpieczniej często jest tego dexa przerobić na smali i modyfikować bajtkod a potem znów złożyć z tego dexa.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
XO
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 6 lat
  • Postów:58
0

Oj ręczne włożenie tego do Android Studio będzie raczej nie możliwe, bo nie jest to prosta aplikacja o trzech skryptach i pięciu obrazkach. Wziąłem sobie za zadanie przerobienie kilku rzeczy w aplikacji Facebook Messenger. Przerobiłem lekko kod tak jak mi się podoba, myślę że powinno działać, jednak jakoś trzeba to z powrotem wpakować w tego dexa.

Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

No to nie, to zapomnij o czymś takim. Jeśli w ogóle to myśle że jedyna sensowna opcja to zabawa w modyfikowanie Smali i pakowanie dex->smali i smali->dex
Ewentualnie zobacz czy ten kawałek który masz da się skompilować w oderwaniu od reszty i dostać z niego smali ;)


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom
XO
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 6 lat
  • Postów:58
0

Wypakowałem ten .dex na pliki .smali i z powrotem zrobiłem z tego .dex. Po kompilacji aplikacja działa.

Teraz tylko jak mam z mojego .java zrobić plik .smali ? Próbowałem różnych magicznych programików z krańca internetu, ale niezbyt to działa.

Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Ale po co kombinować? Skompiluj po prostu ten kod w Android Studio, dostaniesz z tego dexa i z tego dexa wyciągasz sobie smali :) Ewentualnie dla uproszczenia jest plugin to Android Studio -> https://github.com/ollide/intellij-java2smali


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.