Cum de a hack o aplicație plătită pe Android

Cum de a hack o aplicație plătită pe Android

Ne dăm echipamentul

Pentru a efectua acțiunile descrise în acest articol, veți avea nevoie de o serie de instrumente, iar instrumentul principal este Linux. Da, multe dintre programele menționate mai jos pot funcționa în Windows, dar în orice operațiuni legate de Android și aplicațiile sale, este mai bine să nu se bazeze pe creierul lui Billy. În Linux, aproape totul este mai simplu, linia de comandă de aici este de multe ori mai convenabilă (va fi necesară pentru noi), iar unele instrumente pur și simplu nu sunt disponibile pentru alte OS-uri.







După instalarea sistemului Linux în mașina virtuală sau al doilea sistem, instalăm imediat instrumente de dezvoltare pentru Java și o mașină virtuală. În Ubuntu, puteți face acest lucru cu o singură comandă:

Da, APK este o arhivă ZIP obișnuită, dar are totuși o structură clară:

De asemenea, pachetul poate conține și alte directoare, de exemplu, active (orice fișiere incluse de dezvoltator, în acest caz, fonturi și o bază de date) și lib (biblioteci native create utilizând Android NDK).

Studiem codul

Inutil să spun că dezarhivarea unui pachet nu este suficientă. Pentru a înțelege funcționarea aplicației, trebuie să decompilați fișierul classes.dex.

Pentru aceasta folosim jadx-gui. Run, selectați asap.apk și a vedea pe stânga o listă de pachete Java, care sunt incluse în fișierul APK. În acest caz, pachetele android.support - oficial biblioteca Google care implementează suport pentru caracteristici în noile versiuni de Android mai vechi (de exemplu, pentru a obține material design în Android 4.1), com.google.android.gms - Google Mobile Services, com.nispok.snakbar - implementarea elementului GUI snakbar, precum și a câtorva altele.

Codul principal al aplicației este conținut în pachetul com.citc.asap. Acesta este numele pe care aplicația în sine îl poartă în Google Store și pe dispozitiv. Deschidem și vedem mai mult de o duzină de directoare și o mulțime de cod sursă Java. Sarcina noastră este să facem cererea "plătită" fără să plătim pentru ea. Dar cum pot găsi dosarul pe care vreau să îl pun în aplicare? Cel mai probabil, va conține cuvântul de facturare din nume. Trecem prin surse în căutarea fișierului de care avem nevoie și rulam prin sursa BaseBillingFragment în fragmentele de subdirector (pachet):







Cum de a hack o aplicație plătită pe Android

Aceasta este o clasă Java foarte simplă, în care există o metodă interesantă:

Tot ceea ce face - întoarce doar valoarea domeniului mHasPrime, dar este interesant nu prin aceasta, ci prin propriul nume. Faptul este că versiunea plătită (sau, mai exact, plată) a ASAP este numită Prime, și este evident că metoda hasPrime este doar necesară pentru a verifica plata pentru aplicație. Pentru a confirma presupunerea, salvați sursa decompilată (File -> Save all) în director și încercați să găsiți apeluri către hasPrime ():

Cum de a hack o aplicație plătită pe Android

Se potrivește puțin, principalul "utilizator" arePrime () - această setareFragment, adică sursa care este responsabilă pentru formarea ferestrei de setări. Dat fiind faptul că versiunea Prime diferă de versiunea gratuită prin faptul că permite câmpuri de setări suplimentare, putem fi deja 90% siguri că metodaPrime () este metoda de care avem nevoie. Cel mai probabil, este cu ajutorul lui ca aplicația să afle dacă prima versiune este achiziționată. Rămâne doar să vă asigurați în sfârșit de acest lucru, schimbând codul metodei pe propriul dvs.

Efectuați modificări

Metoda hasPrime () este foarte simplă: returnează valoarea câmpului mHasPrime, care este de tip boolean. Este ușor să presupunem că, dacă aplicația este plătită, hasPrime () returnează true, altfel returnă false. Sarcina noastră este să vă asigurați că metoda întoarce întotdeauna adevărat, iar restul aplicației crede că aplicația a fost plătită și a deblocat opțiuni suplimentare în fereastra de setări.

Din păcate, nu puteți face acest lucru prin editarea directă a codului sursă: aplicația nu poate fi compilată înapoi. Cu toate acestea, nimeni nu interzice dezasamblarea codului, efectuarea de modificări și reasamblarea acestuia. Și aici avem nevoie de apktool. Dezasamblam APK-ul:

Hacking aplicația Android este foarte, foarte simplu. Da, nu susțin, am avut un exemplu convenabil și simplu de modificare, dar repet din nou - aceasta este o aplicație foarte populară, care a fost spusă pe majoritatea site-urilor dedicate Android.

[Total Voturi: 12 Media: 3.3 / 5]







Articole similare

Trimiteți-le prietenilor: