Šta je ekstenzija APK datoteke? Kako otvoriti APK? Fajl sa ekstenzijom apk.

Možete naići na APK datoteku ekstenzije, na primjer, ako odlučite da instalirate aplikaciju na svoj računar koju ste koristili na tabletu. Nakon preuzimanja datoteke s interneta, doći će vrijeme da razmislite o tome kako otvoriti apk datoteku na svom računalu?

Šta je fajlAPKi njegovu svrhu

APK (skraćenica za Android Package) je format arhiviranih datoteka aplikacija za Android. Svaka aplikacija napisana za Android se nakon kompilacije upakuje u jedan fajl ovo proširenje. Naziv datoteke može biti bilo koji, ali ekstenzija mora biti .APK.

Kod pohranjivanja podataka u arhivu ovog tipa ne koristi se šifriranje.

Dakle, svaka .apk datoteka je arhiva koju može izvršiti DalvikVM (virtuelna mašina) i može se instalirati ne samo na Android OS.

APK datoteke se pohranjuju u sistemu u direktoriju /data/app, kojem se može pristupiti samo preko Explorera.

Za razvoj vlastitih aplikacija možete koristiti Googleov Android SDK, razvojno okruženje.

Datoteke ove ekstenzije možete preuzeti ili sa mjesta na kojem su pohranjene ili na resursima trećih strana na Internetu (što je nepoželjno). Nakon preuzimanja, možete ručno instalirati aplikaciju koja se nalazi u apk datoteci na vašem tabletu ili pametnom telefonu. Ne preporučuje se instaliranje aplikacija iz nepoznatih izvora - one mogu sadržavati zlonamjerni kod, dok su sve aplikacije dostupne preko Google Play, testiran i potpisan. Postupak instalacije je opisan u nastavku Android aplikacije APK na tablet ili pametni telefon putem USB-a:

  1. Morate kopirati .APK datoteku na uređaj na bilo koji prikladan način (preko USB-a, prijenos putem Wi-Fi-ja, itd.);
  2. Pomoću upravitelja datoteka idite na direktorij u kojem je aplikacija spremljena;
  3. Otvorite odabranu apk datoteku.

Brojni proizvođači onemogućuju mogućnost instaliranja aplikacija iz nepoznatih izvora. Ako trebate omogućiti ovu funkciju, idite na Postavke. Odaberite odjeljak “Sigurnost”, označite opciju “Dozvoli instalaciju aplikacija koje nisu dobijene sa Marketa”.

Video tutorial o formatu APK datoteke

Pogledajte sadržaj fajlaAPK

Pitate se kojim programom otvoriti apk fajl da vidite šta je unutra?

Budući da .APK datoteke koriste algoritme kompresije slične ZIP-u, sadržaj takvih arhiva može se dobiti pomoću gotovo bilo kojeg arhivatora - .

Da biste vidjeli sadržaj datoteke pomoću jednog od navedenih arhivatora, trebate promijeniti ekstenziju APK-a u ZIP.

Instalacija datotekeAPKna kompjuter

Pitate se kako da otvorite apk fajl na svom računaru? Ispod je lista koja će vam pomoći pri instalaciji - pokazaće vam kako da otvorite arc datoteku pod bilo kojim operativnim sistemom.

Dakle, kako otvoriti APK datoteke na različitim platformama:


Gdje još možete naići na fajlove?APK?

Datoteke ove ekstenzije mogu koristiti druge aplikacije i usluge o kojima se govori u nastavku.

  1. Kao fajl za uslugu GameSpy arkadnih igara. Ovo proširenje se koristi u shareware MMO igrici. Uslužni program, koji omogućava igračima da pronađu dostupne igre za više igrača, da se povežu s njima i komuniciraju između igrača, koristi datoteke ekstenzija APK-a koje pohranjuju servisne podatke.
  2. Skladištenje projekata Active Tutor - okruženje koje pruža alate za razvoj multimedije (Creator - 4C Soft Inc.).
  3. Skladištenje podataka o aktivnostima. APK datoteke se također koriste u igri simulacije vlaka (Microsoft Train Simulator), objavljenoj 2001. godine.

Dakle, pogledali smo format APK datoteke - za šta se koristi, koji program za otvaranje arc datoteke, gdje još možete koristiti datoteke ove ekstenzije. Nadamo se da će informacije biti korisne čitaocima.

APK. Kako ga otvoriti?

Ako ne znate kakav je ovo format - APK i kako se može otvoriti na računalu ili telefonu, pročitajte tekst članka. Detaljno ćemo govoriti o njegovim karakteristikama, metodama rada i modificiranju pojedinih elemenata.

Šta je APK?

Pročitajte također:[Upute] Kako oporaviti izbrisane datoteke na Androidu: Programi za telefon i PC

Android paket paketa (APK) - format izvršne datoteke za operativni sistem. To je arhiva koja sadrži izvorne podatke aplikacije (programski kod, kompajlirane datoteke resursa, postavke, sredstva, biblioteke).

Posebnosti:

  • Ne može se pretvoriti u drugi format.
  • Arhivirano pomoću funkcije kompresije zasnovane na JAR-u.
  • To je podskup ZIP formata.
  • Može se mijenjati korištenjem Google Android SDK, Eclipse sa ADT dodatkom.
  • Fajlovi iz APK arhive nisu šifrirani.

Fajlovi sa ekstenzijom APK pohranjuju se u Google Play i drugim trgovinama aplikacija za Android uređaje. Raspakuju se i instaliraju automatski, bez upotrebe dodatnog softvera. Podaci se pohranjuju u root folderu /data/app. Možete im pristupiti samo preko Explorera.

Za razvoj Android aplikacija sa APK ekstenzijom, koristi se Googleov Android SDK. Dostupan je za besplatno preuzimanje sa službene web stranice i baziran je na Javi.

Kako otvoriti na telefonu

Pročitajte također: RAR za Android: Kako koristiti arhiver na mobilnom uređaju

Kako otvoriti APK fajl na telefonu

Ako se mobilna aplikacija za Android platformu preuzme sa resursa ili računala treće strane, tada će imati apk ekstenziju. Zatim ga možete ručno instalirati na svoj telefon.

Kako otvoriti apk fajl sa telefona:

Nakon toga, aplikacija će započeti raspakivanje. Pregledajte uslove, odobrite pristup funkcijama ako je potrebno i nastavite s instalacijom.

APK format

Ako ne možete kopirati APK paket putem USB-a, pošaljite ga putem Bluetooth-a ili e-pošte. Ili zasebno povežite mini SD karticu na računar pomoću adaptera i prenesite datoteku na nju.

Greška prilikom otvaranja

Pročitajte također: TOP 10 upravitelja datoteka za Android: odabir najboljeg za sebe | Pregled engleske i ruske verzije

Kako dozvoliti instalaciju iz nepoznatih izvora

Ako se nakon kopiranja APK datoteke na uređaj ne može pokrenuti, tada je najvjerovatnije mogućnost instaliranja putem onemogućio proizvođač.

Slijedite ove korake da ga omogućite:

  • Idite na meni Postavke i ovdje pronađite kategoriju Lični podaci.
  • Odaberite “Sigurnost” i označite polje pored njega "Nepoznati izvori (dozvoli instalaciju iz nepoznatih izvora)".
  • Pokrenite APK datoteku i nastavite s instalacijom.

Ako se pojavi greška, tada u istom meniju poništite okvir pored "Provjeri aplikacije". Tada Android neće zabraniti instalacije koje bi mogle oštetiti uređaj. Koristite ovu metodu samo ako ste sigurni da je APK datoteka koju instalirate sigurna.

Drugi načini

Pročitajte također: TOP 15 najboljih besplatnih antivirusa za Android gadgete u 2019

Ako želite da vidite sadržaj APK datoteke sa svog telefona, možete koristiti mobilna verzija ili specijalni softver.

Pogledajmo najpopularnije programe koji vam omogućavaju uređivanje apk paketa:

  • APK Editor

Programski interfejs APK Editor

Radi i sa paketima i sa onima koji su već instalirani na uređaju, . Omogućava vam promjenu pojedinačnih manifesta, uređivanje resursa, zamjenu datoteka. Ima pogodan grafički interfejs i podršku za ćirilicu.

  • DroidEdit Besplatno

DroidEdit Besplatno sučelje programa

Besplatna mobilna aplikacija za kreiranje i uređivanje pojedinačnih manifesta. Nećete moći otvoriti sam APK koristeći ga, ali promjena pojedinačnih elemenata (nakon raspakivanja) nije problem.

  • SmartAPKTool

SmartAPKTool interfejs

Omogućava vam potpisivanje datoteka u APK, ZIP formatima. Raspakujte i upakujte APK. Pogodno za prethodno uređivanje aplikacija. SmartAPKTool može zahtijevati dodatni softver (ApkTool, Java virtuelna mašina) za rad.

Nakon toga, moći ćete promijeniti postojeće linije koda i obavijesti. U nekim aplikacijama možete dodati dodatne radnje ili ukloniti postojeće (na primjer, prikazivanje oglasa). Imajte na umu da će se nakon ovoga razlikovati od originalnog, tako da ga više nećete moći ažurirati putem Google Playa.

Kako izdvojiti APK

Pročitajte također: Kako ukloniti virus sa Androida na telefonu: Upute 2019

APK Extractor interfejs

Ako trebate preuzeti APK aplikacije koja je već instalirana na vašem telefonu, to možete učiniti pomoću posebnog softvera. IN Play Market ima ih nekoliko besplatni programi, ali ćemo za ovu svrhu koristiti APK Extractor.

Procedura će biti sljedeća:

Kako izvući apk koristeći APK Extractor

Kako otvoriti na računaru

Pročitajte također:[Upute] Kako prenijeti aplikaciju na memorijsku karticu Android pametnog telefona: 4 laka načina | 2019

APK fajlovi

Možete raspakovati APK datoteku da vidite ili uredite sadržaj koristeći obični arhivator. Međutim, nećete moći instalirati ili pokrenuti aplikaciju. Za to vam je potreban poseban softver.

Kako otvoriti APK na različitim operativnim sistemima:

  • Windows - 7-Zip, WinRAR.
  • Linux - 7-Zip, raspakujte.
  • MacOS - Uslužni program za arhiviranje.

Ako prilikom instaliranja arhivatora nisu konfigurirane ekstenzije (koje će biti pridružene po defaultu), program možda neće prepoznati apk datoteku. Tada će biti "nepoznatog" formata.

Da biste otvorili, kliknite na njega mišem i odaberite željeni softver sa liste predloženih programa. Nakon toga, imat ćete pristup svim izvornim podacima aplikacije.

Emulatori za pokretanje APK datoteka na PC-u

Pročitajte također: Instalacija Androida na PC: TOP 10 emulatora na Windowsima

Ako želite da ga instalirate na računar, fajl će imati APK ekstenziju. Da biste ga instalirali, trebat će vam poseban emulator. Dostupni su za besplatno preuzimanje.

BlueStacks interfejs

Ima dobre performanse u igrama i omogućava vam pokretanje aplikacija koje zahtijevaju velike resurse. Glavna karakteristika- Bluestacks TV funkcija. Potrebno za onlajn emitovanje na .

Pomoću emulatora možete pokrenuti mobilne aplikacije putem apk paketa ili ih instalirati direktno s Play Marketa. Za korištenje Google usluge Morat ćete se prijaviti koristeći svoj račun.

Za pokretanje samih apk paketa nije potrebno povezati račun. Ali ako igra ili program zahtijevaju vezivanje za društvena mreža ili druge usluge, morat ćete se prijaviti ili proći jednostavnu registraciju.

Čak ni svi vlasnici uređaja sa Android operativnim sistemom ne znaju šta je APK fajl. Šta reći o onima koji nikada nisu koristili telefone ili tablete sa ovim sistemom. Međutim, čak i vlasnici Windows računara mogu izvući mnogo korisnih stvari iz APK datoteka.

Prvo, hajde da shvatimo šta su fajlovi.

Android paket je ekstenzija datoteke koja se koristi za distribuciju programa za bilo koji uređaj na kojem je instaliran Android. U Windows-u, da biste instalirali program, morate pronaći .exe datoteku. U Androidu morate pronaći APK za ovo. Takve datoteke se distribuiraju putem web stranica sa softverom za telefone ili na posebnim forumima.

Android paket je arhiva koja pohranjuje samu aplikaciju i sve datoteke potrebne za njen rad. .

Zašto su oni potrebni i zašto mogu biti korisni vlasnicima jednostavnih računara?

Mnoge zanimljive i neobične aplikacije već su napisane za uređaje sa Android OS-om. Većina njih nema desktop verziju. U ovom slučaju, ako želite da igrate svoju omiljenu igricu na svom telefonu, ali je nemate pri ruci, moraćete da instalirate APK fajl na računar.

Druga situacija u kojoj ćete možda morati da otvorite APK na svom računaru je da vidite njegov sadržaj. Ovo može biti potrebno da biste ga djelimično promijenili. Na primjer, prevedite ga na željeni jezik.

Važno! Fajlovi koji nas zanimaju nemaju nikakvu dodatnu enkripciju. APK datoteka nije ništa drugo do arhiva u kojoj se pohranjuju podaci aplikacije.

Pogledaj sadržaj

Sada ćemo naučiti kako pregledati sadržaj datoteke, pogledati njenu strukturu i, ako je potrebno, unijeti izmjene u nju. Dakle, potrebno nam je:


Također možete otpakovati ovu arhivu na svoj računar i pristupiti joj u bilo koje vrijeme.

Ali većinu još uvijek zanima kako početi koristiti aplikacije na svom računalu. Ovo će biti malo teže za napraviti, ali i dalje prilično jednostavno. Svako to može.

Telefon je takođe mali kompjuter. Jedina razlika je fundamentalno drugačiji softver. Stoga ćete morati instalirati poseban programemulator

Kao što naziv govori, takav program kreira sistem koji pokreće Android na vašem uređaju. Moći ćete preuzeti, instalirati bilo koju aplikaciju na emulatoru i koristiti ih direktno preko vašeg računala.

Android emulatori postaju sve popularniji i traženiji zbog sve većeg broja jedinstvenih aplikacija. Sada nekoliko programera može ponuditi visokokvalitetan i stabilan emulator. Pogledajmo nekoliko emulatora i odaberite onaj koji najviše odgovara vašim zadacima.

Najpoznatiji, najrašireniji i korišteni emulator je Bluestacks.

Za početak ćemo otvoriti naš fajl na njemu.


Važno! Bluestacks je idealan za otvaranje igara i najčešće se koristi za to. Nedostaci aplikacije uključuju previše pretrpano sučelje na nekim mjestima i veliku količinu nepotrebnih informacija, koje neće biti korisne svima.

Nox App Player

Ali ovaj program nije pogodan za igre. Često pogrešno prikazuju grafičke elemente. U ovom emulatoru, programeri su se fokusirali na rad sa programima. Možete dobiti root u nekoliko klikova. Ako želite otvoriti APK sa ovom aplikacijom, onda vam je potrebno:


Pregled sadržaja na Androidu

Da pogledamo sadržaj apk datoteke, a ne da je potpuno instaliramo, pomoći će nam moćan program Apk editor za Android. Dakle, potrebno nam je:


Instaliranje aplikacija za pametne telefone na vaš uređaj nije tako teško. Svaki korisnik to može učiniti.

Video - Kako otvoriti apk fajl na računaru

Prilikom preuzimanja aplikacija za pametne telefone putem računara, korisnik može otkriti da njihov instalacioni fajl ima APK ekstenziju. Malo ljudi zna, ali ovaj format se može pokrenuti ne samo na Androidu, već i na Windowsu, a kako to učiniti bit će opisano dalje u tekstu.

Šta je APK

Prije nego počnemo tražiti načine za pokretanje APK datoteka na desktop uređaju, vrijedno je reći koji je zapravo ovaj format.

Dakle, njegov puni naziv je Android Package. Shodno tome, već iz ovoga možemo zaključiti da je predviđeno za rad u okviru mobilnog operativnog sistema. Ovdje možemo povući analogiju sa EXE formatom, koji se koristi u Windows-u i koji je instalater za aplikaciju. Isto tako, APK je arhiva sa svim programskim datotekama, kao i uputama za njihovo raspakivanje. Jednostavnim riječima, je program za instalaciju aplikacija u Androidu.

Kako otvoriti APK fajl na računaru

Na početku članka je rečeno da se APK datoteke mogu pokretati ne samo na pametnim telefonima koji koriste Android, već i na Windowsima. Naravno, to će zahtijevati dodatne alate. Mogu se podijeliti u dvije kategorije:

  • da vidite listu instaliranih datoteka;
  • da instalirate aplikaciju.

U prvom slučaju, bilo koji dobro poznati arhivator možete ga koristiti da otvorite APK i vidite koje su datoteke u njemu. Ali da biste instalirali Android programe na Windows operativni sistem, morate koristiti ozbiljnije aplikacije koje se nazivaju emulatori.

Korištenje arhivatora

Počećemo s time kako otvoriti APK datoteku pomoću arhivatora. Odmah se može postaviti pitanje zašto je to uopšte potrebno. Ali, kao što je ranije spomenuto, na ovaj način možete pregledati sve datoteke instalirane aplikacije i, što je najvažnije, napraviti neke promjene u njima, na primjer, prevesti tekst na ruski.

Za obavljanje svih operacija koristit će se WinRAR arhiver koji svaki korisnik može instalirati, jer se aplikacija distribuira besplatno.

  1. Desni klik (RMB) na APK datoteku.
  2. Izaberite opciju "Svojstva" iz menija.
  3. U prozoru koji se otvori idite na karticu "Općenito".
  4. Nasuprot redu „Aplikacija“ kliknite na dugme „Promeni“.
  5. Pojavit će se dijaloški okvir u kojem morate odabrati program za otvaranje datoteke. Ako WinRAR nije na listi, odredite direktnu putanju do njega klikom na vezu „Pronađi drugu aplikaciju na ovom računaru“.
  6. Otvoriće se prozor za upravljanje datotekama. U njemu trebate otići u direktorij s izvršnom datotekom WinRAR. Podrazumevano se nalazi na sledećoj putanji: “C:\Program Files\WinRAR\”.
  7. Idite u fasciklu sa arhivatorom, izaberite izvršnu datoteku i kliknite na dugme "Otvori".
  8. U prozoru Svojstva kliknite na Primijeni, a zatim na OK.

Nakon što slijedite ove upute, sve datoteke koje imaju APK ekstenziju će se pokrenuti kroz arhiver, samo kliknite na njih dvaput kliknite lijevo dugme miša (LMB).

Pokretanje emulatora

Ako je svrha preuzimanja APK datoteke na vaš računar bila da se dalje instalira, a ne da se otvori, tada ćete morati koristiti emulator operativnog sistema Windows sistemi. Na tržištu softver Ima ih poprilično, tako da se u članku neće razmatrati svi, već samo oni najpopularniji.

BlueStacks

BlueStacks je najpopularniji Android emulator, pa bi bilo pametno početi odatle. Dakle, da instalirate Android aplikaciju u okviru radnog Windows radna površina, morate izvršiti sljedeće korake:

  1. Pokrenite BlueStacks.
  2. Na lijevom panelu sa listom alata kliknite na dugme “APK”.
  3. Otvorit će se prozor za upravljanje datotekama u kojem trebate otići u mapu s prethodno preuzetom APK datotekom.
  4. Odaberite Android aplikaciju i kliknite na dugme „Otvori“.
  5. Započet će proces instalacije aplikacije u BlueStacksu, pričekajte da se završi.
  6. Meni emulatora će prikazati samo ikonu instalirani program, kliknite na njega za pokretanje.

Droid4X

Droid4X je jedan od njegovih popularnih emulatora mobilnih operativnih sistema i može se koristiti za pokretanje Android aplikacija na Windows računarima. Ovo se može učiniti mnogo lakše:

  1. Instalirajte program Droid4X na svoj računar.
  2. Otvori file manager"Dirigent".
  3. Idite u folder sa preuzetom APK datotekom.
  4. Kliknite desnim tasterom miša na njega.
  5. IN kontekstni meni odaberite "Igraj s Droid4X".
  6. Proces instalacije će započeti mobilna aplikacija. Sačekajte da se završi.
  7. Kliknite LMB na ikonu instaliranog programa u meniju emulatora.

Genymotion

Koristeći Genymotion emulator, instaliranje APK datoteke na računar je mnogo teže, ali je i dalje dobra alternativa prethodnim metodama. Međutim, imajte na umu da prvo morate kreirati nalog na Genymotion web stranici i instalirati virtualnu mašinu VirtualBox.

  1. Pokrenite Genymotion.
  2. Kliknite na dugme "Dodaj" na gornjoj ploči.
  3. U prozoru koji se pojavi kliknite na „Dalje“.
  4. Nakon toga, također kliknite na “Dalje”.
  5. Pričekajte da se preuzimanje završi i u prozoru VirtualBoxa koji se otvori kliknite na dugme „Pokreni“.
  6. Vratite se u Genymotion prozor i kliknite na dugme "Start".
  7. Pojavit će se emulirani Android prozor. Da biste instalirali APK, prvo morate instalirati Genymotion ARM Translation. Da biste to učinili, otvorite mapu s ovom datotekom i prevucite je mišem u prozor emulatora.
  8. Ponovo pokrenite emulator i virtuelnu mašinu.
  9. Otvorite fasciklu sa APK datotekom i prevucite je u prozor emulatora.

Odmah nakon toga, aplikacija će biti pokrenuta i s njom ćete moći komunicirati kroz prozor emulatora.

Ponekad neke aplikacije na Androidu na neki način ne odgovaraju korisniku. Primjer je nametljivo oglašavanje. A dešava se i da je program dobar za sve, ali prevod u njemu je ili kriv ili potpuno odsutan. Ili, na primjer, program je probni, ali nabavite puna verzija nema mogućnosti. Kako promijeniti situaciju?

Uvod

U ovom članku ćemo govoriti o tome kako rastaviti APK paket s aplikacijom, pogledati njegovu unutrašnju strukturu, rastaviti i dekompilirati bajtkod, a također ćemo pokušati napraviti nekoliko promjena u aplikacijama koje nam mogu donijeti jednu ili drugu korist.

Da biste sve ovo uradili sami, trebat će vam barem osnovno znanje jezika Java, na kojem su napisane Android aplikacije, i XML jezika koji se koristi svuda u Androidu – od opisivanja same aplikacije i njenih prava pristupa do pohranjivanja stringova koji će biti prikazano na ekranu. Također će vam trebati sposobnost korištenja specijaliziranog softvera za konzolu.

Dakle, šta je APK paket u kojem se distribuira apsolutno sav Android softver?

Dekompilacija aplikacije

U ovom članku smo radili samo sa rastavljenim kodom aplikacije, ali ako se izvrše ozbiljnije promjene na velikim aplikacijama, razumijevanje malog koda će biti mnogo teže. Na sreću, možemo dekompilirati dex kod u Java kod, koji, iako nije originalan i nije preveden nazad, mnogo je lakši za čitanje i razumijevanje logike aplikacije. Da bismo to učinili, trebat će nam dva alata:

  • dex2jar je prevodilac Dalvik bytecode-a u JVM bytecode, na osnovu kojeg možemo dobiti kod na Java jeziku;
  • jd-gui je sam dekompajler koji vam omogućava da dobijete čitljiv Java kod iz JVM bajtkoda. Kao alternativu, možete koristiti Jad (www.varaneckas.com/jad); Iako je prilično star, u nekim slučajevima generiše čitljiviji kod od Jd-gui.

Ovako ih treba koristiti. Prvo pokrećemo dex2jar, navodeći put do apk paketa kao argument:

% dex2jar.sh mail.apk

Kao rezultat toga, Java paket mail.jar će se pojaviti u trenutnom direktorijumu, koji se već može otvoriti u jd-gui za pregled Java koda.

Raspoređivanje APK paketa i njihovo primanje

Paket Android aplikacije je u suštini obična ZIP datoteka koja ne zahtijeva nikakve posebne alate za pregled njenog sadržaja ili ekstrakciju. Dovoljno je imati arhiver - 7zip za Windows ili konzolu unzip na Linuxu. Ali to je u vezi omotača. Šta je unutra? Generalno, unutra imamo sljedeću strukturu:

  • META-INF/- sadrži digitalni sertifikat aplikacije, koji identifikuje njenog kreatora, i kontrolne sume fajlova paketa;
  • res/ - različiti resursi koje aplikacija koristi u svom radu, kao što su slike, deklarativni opis interfejsa, kao i drugi podaci;
  • AndroidManifest.xml- opis aplikacije. Ovo uključuje, na primjer, listu potrebnih dozvola, potrebnu verziju Androida i potrebnu rezoluciju ekrana;
  • classes.dex- kompajlirani bajt kod aplikacije za virtuelna mašina Dalvik;
  • resursi.arsc- takođe resursi, ali druge vrste - posebno stringovi (da, ovaj fajl se može koristiti za rusifikacije!).

Navedene datoteke i direktoriji su, ako ne u svim, onda, možda, u velikoj većini APK-ova. Međutim, postoji nekoliko drugih manje uobičajenih datoteka/direktorija koje vrijedi spomenuti:

  • imovine- analogni resursi. Glavna razlika je u tome što da biste pristupili resursu morate znati njegov identifikator, ali lista sredstava se može dobiti dinamički korištenjem metode AssetManager.list() u kodu aplikacije;
  • lib- izvorne Linux biblioteke napisane pomoću NDK (Native Development Kit).

Ovaj direktorij koriste proizvođači igara, postavljajući tamo motor igre napisan na C/C++, kao i kreatori aplikacija visokih performansi (npr. Google Chrome). Shvatili smo uređaj. Ali kako doći do paketne datoteke aplikacije koja vas zanima? Pošto nije moguće preuzeti APK fajlove sa uređaja bez root-a (nalaze se u direktorijumu /data/app), a rutiranje nije uvek preporučljivo, postoje najmanje tri načina da se fajl aplikacije prenese na računar:

  • APK Downloader ekstenzija za Chrome;
  • Real APK Leecher aplikacija;
  • razni fajl hosting i Vareznik.

Koji koristiti je stvar ukusa; mi radije koristimo pojedinačne aplikacije, stoga ćemo opisati upotrebu Real APK Leecher-a, pogotovo jer je napisan u Javi i, shodno tome, radiće u Windows-u ili Nix-u.

Nakon pokretanja programa potrebno je popuniti tri polja: Email, Password i Device ID - i odabrati jezik. Prva dva su e-mail i lozinka vašeg Google naloga koji koristite na uređaju. Treći je identifikator uređaja, a može se dobiti upisivanjem koda na biraču # #8255## a zatim pronalaženje linije ID uređaja. Prilikom popunjavanja potrebno je samo unijeti ID bez android-prefiksa.

Nakon popunjavanja i spremanja, često se pojavljuje poruka “Greška pri povezivanju sa serverom”. Nema nikakve veze sa Google Play-om, pa ga slobodno zanemarite i potražite pakete koji vas zanimaju.

Pregledajte i izmijenite

Recimo da ste pronašli paket koji vas zanima, preuzeli ga, raspakovali... i kada ste pokušali da pogledate neki XML fajl, bili ste iznenađeni kada ste otkrili da fajl nije tekstualni. Kako ga dekompilirati i kako općenito raditi s paketima? Da li je zaista potrebno instalirati SDK? Ne, uopće nije potrebno instalirati SDK. Zapravo, svi koraci za izdvajanje, modificiranje i pakiranje APK paketa zahtijevaju sljedeće alate:

  • ZIP arhiver za raspakivanje i pakovanje;
  • smali- Dalvik virtualni stroj bytecode asembler/disassembler (code.google.com/p/smali);
  • aapt- alat za pakovanje resursa (podrazumevano, resursi se pohranjuju u binarnom obliku radi optimizacije performansi aplikacije). Uključeno u Android SDK, ali se može nabaviti zasebno;
  • potpisnik- alat za digitalni potpis modifikovani paket (bit.ly/Rmrv4M).

Sve ove alate možete koristiti zasebno, ali to je nezgodno, pa je bolje koristiti softver višeg nivoa napravljen na njihovoj osnovi. Ako radite na Linuxu ili Mac OS X-u, postoji alat koji se zove apktool. Omogućava vam da raspakujete resurse u njihovom originalnom obliku (uključujući binarne XML i arsc datoteke), ponovo napravite paket sa promijenjenim resursima, ali ne zna kako da potpiše pakete, tako da ćete morati ručno pokrenuti uslužni program potpisnika. Unatoč činjenici da je uslužni program napisan na Javi, njegova instalacija je prilično nestandardna. Prvo morate dobiti samu jar datoteku:

$ 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

Ako radite na Windows-u, onda postoji odličan alat za to pod nazivom Virtuous Ten Studio, koji također akumulira sve ove alate (uključujući sam apktool), ali umjesto CLI sučelja pruža korisniku intuitivno grafičko sučelje s kojim možete izvršite operacije za raspakivanje, rastavljanje i dekompajliranje u nekoliko klikova. Ovaj alat je Donation-ware, odnosno ponekad se pojavljuju prozori koji traže da dobijete licencu, ali na kraju se to može tolerirati. Nema smisla to opisivati, jer možete razumjeti sučelje za nekoliko minuta. Ali apktool, zbog njegove prirode konzole, trebalo bi detaljnije razgovarati.


Pogledajmo opcije apktool-a. Ukratko, postoje tri osnovne naredbe: d (dekodiranje), b (izgradnja) i if (instaliraj okvir). Ako je sve jasno sa prve dve komande, šta onda radi treća, uslovna izjava? Raspakira specificirani UI okvir, koji je neophodan u slučajevima kada secirate bilo koji sistemski paket.

Pogledajmo najzanimljivije opcije prve naredbe:

  • -s- ne rastavljajte dex fajlove;
  • -r- ne raspakujte resurse;
  • -b- nemojte umetati informacije o otklanjanju grešaka u rezultate rastavljanja dex fajla;
  • --frame-path- koristite specificirani UI okvir umjesto onog ugrađenog u apktool. Pogledajmo sada nekoliko opcija za komandu b:
  • -f- prinudna montaža bez provjere promjena;
  • -a- navedite put do aapt-a (alatka za pravljenje APK arhive), ako iz nekog razloga želite da ga koristite iz drugog izvora.

Korištenje apktool-a je vrlo jednostavno za ovo, samo navedite jednu od naredbi i putanju do APK-a, na primjer:

$ apktool d mail.apk

Nakon toga, sve ekstrahovane i rastavljene datoteke paketa će se pojaviti u imeniku pošte.

Priprema. Onemogućavanje oglašavanja

Teorija je, naravno, dobra, ali zašto je potrebna ako ne znamo šta da radimo sa raspakovanim paketom? Pokušajmo teoriju primijeniti u našu korist, naime modificirati neki softver tako da nam ne prikazuje reklamiranje. Na primjer, neka to bude Virtual Torch - virtualna baklja. Ovaj softver je idealan za nas, jer je do kraja ispunjen dosadnim reklamama i, osim toga, dovoljno je jednostavan da se ne izgubite u džungli koda.


Dakle, koristeći jednu od gore navedenih metoda, preuzmite aplikaciju sa tržišta. Ako odlučite da koristite Virtuous Ten Studio, jednostavno otvorite APK datoteku u aplikaciji i raspakujte je, kreirajte projekat (Datoteka -> Novi projekat), a zatim izaberite Uvezi datoteku u kontekstualnom meniju projekta. Ako je vaš izbor pao na apktool, samo pokrenite jednu naredbu:

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

Nakon toga, stablo datoteka slično onome opisanom u prethodnom odeljku će se pojaviti u direktorijumu com.kauf.particle.virtualtorch, ali sa dodatnim smali direktorijumom umesto dex fajlova i apktool.yml fajlom. Prvi sadrži rastavljeni kod izvršne dex datoteke aplikacije, drugi sadrži servisne informacije neophodne da apktool sakupi paket nazad.

Prvo mjesto na koje bismo trebali pogledati je, naravno, AndroidManifest.xml. I tu odmah nailazimo na sljedeći red:

Nije teško pretpostaviti da je on odgovoran za davanje dozvole aplikaciji za korištenje internetske veze. U stvari, ako se samo želimo riješiti reklama, najvjerovatnije ćemo samo trebati blokirati aplikaciju s interneta. Hajde da pokušamo ovo da uradimo. Brišemo navedenu liniju i pokušavamo napraviti softver koristeći apktool:

$ apktool b com.kauf.particle.virtualtorch

Rezultirajuća APK datoteka će se pojaviti u direktoriju com.kauf.particle.virtualtorch/build/. Međutim, neće ga biti moguće instalirati, jer nema digitalni potpis i kontrolne sume datoteka (jednostavno nema META-INF/ direktorij). Moramo potpisati paket koristeći apk-signer uslužni program. Lansirano. Interfejs se sastoji od dvije kartice - na prvom (Key Generator) kreiramo ključeve, na drugom (APK Signer) potpisujemo. Da kreirate naš privatni ključ, popunite sljedeća polja:

  • Target File- izlazna datoteka skladišta ključeva; obično pohranjuje jedan par ključeva;
  • Lozinka I Potvrdi- lozinka za skladište;
  • Alias- naziv ključa u skladištu;
  • Alias ​​lozinka I Potvrdi- šifra tajnog ključa;
  • Validnost- rok važenja (u godinama). Zadana vrijednost je optimalna.

Preostala polja su, općenito, opciona - ali barem jedno mora biti popunjeno.


UPOZORENJE

Da biste potpisali aplikaciju pomoću apk-signera, morate instalirati Android SDK i navesti punu putanju do njega u postavkama aplikacije.

Sve informacije su date samo u informativne svrhe. Ni uredništvo ni autor nisu odgovorni za bilo kakvu moguću štetu uzrokovanu materijalima ovog članka.

Sada možete potpisati APK ovim ključem. Na kartici APK Signer odaberite novogeneriranu datoteku, unesite lozinku, pseudonim ključa i lozinku, zatim pronađite APK datoteku i hrabro kliknite na dugme “Potpiši”. Ako sve prođe kako treba, paket će biti potpisan.

INFO

Pošto smo paket potpisali vlastitim ključem, on će biti u sukobu sa originalnom aplikacijom, što znači da ćemo kada pokušamo ažurirati softver preko tržišta dobiti grešku.

Digitalni potpis je potreban samo za softver treće strane, pa ako vršite izmjene sistemske aplikacije, koji se instaliraju kopiranjem u /system/app/ direktorij, ne morate ih potpisivati.

Nakon toga preuzmite paket na svoj pametni telefon, instalirajte ga i pokrenite. Voila, reklama je nestala! Umjesto toga, međutim, pojavila se poruka da nemamo internet ili da nemamo odgovarajuće dozvole. U teoriji, ovo bi moglo biti dovoljno, ali poruka izgleda dosadno i, da budemo iskreni, upravo smo imali sreće sa glupom aplikacijom. Normalno napisani softver će najvjerovatnije razjasniti svoje vjerodajnice ili provjeriti internetsku vezu i u suprotnom će jednostavno odbiti da se pokrene. Šta učiniti u ovom slučaju? Naravno, uredite kod.

Tipično, autori aplikacija kreiraju posebne klase za prikazivanje reklama i poziva metode ovih klasa kada se aplikacija ili jedna od njenih „aktivnosti“ (jednostavno rečeno, ekrani aplikacije) pokrene. Pokušajmo pronaći ove klase. Idemo u smali direktorij, zatim com (org sadrži samo otvorenu grafičku biblioteku cocos2d), pa kauf (ovdje je, jer je ovo ime programera i sav njegov kod je tamo) - i evo ga, marketinški imenik. Unutra nalazimo gomilu fajlova sa smali ekstenzijom. To su klase, a najistaknutija od njih je klasa Ad.smali, po čijem je nazivu lako pretpostaviti da je ona ta koja prikazuje oglašavanje.

Mogli bismo promijeniti logiku njegovog rada, ali bi bilo mnogo lakše jednostavno ukloniti pozive bilo kojoj od njegovih metoda iz same aplikacije. Stoga napuštamo marketinški direktorij i idemo na susjedni direktorij čestica, a zatim na virtualtorch. Posebna pažnja Datoteka MainActivity.smali to zaslužuje. Ovo je standardna Android klasa koju kreira Android SDK i instalira se kao ulazna tačka u aplikaciju (analogno glavnoj funkciji u C). Otvorite datoteku za uređivanje.

Unutra se nalazi smali kod (lokalni asembler). Prilično je zbunjujuće i teško čitljivo zbog svoje niske razine, tako da ga nećemo proučavati, već ćemo jednostavno pronaći sve reference na klasu Ad u kodu i komentirati ih. U pretragu unosimo red "Oglas" i dolazimo do reda 25:

Terenski privatni oglas:Lcom/kauf/marketing/Ad;

Ovdje se kreira polje oglasa za pohranjivanje objekta klase oglasa. Komentiramo postavljanjem znaka ### ispred linije. Nastavljamo potragu. Linija 423:

Nova instanca v3, Lcom/kauf/marketing/Ad;

Ovdje dolazi do stvaranja objekta. Hajde da komentarišemo. Nastavljamo pretragu i u redovima 433, 435, 466, 468, 738, 740, 800 i 802 pronalazimo pozive metodama klase Ad. Hajde da komentarišemo. Izgleda da je to to. Sačuvaj. Sada paket treba ponovo sastaviti i provjeriti funkcionalnost i prisutnost reklama. Radi čistoće eksperimenta, vraćamo liniju uklonjenu iz AndroidManifest.xml, sastavljamo paket, potpisujemo i instaliramo.

Naš zamorac. Oglašavanje vidljivo

Ups! Reklama je nestala samo dok je aplikacija radila, ali je ostala u glavnom meniju, što vidimo kada pokrenemo softver. Dakle, čekajte, ali ulazna tačka je klasa MainActivity, a reklama je nestala dok je aplikacija radila, ali je ostala u glavnom meniju, pa je ulazna tačka drugačija? Da biste identificirali pravu ulaznu tačku, ponovo otvorite datoteku AndroidManifest.xml. I da, sadrži sljedeće redove:

Oni nam govore (i, što je još važnije, androidu) da aktivnost pod nazivom Start treba da se pokrene kao odgovor na generisanje namjere (događaja) android.intent.action.MAIN iz kategorije android.intent.category.LAUNCHER. Ovaj događaj se generiše kada dodirnete ikonu aplikacije u pokretaču, tako da određuje ulaznu tačku, odnosno klasu Start. Najvjerovatnije je programer prvo napisao aplikaciju bez glavnog menija, u koju je ulazna tačka bila standardna MainActivity klasa, a zatim dodao novi prozor (aktivnost) koji sadrži meni i opisan u klasi Start, i ručno ga napravio unosom tačka.

Otvorite datoteku Start.smali i ponovo potražite red "Ad", nalazimo u redovima 153 i 155 pominjanje klase FirstAd. Također je u izvornom kodu i, sudeći po nazivu, odgovoran je za prikazivanje oglasa na glavnom ekranu. Pogledajmo dalje, postoji kreiranje instance klase FirstAd i namjera koja je, prema kontekstu, povezana s ovom instancom, a zatim oznaka cond_10, uvjetni prijelaz na koju se vrši točno prije kreiranja instance razreda:

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

Najvjerovatnije, program nekako nasumično izračuna da li oglašavanje treba biti prikazano na glavnom ekranu, a ako ne, skače direktno na cond_10. Ok, pojednostavimo njen zadatak i zamijenimo uvjetni prijelaz bezuvjetnim:

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

U kodu se više ne spominje FirstAd, pa zatvaramo datoteku i ponovo sastavljamo našu virtualnu lampu koristeći apktool. Kopirajte ga na svoj pametni telefon, instalirajte ga, pokrenite ga. Voila, sva reklama je nestala, na čemu nam svima čestitamo.

Rezultati

Ovaj članak je samo kratak uvod u metode hakovanja i modifikacije Android aplikacija. Mnogi problemi su ostali iza kulisa, kao što je uklanjanje zaštite, raščlanjivanje zamućenog koda, prevođenje i zamjena resursa aplikacije, kao i modifikacija aplikacija napisanih pomoću koristeći Android NDK. Međutim, imajući osnovno znanje, samo je pitanje vremena da sve shvatite.

mob_info