Cum să rulezi un fișier apk pe un computer. Cum să deschideți un fișier APK (Pachet Android) în Windows

14.10.2019 Panoul Straturi

Utilizatorii se confruntă cu faptul că niciun program de pe computerul lor nu deschide astfel de fișiere. Și acest lucru este absolut normal, deoarece un fișier cu extensia APK este un fișier de instalare pentru sistemul de operare Android și nu este posibil să rulați un astfel de fișier în Windows.

Dacă vă aflați într-o situație similară și nu știți cum să deschideți un fișier APK, atunci aveți două opțiuni:

  • Transferați fișierul APK pe dispozitivul dvs. Android și rulați fișierul acolo. În acest caz, vă veți putea familiariza cu aplicația conținută în acest fișier.
  • De asemenea, puteți extrage fișierul APK de pe computerul Windows. În acest caz, vă veți putea familiariza cu structura acestui fișier, precum și cu conținutul acestuia.,

Dacă doriți să rulați fișierul APK și să vă familiarizați cu aplicația care se află în el, atunci primul lucru pe care trebuie să-l faceți este să transferați acest fișier pe dispozitivul dvs. Android. Acest lucru se poate face în orice mod convenabil pentru dvs. De exemplu, vă puteți conecta dispozitivul Android la computer folosind un cablu USB sau o interfață fără fir Bluetooth.

Ulterior, pe un dispozitiv mobil cu sistemul de operare Android, trebuie să-l lansați. Pentru a face acest lucru, deschideți orice manager de fișiere, găsiți fișierul APK în memoria dispozitivului și deschideți-l. După aceasta, va apărea propoziția conținută în acest fișier. După instalare, pe desktopul Android va apărea o comandă rapidă către programul instalat. Cu acesta, puteți deschide programul din fișierul APK.

A doua metodă este să deschideți fișierul APK pe un computer Windows folosind un arhivator. Faptul este că fișierul APK este de fapt un simplu . Prin urmare, îl puteți deschide folosind orice arhivator. De exemplu, puteți utiliza popularul arhivator WinRAR în aceste scopuri.

Deschizând fișierul APK ca arhivă, puteți vedea în ce constă. În cele mai multe cazuri, acest fișier include următoarele foldere și fișiere:

    • MANIFEST.MF – un fișier cu informații despre alte fișiere care se află în acest fișier APK (sume de verificare a fișierelor);
    • CERT.RSA – certificatul cu care se semnează această cerere;
    • CERT.SF – dosar cu informații despre certificat și resurse;
  • lib – bibliotecile Linux pentru fiecare tip de procesor acceptat sunt stocate aici:

    • armeabi – pentru procesoare ARMv6 și mai vechi;
    • armeabi-v7a – pentru procesoare ARMv7 și mai noi;
    • x86 – pentru procesoare cu arhitectură x86;
    • mips – pentru procesoare MIPS;
  • res – resurse care nu se află în fișierul din resources.arsc (vezi mai jos).
  • Active – resurse pentru AssetManager.
  • AndroidManifest.xml – un fișier care descrie această aplicație. Aceasta stochează numele aplicației, numele pachetului, versiunea aplicației și alte informații care sunt relevante pentru acea aplicație.
  • classes.dex – cod aplicabil executabil în format DEX;
  • resources.arsc – resurse compilate necesare pentru ca aplicația să funcționeze;

Dacă aveți un dispozitiv Android, atunci ați auzit despre fișierele APK și v-ați întrebat care sunt acestea. Dacă intenționați să înțelegeți în detaliu cum funcționează smartphone-ul dvs. și să instalați aplicații nu numai din Magazinul Google Play, atunci trebuie să știți despre fișierele APK. Astăzi ne vom da seama ce este un fișier APK, cum să îl descărcați și să îl instalați pe un dispozitiv Android.

Ce este un fișier APK?

Cel mai probabil, știți că computerele Windows folosesc programe în format EXE. În mod similar, Android utilizează fișiere APK. APK este un format de fișier folosit pentru a instala software pe sistemul de operare Android.

De ce trebuie să instalez un fișier APK?

Aplicațiile Android nu se limitează la Magazinul Google Play. Dezvoltatorii terți își lansează propriile aplicații în fișiere APK care oferă funcții interesante. În plus, unele aplicații din Magazinul Google Play nu pot fi instalate în țara dvs. Cu toate acestea, puteți descărca fișierul APK și instala aplicația dorită ocolind Magazinul Google Play.

Dacă dispozitivul dvs. Android nu are acces la Magazinul Google Play, fișierele APK sunt singura opțiune pentru instalarea aplicațiilor.

Cu toate acestea, ar trebui să fiți atenți, deoarece fișierele APK de la terțe părți pot fi rău intenționate. Unele fișiere APK vă permit să descărcați aplicații piratate. Desigur, astfel de fișiere APK ar trebui evitate.

Cum se instalează un fișier APK de pe un computer

Există o mulțime de fișiere APK diferite pe Internet, dar, așa cum am spus mai devreme, unele dintre ele pot fi virale. Astfel, merită să alegeți site-uri de încredere în care veți avea încredere. Un astfel de site este APK Mirror. Acesta este un site în limba engleză care oferă fișiere APK securizate ale aplicațiilor populare, precum și recenzii și comentarii ale utilizatorilor. Printre site-urile rusești, merită remarcat w3bsit3-dns.com.

Odată ce ați găsit un site de încredere, puteți descărca fișierul APK al aplicației de care aveți nevoie. Înainte de a instala un fișier APK pe dispozitivul dvs. Android, trebuie să vă asigurați că este permisă instalarea aplicațiilor terță parte. Accesați Meniu > Setări > Securitate > și bifați caseta Surse necunoscute. În acest fel, puteți instala orice fișier APK, nu doar aplicații din Magazinul Google Play.

După ce ați descărcat fișierul APK pe computer, conectați telefonul smartphone la computer printr-un cablu USB. Când vă conectați pentru prima dată, opțiunea implicită este încărcarea USB, dar trebuie să selectați Transfer fișier. După aceasta, veți vedea folderul smartphone-ului dvs. în directorul rădăcină al computerului. Accesați My Computer - Folder cu numele smartphone-ului dvs. și copiați fișierul APK în orice folder de pe smartphone-ul Android. Principalul lucru este să vă amintiți unde copiați fișierul APK.

Acum puteți utiliza orice manager de fișiere de pe dispozitivul dvs. Android, cum ar fi ES Explorer, găsiți folderul în care ați copiat fișierul APK și apoi faceți clic pe Instalare. Felicitări! Ați instalat cu succes fișierul APK pe dispozitivul dvs. Android.

Cum se instalează un fișier APK de pe un dispozitiv Android

Nu este nevoie să aveți un computer pentru a instala un fișier APK pe dispozitivul Android. Puteți accesa orice browser de pe smartphone sau tabletă, puteți găsi fișierul APK și îl puteți descărca. De îndată ce fișierul APK este descărcat, va apărea un mesaj corespunzător în panoul de notificări. Deschideți folderul Descărcări și faceți clic pe fișierul APK. Aplicația va fi instalată pe dispozitivul dvs. Android.

Scriitor senior de tehnologie

Cineva v-a trimis un e-mail un fișier APK și nu știți cum să îl deschideți? Poate ați găsit un fișier APK pe computerul dvs. și vă întrebați ce este? Windows vă poate spune că nu îl puteți deschide sau, în cel mai rău caz, puteți întâlni un mesaj de eroare legat de fișierul APK.

Înainte de a putea deschide un fișier APK, trebuie să aflați ce fel de fișier este extensia fișierului APK.

Sfat: Erorile de asociere incorectă a fișierelor APK pot fi un simptom al altor probleme de fond în sistemul dvs. de operare Windows. Aceste intrări nevalide pot produce, de asemenea, simptome asociate, cum ar fi porniri lente ale Windows, înghețarea computerului și alte probleme de performanță a computerului. Prin urmare, este foarte recomandat să scanați registrul Windows pentru asocieri de fișiere nevalide și alte probleme legate de un registru fragmentat.

Răspuns:

Fișierele APK au fișiere executabile care sunt asociate în principal cu Active Tutor Project (4C Media Inc.).

Fișierele APK sunt, de asemenea, asociate cu Android Package (Open Handset Alliance), GameSpy Arcade Service (IGN Entertainment Inc.), Train Simulator Packaged Activity (Microsoft Corporation) și FileViewPro.

Alte tipuri de fișiere pot folosi, de asemenea, extensia de fișier APK. Dacă știți despre orice alte formate de fișiere care utilizează extensia de fișier APK, vă rugăm să ne contactați pentru a ne actualiza informațiile în consecință.

Cum să vă deschideți fișierul APK:

Cel mai rapid și simplu mod de a vă deschide fișierul APK este să faceți dublu clic pe el. În acest caz, sistemul Windows însuși va selecta programul necesar pentru a vă deschide fișierul APK.

În cazul în care fișierul dvs. APK nu se deschide, este foarte probabil să nu aveți aplicația necesară instalată pe computer pentru a vizualiza sau edita fișiere cu extensii APK.

Dacă computerul deschide un fișier APK, dar este în programul greșit, va trebui să modificați setările de asociere a fișierelor din registrul Windows. Cu alte cuvinte, Windows asociază extensiile de fișiere APK cu programul greșit.

Instalați produse opționale - FileViewPro (Solvusoft) | | | |

APK Extensii de poștă Internet multifuncțională (MIME):

  • aplicație mime/vnd.android.package-archive

Instrumentul de analiză a fișierelor APK™

Nu sunteți sigur ce tip de fișier APK este? Doriți să obțineți informații precise despre un fișier, despre creatorul acestuia și despre cum poate fi deschis?

Acum puteți obține instantaneu toate informațiile de care aveți nevoie despre un fișier APK!

Revoluționarul APK File Analysis Tool™ scanează, analizează și raportează informații detaliate despre fișierul APK. Algoritmul nostru în curs de brevetare va analiza rapid fișierul și va oferi informații detaliate în câteva secunde într-un format clar, ușor de citit.†

În doar câteva secunde, veți ști exact ce tip de fișier APK aveți, aplicația asociată fișierului, numele utilizatorului care a creat fișierul, starea de protecție a fișierului și alte informații utile.

Pentru a începe analiza gratuită a fișierului dvs., pur și simplu glisați și plasați fișierul APK în interiorul liniei punctate de mai jos sau faceți clic pe „Răsfoiește-mi computerul” și selectați fișierul. Raportul de analiză a fișierului APK va fi afișat mai jos, chiar în fereastra browserului.

Trageți fișierul APK aici pentru a începe analiza

Vizualizați computerul meu »

Vă rugăm să verificați și fișierul meu pentru viruși

Fișierul dvs. este analizat... așteptați.

Uneori, unele aplicații de pe Android nu se potrivesc într-un fel utilizatorului. Un exemplu este publicitatea intruzivă. Și se întâmplă, de asemenea, că programul este bun pentru toată lumea, dar traducerea din el este fie strâmbă, fie complet absentă. Sau, de exemplu, programul este o versiune de încercare, dar nu există nicio modalitate de a obține versiunea completă. Cum să schimbi situația?

Introducere

În acest articol, vom vorbi despre cum să dezasamblam un pachet APK cu o aplicație, să ne uităm la structura sa internă, să dezasamblam și să decompilăm bytecode și, de asemenea, vom încerca să facem mai multe modificări aplicațiilor care ne pot aduce un beneficiu sau altul.

Pentru a face toate acestea singur, veți avea nevoie de cel puțin cunoștințe de bază despre limbajul Java, în care sunt scrise aplicațiile Android, și limbajul XML, care este folosit peste tot în Android - de la descrierea aplicației în sine și drepturile sale de acces până la stocarea șirurilor care va fi afișat pe ecran. De asemenea, veți avea nevoie de capacitatea de a utiliza software specializat pentru consolă.

Deci, ce este un pachet APK în care este distribuit absolut tot software-ul Android?

Decompilarea aplicației

În acest articol, am lucrat doar cu codul de aplicație dezasamblat, dar dacă se fac modificări mai serioase aplicațiilor mari, înțelegerea codului smali va fi mult mai dificilă. Din fericire, putem decompila codul dex în cod Java, care, deși nu este original și nu este compilat înapoi, este mult mai ușor de citit și de înțeles logica aplicației. Pentru a face acest lucru, vom avea nevoie de două instrumente:

  • dex2jar este un traducător al bytecode Dalvik în bytecode JVM, pe baza căruia putem obține cod în limbajul Java;
  • jd-gui este un decompilator în sine care vă permite să obțineți cod Java lizibil din bytecode JVM. Ca alternativă, puteți utiliza Jad (www.varaneckas.com/jad); Deși este destul de vechi, în unele cazuri generează cod mai ușor de citit decât Jd-gui.

Așa ar trebui să fie folosite. Mai întâi, lansăm dex2jar, specificând calea către pachetul apk ca argument:

% dex2jar.sh mail.apk

Ca rezultat, pachetul Java mail.jar va apărea în directorul curent, care poate fi deja deschis în jd-gui pentru a vizualiza codul Java.

Aranjarea pachetelor APK și primirea acestora

Un pachet de aplicații Android este în esență un fișier ZIP obișnuit care nu necesită instrumente speciale pentru a-și vizualiza conținutul sau pentru a-l extrage. Este suficient să aveți un arhivator - 7zip pentru Windows sau dezarhivare pe consolă pe Linux. Dar asta e vorba de ambalaj. Ce este înăuntru? În general, avem următoarea structură în interior:

  • META-INF/- conține un certificat digital al aplicației, care identifică creatorul acesteia și sume de control ale fișierelor pachetului;
  • res/ - diverse resurse pe care aplicația le folosește în activitatea sa, precum imagini, descrierea declarativă a interfeței, precum și alte date;
  • AndroidManifest.xml- descrierea aplicatiei. Aceasta include, de exemplu, o listă a permisiunilor necesare, versiunea Android necesară și rezoluția necesară a ecranului;
  • clase.dex- codul octet al aplicației compilat pentru mașina virtuală Dalvik;
  • resurse.arsc- de asemenea resurse, dar de alt fel - în special, șiruri (da, acest fișier poate fi folosit pentru rusificare!).

Fișierele și directoarele enumerate sunt, dacă nu în toate, atunci, poate, în marea majoritate a APK-urilor. Cu toate acestea, mai există câteva fișiere/directoare care nu sunt atât de comune care merită menționate:

  • active- analog de resurse. Principala diferență este că pentru a accesa o resursă trebuie să cunoști identificatorul acesteia, dar lista de active poate fi obținută dinamic folosind metoda AssetManager.list() din codul aplicației;
  • lib- biblioteci native Linux scrise folosind NDK (Native Development Kit).

Acest director este folosit de producătorii de jocuri care își plasează acolo motoarele de joc scrise în C/C++, precum și de creatorii de aplicații de înaltă performanță (de exemplu, Google Chrome). Ne-am dat seama de dispozitiv. Dar cum obții fișierul pachet al aplicației care te interesează? Deoarece nu este posibil să ridicați fișiere APK de pe dispozitiv fără root (acestea sunt situate în directorul /data/app), iar rootarea nu este întotdeauna recomandabilă, există cel puțin trei moduri de a aduce fișierul aplicației pe computer:

  • Extensie APK Downloader pentru Chrome;
  • Aplicația Leecher APK reală;
  • diverse găzduire de fișiere și Varezniks.

Care să folosești este o chestiune de gust; preferăm să folosim aplicații separate, așa că vom descrie utilizarea Real APK Leecher, mai ales că este scris în Java și, în consecință, va funcționa fie în Windows, fie în Nix.

După pornirea programului, trebuie să completați trei câmpuri: E-mail, Parolă și ID dispozitiv - și selectați o limbă. Primele două sunt adresa de e-mail și parola contului dvs. Google pe care le utilizați pe dispozitiv. Al treilea este identificatorul dispozitivului și poate fi obținut prin tastarea codului pe dialer # #8255## și apoi găsiți linia ID dispozitiv. Când completați, trebuie doar să introduceți ID-ul fără prefixul android.

După completare și salvare, apare adesea mesajul „Eroare la conectarea la server”. Nu are nicio legătură cu Google Play, așa că nu ezitați să îl ignorați și să căutați pachete care vă interesează.

Vizualizați și modificați

Să presupunem că ați găsit un pachet care vă interesează, l-ați descărcat, l-ați despachetat... iar când ați încercat să vizualizați un fișier XML, ați fost surprins să descoperiți că fișierul nu era text. Cum să-l decompilați și cum să lucrați cu pachetele în general? Este cu adevărat necesar să instalați SDK-ul? Nu, nu este deloc necesar să instalați SDK-ul. De fapt, toți pașii pentru extragerea, modificarea și împachetarea pachetelor APK necesită următoarele instrumente:

  • Arhivator ZIP pentru despachetare și ambalare;
  • smali- mașină virtuală Dalvik bytecode assembler/disassembler (code.google.com/p/smali);
  • apt- un instrument pentru ambalarea resurselor (în mod implicit, resursele sunt stocate în formă binară pentru a optimiza performanța aplicației). Inclus în Android SDK, dar poate fi obținut separat;
  • semnatar- un instrument pentru semnarea digitală a unui pachet modificat (bit.ly/Rmrv4M).

Puteți utiliza toate aceste instrumente separat, dar acest lucru este incomod, deci este mai bine să utilizați software de nivel superior construit pe baza lor. Dacă lucrați pe Linux sau Mac OS X, există un instrument numit apktool. Vă permite să despachetați resurse în forma lor originală (inclusiv fișiere XML binare și arsc), să reconstruiți un pachet cu resurse modificate, dar nu știe cum să semneze pachetele, așa că va trebui să rulați manual utilitarul de semnare. În ciuda faptului că utilitarul este scris în Java, instalarea sa este destul de nestandard. Mai întâi trebuie să obțineți fișierul jar în sine:

$ cd /tmp $ wget http://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2

$ wget http://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2

$ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $ export PATH=~/bin:$PATH

Dacă lucrați pe Windows, atunci există un instrument excelent pentru acesta numit Virtuous Ten Studio, care acumulează și toate aceste instrumente (inclusiv apktool în sine), dar în loc de o interfață CLI oferă utilizatorului o interfață grafică intuitivă cu care puteți efectuați operațiuni de despachetare, dezasamblare și decompilare în câteva clicuri. Acest instrument este Donation-ware, adică uneori apar ferestre care vă cer să obțineți o licență, dar în final acest lucru poate fi tolerat. Nu are rost să-l descrii, pentru că poți înțelege interfața în câteva minute. Dar apktool, datorită naturii sale de consolă, ar trebui discutat mai detaliat.


Să ne uităm la opțiunile apktool. Pe scurt, există trei comenzi de bază: d (decodificare), b (build) și if (install framework). Dacă totul este clar cu primele două comenzi, atunci ce face a treia declarație condiționată? Dezambalează cadrul specificat de UI, care este necesar în cazurile în care disecați orice pachet de sistem.

Să ne uităm la cele mai interesante opțiuni ale primei comenzi:

  • -s- nu dezasamblați fișierele dex;
  • -r- nu despachetați resurse;
  • -b- nu introduceți informații de depanare în rezultatele dezasamblarii fișierului dex;
  • --cadru-cadru- utilizați cadrul specificat de UI în loc de cel încorporat în apktool. Acum să ne uităm la câteva opțiuni pentru comanda b:
  • -f- asamblare fortata fara verificarea modificarilor;
  • -o- indicați calea către aapt (un instrument pentru construirea unei arhive APK), dacă dintr-un motiv oarecare doriți să o utilizați dintr-o altă sursă.

Utilizarea apktool este foarte simplă pentru a face acest lucru, trebuie doar să specificați una dintre comenzi și calea către APK, de exemplu:

$ apktool d mail.apk

După aceasta, toate fișierele extrase și dezasamblate ale pachetului vor apărea în directorul de e-mail.

Pregătirea. Dezactivarea publicității

Teoria este, desigur, bună, dar de ce este necesară dacă nu știm ce să facem cu pachetul despachetat? Să încercăm să aplicăm teoria în beneficiul nostru, și anume, să modificăm niște softuri astfel încât să nu ne arate reclamă. De exemplu, să fie Virtual Torch - o torță virtuală. Acest software este ideal pentru noi, deoarece este plin de reclame enervante și, în plus, este suficient de simplu pentru a nu se pierde în jungla codului.


Deci, folosind una dintre metodele de mai sus, descărcați aplicația de pe piață. Dacă decideți să utilizați Virtuous Ten Studio, deschideți pur și simplu fișierul APK în aplicație și despachetați-l, creați un proiect (Fișier -> Proiect nou), apoi selectați Import File în meniul contextual al proiectului. Dacă alegerea ta a căzut pe apktool, atunci rulează doar o comandă:

$ apktool d com.kauf.particle.virtualtorch.apk

După aceasta, un arbore de fișiere similar cu cel descris în secțiunea anterioară va apărea în directorul com.kauf.particle.virtualtorch, dar cu un director smali suplimentar în loc de fișiere dex și un fișier apktool.yml. Primul conține codul dezasamblat al fișierului executabil dex al aplicației, cel de-al doilea conține informațiile de service necesare pentru ca apktool să asambla pachetul înapoi.

Primul loc pe care ar trebui să ne uităm este, desigur, AndroidManifest.xml. Și aici întâlnim imediat următoarea linie:

Nu este greu de ghicit că este responsabil pentru acordarea permisiunilor aplicației de a utiliza conexiunea la Internet. De fapt, dacă vrem doar să scăpăm de publicitate, cel mai probabil va trebui doar să blocăm aplicația de pe Internet. Să încercăm să facem asta. Ștergem linia specificată și încercăm să construim software-ul folosind apktool:

$ apktool b com.kauf.particle.virtualtorch

Fișierul APK rezultat va apărea în directorul com.kauf.particle.virtualtorch/build/. Totuși, nu va fi posibil să-l instalezi, deoarece nu are semnătură digitală și sume de verificare a fișierelor (pur și simplu nu are un director META-INF/). Trebuie să semnăm pachetul folosind utilitarul apk-signer. Lansat. Interfața este formată din două file - pe prima (Key Generator) creăm chei, pe a doua (APK Signer) semnăm. Pentru a crea cheia noastră privată, completați următoarele câmpuri:

  • Fișierul țintă- fișier de ieșire keystore; de obicei stochează o pereche de chei;
  • ParolăŞi Confirma- parola pentru stocare;
  • Alias- numele cheii din depozit;
  • Parola aliasŞi Confirma- parola cheie secretă;
  • Valabilitate- perioada de valabilitate (în ani). Valoarea implicită este optimă.

Câmpurile rămase sunt, în general, opționale - dar cel puțin unul trebuie completat.


AVERTIZARE

Pentru a semna o aplicație folosind apk-signer, trebuie să instalați Android SDK și să specificați calea completă către acesta în setările aplicației.

Toate informațiile sunt furnizate doar în scop informativ. Nici editorii, nici autorul nu sunt responsabili pentru eventualele daune cauzate de materialele acestui articol.

Acum puteți semna APK-ul cu această cheie. În fila APK Signer, selectați fișierul nou generat, introduceți parola, aliasul cheii și parola, apoi găsiți fișierul APK și faceți clic cu îndrăzneală pe butonul „Semnați”. Daca totul merge bine, pachetul va fi semnat.

INFO

Deoarece am semnat pachetul cu propria noastră cheie, acesta va intra în conflict cu aplicația originală, ceea ce înseamnă că atunci când vom încerca să actualizăm software-ul prin piață, vom primi o eroare.

O semnătură digitală este necesară doar pentru software-ul terță parte, așa că dacă modificați aplicațiile de sistem care sunt instalate prin copierea lor în directorul /system/app/, atunci nu trebuie să le semnați.

După aceea, descărcați pachetul pe smartphone, instalați-l și lansați-l. Voila, reclama a dispărut! În schimb, a apărut însă un mesaj că nu avem internet sau nu avem permisiunile corespunzătoare. În teorie, acest lucru ar putea fi suficient, dar mesajul pare enervant și, să fiu sincer, tocmai am avut noroc cu o aplicație stupidă. Cel mai probabil, software-ul scris în mod normal își va clarifica acreditările sau va verifica o conexiune la Internet și, în caz contrar, va refuza pur și simplu lansarea. Ce să faci în acest caz? Desigur, editați codul.

De obicei, autorii aplicației creează clase speciale pentru afișarea reclamelor și a metodelor de apel ale acestor clase atunci când aplicația sau una dintre „activitățile” acesteia (în termeni simpli, ecranele aplicației) este lansată. Să încercăm să găsim aceste clase. Mergem la directorul smali, apoi com (org conține doar biblioteca grafică deschisă cocos2d), apoi kauf (aici este, pentru că acesta este numele dezvoltatorului și tot codul său este acolo) - și aici este, directorul de marketing. În interior găsim o grămadă de fișiere cu extensia smali. Acestea sunt clase, iar cea mai notabilă dintre ele este clasa Ad.smali, după denumirea căreia este ușor de ghicit că este cea care afișează reclamă.

Am putea schimba logica funcționării sale, dar ar fi mult mai ușor să eliminați pur și simplu apelurile la oricare dintre metodele sale din aplicația în sine. Prin urmare, părăsim directorul de marketing și mergem la directorul de particule adiacent și apoi la virtualtorch. Fișierul MainActivity.smali merită o atenție specială aici. Aceasta este o clasă Android standard care este creată de SDK-ul Android și instalată ca punct de intrare în aplicație (analog cu funcția principală din C). Deschideți fișierul pentru editare.

Înăuntru există cod smali (asambler local). Este destul de confuz și dificil de citit din cauza naturii sale de nivel scăzut, așa că nu îl vom studia, ci pur și simplu vom găsi toate referințele la clasa Ad în cod și le vom comenta. Introducem linia „Ad” în căutare și ajungem la rândul 25:

Câmp anunț privat:Lcom/kauf/marketing/Ad;

Aici este creat un câmp de anunț pentru a stoca un obiect de clasă de anunțuri. Comentăm punând un semn ### în fața liniei. Continuăm căutarea. Linia 423:

Noua instanță v3, Lcom/kauf/marketing/Ad;

Aici are loc crearea obiectului. Hai sa comentam. Continuăm căutarea și găsim în rândurile 433, 435, 466, 468, 738, 740, 800 și 802 apeluri la metodele clasei Ad. Hai sa comentam. Asta pare să fie. Salva. Acum pachetul trebuie pus la loc și verificat pentru funcționalitate și prezența reclamei. Pentru puritatea experimentului, returnăm linia eliminată din AndroidManifest.xml, asamblam pachetul, semnăm și instalăm.

Cobaiul nostru. Publicitate vizibilă

Hopa! Publicitatea a dispărut doar în timp ce aplicația rula, dar a rămas în meniul principal, pe care îl vedem când lansăm software-ul. Așadar, așteptați, dar punctul de intrare este clasa MainActivity, iar reclama a dispărut în timp ce aplicația rula, dar a rămas în meniul principal, deci punctul de intrare este diferit? Pentru a identifica adevăratul punct de intrare, redeschideți fișierul AndroidManifest.xml. Și da, conține următoarele rânduri:

Ei ne spun (și, mai important, Android) că o activitate numită Start ar trebui să fie lansată ca răspuns la generarea unui intent (eveniment) android.intent.action.MAIN din categoria android.intent.category.LAUNCHER. Acest eveniment este generat atunci când atingeți pictograma aplicației din launcher, deci determină punctul de intrare, și anume clasa Start. Cel mai probabil, programatorul a scris mai întâi o aplicație fără meniu principal, punctul de intrare în care era clasa standard MainActivity, apoi a adăugat o nouă fereastră (activitate) care conține meniul și descrisă în clasa Start și a făcut-o manual intrarea. punct.

Deschideți fișierul Start.smali și căutați din nou linia „Ad”, găsim în rândurile 153 și 155 o mențiune a clasei FirstAd. Se află și în codul sursă și, judecând după nume, este responsabil pentru afișarea reclamelor pe ecranul principal. Să privim mai departe, există crearea unei instanțe a clasei FirstAd și a unei intenții, care în context este legată de această instanță, și apoi eticheta cond_10, tranziția condiționată la care se realizează exact înainte de a crea o instanță a clasei. :

If-ne p1, v0, :cond_10 .line 74 new-instance v0, Landroid/content/Intent; ... :cond_10

Cel mai probabil, programul calculează cumva aleatoriu dacă publicitatea ar trebui să fie afișată pe ecranul principal și, dacă nu, sare direct la cond_10. Ok, să-i simplificăm sarcina și să înlocuim tranziția condiționată cu una necondiționată:

#if-ne p1, v0, :cond_10 goto:cond_10

Nu mai există mențiuni despre FirstAd în cod, așa că închidem fișierul și reasamblam lanterna noastră virtuală folosind apktool. Copiați-l pe smartphone, instalați-l, lansați-l. Voila, toate reclamele au dispărut, pentru care ne felicităm pe toți.

Rezultate

Acest articol este doar o scurtă introducere în metodele de hacking și modificare a aplicațiilor Android. Multe probleme au rămas în spatele scenei, cum ar fi eliminarea protecției, analiza codului ofuscat, traducerea și înlocuirea resurselor aplicației, precum și modificarea aplicațiilor scrise folosind Android NDK. Cu toate acestea, având cunoștințe de bază, este doar o chestiune de timp să-ți dai seama de toate.

În cele mai multe cazuri, aplicațiile sunt activate Android sunt instalate prin magazinul de aplicații Google Play. Dar, uneori devine necesar să instalați o aplicație descărcată de pe site-uri terțe. Dacă te confrunți cu o problemă similară și nu știi cum, atunci acest articol ar trebui să te ajute.

Pasul nr. Permite instalarea de aplicații din surse necunoscute.

În primul rând, trebuie să activăm instalarea aplicațiilor din surse necunoscute. Acest lucru se face direct pe dispozitivul dvs. Android. Deschideți Setări și găsiți secțiunea Securitate. În această secțiune trebuie să găsiți și să activați funcția „Surse necunoscute”.

După activarea acestei funcții, veți putea instala aplicații nu numai din Google Play, ci și din orice alte surse.

Pasul 2: Copiați fișierul APK pe care doriți să îl instalați în memoria dispozitivului dvs. Android.

Următorul pas este copierea în memoria dispozitivului. Dacă fișierul APK se află pe computer, atunci trebuie să vă conectați dispozitivul Android la computer folosind un cablu USB și să copiați fișierul APK în memoria dispozitivului. La copiere, atât în ​​memoria încorporată, cât și pe un card de memorie microSD.


De asemenea, puteți descărca fișierul APK direct pe dispozitivul dvs. Android. În acest caz, nu va trebui să copiați nimic și puteți sări peste acest pas.

Pasul nr. 3. Începeți să instalați fișierul APK pe Android.

După ce ați activat instalarea aplicațiilor din surse necunoscute și ați copiat fișierul APK în memoria dispozitivului, puteți trece direct la instalarea în sine. Pentru a instala un fișier APK pe dispozitivul Android, trebuie doar să-l deschideți.

Pentru a face acest lucru, lansați orice manager de fișiere, . După aceasta, pe ecran va apărea o fereastră pop-up care vă va cere să instalați această aplicație.