decompilare complete aplicații Android în cod java, boom-ul

Uneori, când nu înțeleg dezvoltarea comportamentului de a pune în aplicare o funcție specifică, care este văzută într-o altă aplicație, sau pur și simplu pentru a explora cererea partidă de vânătoare, pentru aceasta există decompila aplicații.
În acest articol vă voi arăta cum să decompila aplicații din Android * fișier .apk în codul sursă.

decompilare complete aplicații Android în cod java, boom-ul

Și astfel, vom avea nevoie de:
dex2jar
java Decompiler
ApkTool

Toate aplicațiile sunt gratuite, multiplatformă și deschis (cu excepția Java Decompiler, a închis sursa).
Acestea pot fi descărcate de pe site-ul oficial.

Instrucțiunea va fi de cheltuieli pentru sistemul de operare Windows.

  1. Descărcarea dex2jar-0.0.7.10-SNAPSHOT.zip (numărul versiunii poate varia) și extrage toate fișierele în dosarul dorit, de exemplu, D: \ Decompile.
  2. Descărcarea Java Decompiler. Am folosit JD-GUI pentru ușor și extract în același folder, unde și dex2jar.
  3. Descărcarea apktool1.4.1.tar.bz2 și apktool-install-ferestre-R04-brut1.tar.bz2 și extract deja în dosarul de sistem. În mod implicit, C: \ Windows.
  4. Ia fișierul apk dreapta și a pus într-un dosar cu dex2jar și Java Decompiler. Exemplele sunt date decompila Calculator parte a standardului Android. (Este necesar să se extragă din arhivă).
  5. Deschideți Command Prompt (procesorul de comandă Windows) în dosarul de mai sus. (De exemplu, deschiderea fișierului apk C: \ Windows \ System32 \ cmd.exe).
  6. Introduceți comanda dex2jar Calculator.apk și, dacă totul merge bine, în același folder ca și fișierul va Calculator.apk.dex2jar.jar
  7. Rulați jd-gui și deschide fișierul rezultat în etapa anterioară.
  8. Selectați File-Save element de meniu Toate sursele și de a salva.
  9. Se extrage arhiva zip rezultat.
  10. Puneți folderul rezultat în src dosar (necesitatea de a pre-crea) (Pentru a primi o astfel de structură este de aproximativ D: \ Decompileze \ Calculator \ src \ com \ android).
  11. Din nou, la linia de comandă, introduceți comanda apktool d Calculator.apk Calculator. în cazul în care pachetul Calculator.apk-name, Calculator-dosar pentru decompiling
  12. Dacă totul este bine, apoi, în directorul specificat va fi sursele în două formate (Java și smali), resursele și fișierul AndroidManifest.xml, apktool.yml
  13. Totul este gata, sursele obținute. Adevărat, după ce decompilare cod este de a spune, greșeli, am observat până acum numai că, în loc de adevărate și false sunt 1 și 0, respectiv.

P.S. Dacă doriți să importați codul din Eclipse IDE (File-Import), apoi pune soderzhimoeetogo arhiva într-un dosar cu proiectul după schimbarea la a treia linie Denumirea proiectului PROIECT NUME numele dorit, în exemplul meu «Calculator» în fișierul .project
P.P.S. Dacă fișierul apk lipsește atunci când compilarea prin ofuscarea (ProGuard), atunci codul este dificil de citit.

citare
10.Pomeschaem rezultat dosarul src în dosarul (este necesară pre-crea) (Pentru a primi o astfel de structură este de aproximativ D: DecompileCalculatorsrccomandroid). 11.Opyat linie aceeași comandă introduceți comanda apktool d Calculator.apk Calculator, in care denumirea Calculator.apk-pachet, Calculator -papka pentru dekompilyatsii12.Esli totul este bine, apoi, în directorul specificat va fi sursele în două formate (Java și smali), resursele și fișierul AndroidManifest.xml, apktool.yml

Acum am creat în mine «Android» dosar două dosare, unul «Calculator.apk.dex2jar.srs» cu foldere și fișiere «.java» și un «Calculator» cu foldere și fișiere (.smali, AndroidManifest.xml, apktool .yml). Apoi am descărcat și arhiva raspakaval «Eclipse.zip», a schimbat într-un șir de caractere «PROIECT NUME» NUME PROIECT la numele dorit.

Ai scris că este necesar să se creeze una, după cum urmează:
citare
.S. Dacă doriți să importați codul din Eclipse IDE (File-Import), apoi pune conținutul arhivei (Eclipse.zip) într-un dosar de proiect,

După cum am înțeles în dosarul de proiect în «Eclipse»?
Cum apoi face importul în ECLIPSE și specifică ce fel de dosar în Eclipse, pentru că în diriktorii «Android» Am două?
Dacă este posibil, vă rugăm să scrie pentru detalii, dacă puteți în imaginile de aici și blog-ul său de internet. Eu voi fi foarte recunoscător pentru tine, acesta este un subiect foarte important pentru începători.

Este un conținut simplu, delicioase din cele două dosare într-un singur

Vrei sa spui ca aceasta:

Sau fuziona conținutul celor două dosare în același dosar (SRC)?

Dosarul de destinație ar trebui să fie dosarul res, src, și fișierul AndroidManifest.xml
Ei bine, încă mai pot smali dosar (acest lucru este codul sursă într-un alt format, care poate fi
corecta și compila)

Vă mulțumesc, acum va testa ...

BOOMik te rog spune-mi. Nu înțeleg că semnul în arhiva zip în cazul în care unele treia linie. aceste fișiere nu vosche otkryvayutsya. mesteca pliz într-adevăr nevoie ... și chiar prin această metodă, puteți denumi și versiune a pachetului și apoi modificați pachetul

În cazul în care am scăzut despre a treia linie? Ce fișiere nu pot fi deschise?
Pro versiune și numele pachetului nu poate răspunde, cred că, în principiu, este posibil.

și poate fi patru-șase punct cât mai multe detalii?
cum să deschidă .apk de la linia de comandă? și în cazul în care pentru a scrie dex2jar Calculator.apk? Vă rugăm să explicați, și faptul că ceva nu merge în conformitate cu instrucțiunile dumneavoastră

Linia de comandă pentru a deschide suficient doar pentru a prinde dosarul Klavin Shift și în spațiul clic dreapta și selectați „Open Command Window“
În fereastra de tip și a deschis comenzile de la punctul 6

De ce invoca linia de comandă, numai să complice calea lui? Prin * .apk click dreapta> Deschidere cu> dex2jar tot nu există nici o problemă.