Kas yra APK failo plėtinys? Kaip atidaryti APK? Failas su plėtiniu apk.

Galite susidurti su APK plėtinio failu, pavyzdžiui, jei nuspręsite kompiuteryje įdiegti programą, kurią naudojote planšetiniame kompiuteryje. Atsisiuntę failą iš interneto, ateis laikas pagalvoti, kaip kompiuteryje atidaryti apk failą?

Kas yra failasAPKir jo paskirtis

APK („Android Package“ santrumpa) yra archyvuotų programų failų, skirtų „Android“, formatas. Bet kuri programa, sukurta Android, po kompiliavimo yra supakuota į vieną šio plėtinio failą. Failo pavadinimas gali būti bet koks, bet plėtinys turi būti .APK.

Saugant duomenis tokio tipo archyve šifravimas nenaudojamas.

Taigi kiekvienas .apk failas yra archyvas, kurį gali vykdyti DalvikVM (virtualioji mašina) ir kurį galima įdiegti ne tik Android OS.

APK failai saugomi sistemoje /data/app kataloge, kuris pasiekiamas tik per Explorer.

Norėdami kurti savo programas, galite naudoti Google Android SDK – kūrimo aplinką.

Šio plėtinio failus galite atsisiųsti iš ten, kur jie saugomi, arba iš trečiųjų šalių išteklių internete (tai nepageidautina). Atsisiuntę galite rankiniu būdu įdiegti apk faile esančią programą planšetiniame kompiuteryje arba išmaniajame telefone. Nerekomenduojama diegti programų iš nežinomų šaltinių – jose gali būti kenkėjiško kodo, o visos per Google Play pasiekiamos programos yra testuojamos ir pasirašytos. „Android APK“ programos diegimo planšetiniame kompiuteryje arba išmaniajame telefone per USB procedūra aprašyta toliau:

  1. .APK failą reikia nukopijuoti į įrenginį bet kokiu patogiu būdu (per USB, perkelti per Wi-Fi ir pan.);
  2. Naudodami failų tvarkyklę eikite į katalogą, kuriame buvo išsaugota programa;
  3. Atidarykite pasirinktą apk failą.

Kai kurie gamintojai išjungia galimybę įdiegti programas iš nežinomų šaltinių. Jei reikia įjungti šią funkciją, eikite į „Nustatymai“. Pasirinkite skyrių „Sauga“, pažymėkite parinktį „Leisti įdiegti programas, kurios nebuvo gautos iš rinkos“.

Vaizdo pamoka apie APK failo formatą

Peržiūrėkite failo turinįAPK

Svarstote, kokia programa atidaryti apk failą, kad pamatytumėte, kas yra viduje?

Kadangi .APK failuose naudojami glaudinimo algoritmai, panašūs į ZIP, tokių archyvų turinį galima gauti naudojant beveik bet kurį archyvatorių - .

Norėdami peržiūrėti failo turinį naudodami vieną iš nurodytų archyvatorių, turite pakeisti APK plėtinį į ZIP.

Failų diegimasAPKkompiuteryje

Ar jums įdomu, kaip kompiuteryje atidaryti apk failą? Žemiau pateikiamas sąrašas, kuris padės jums diegti – jis parodys, kaip atidaryti lanko failą naudojant bet kurią reikiamą operacinę sistemą.

Taigi, kaip atidaryti APK failus skirtingose ​​platformose:


Kur dar galite susidurti su failais?APK?

Šio plėtinio failus gali naudoti kitos toliau aptartos programos ir paslaugos.

  1. Kaip „GameSpy“ arkadinių žaidimų paslaugos failas. Šis plėtinys naudojamas bendro naudojimo MMO žaidime. Programa, leidžianti žaidėjams rasti galimus kelių žaidėjų žaidimus, prisijungti prie jų ir bendrauti tarp žaidėjų, naudoja APK plėtinių failus, kuriuose saugomi paslaugų duomenys.
  2. „Active Tutor“ projektų saugykla – aplinka, teikianti multimedijos kūrimo įrankius (Creator – 4C Soft Inc.).
  3. Veiklos duomenų saugykla. APK failai taip pat naudojami traukinio modeliavimo žaidime (Microsoft Train Simulator), išleistame 2001 m.

Taigi, mes pažvelgėme į APK failo formatą - kam jis naudojamas, kokia programa atidaryti lanko failą, kur dar galite naudoti šio plėtinio failus. Tikimės, kad informacija bus naudinga skaitytojams.

APK. Kaip jį atidaryti?

Jei nežinote, koks tai yra formatas - APK ir kaip jį galima atidaryti kompiuteryje ar telefone, perskaitykite straipsnio tekstą. Išsamiai pakalbėsime apie jo ypatybes, darbo metodus ir atskirų elementų modifikavimą.

Kas yra APK?

Taip pat skaitykite:[Instrukcijos] Kaip atkurti ištrintus failus „Android“: programos telefonui ir kompiuteriui

„Android Package Kit“ (APK) yra vykdomojo failo formatas, skirtas operacinei sistemai. Tai archyvas, kuriame yra programos šaltinio duomenys (programos kodas, sukompiliuoti išteklių failai, nustatymai, ištekliai, bibliotekos).

Ypatumai:

  • Negalima konvertuoti į kitą formatą.
  • Archyvuota naudojant JAR pagrįstą glaudinimo funkciją.
  • Tai yra ZIP formato poaibis.
  • Galima keisti naudojant Google Android SDK, Eclipse su ADT papildiniu.
  • Failai iš APK archyvo nėra užšifruoti.

Failai su APK plėtiniu saugomi „Google Play“ ir kitose „Android“ įrenginių programų parduotuvėse. Jie išpakuojami ir įdiegiami automatiškai, nenaudojant papildomos programinės įrangos. Duomenys saugomi šakniniame aplanke adresu /data/app. Juos galite pasiekti tik per Explorer.

Kuriant Android programas su APK plėtiniu, naudojamas Google Android SDK. Jį galima nemokamai atsisiųsti iš oficialios svetainės ir yra pagrįsta „Java“.

Kaip atidaryti savo telefone

Taip pat skaitykite: RAR, skirta „Android“: kaip naudoti archyvatorių mobiliajame telefone

Kaip atidaryti APK failą telefone

Jei mobilioji programa, skirta Android platformai, atsisiunčiama iš trečiosios šalies šaltinio arba kompiuterio, ji turės apk plėtinį. Tada galite jį įdiegti savo telefone rankiniu būdu.

Kaip atidaryti apk failą iš telefono:

Po to programa bus pradėta išpakuoti. Peržiūrėkite sąlygas, prireikus suteikite prieigą prie funkcijų ir tęskite diegimą.

APK formatu

Jei negalite nukopijuoti APK paketo per USB, išsiųskite jį per „Bluetooth“ arba el. Arba atskirai prijunkite mini SD kortelę prie kompiuterio naudodami adapterį ir perkelkite failą į jį.

Klaida atidarant

Taip pat skaitykite: TOP 10 „Android“ skirtų failų tvarkyklių: išsirinkite sau geriausią | Anglų ir rusų versijų apžvalga

Kaip leisti įdiegti iš nežinomų šaltinių

Jei nukopijavus APK failą į įrenginį, jo negalima paleisti, greičiausiai gamintojas išjungė galimybę įdiegti per.

Norėdami jį įjungti, atlikite šiuos veiksmus:

  • Eikite į meniu Nustatymai ir raskite kategoriją Asmeninė informacija čia.
  • Pasirinkite „Sauga“ ir pažymėkite šalia jo esantį laukelį "Nežinomi šaltiniai (leisti įdiegti iš nežinomų šaltinių)".
  • Paleiskite APK failą ir tęskite diegimą.

Jei pasirodo klaida, tame pačiame meniu atžymėkite laukelį šalia „Patikrinti programas“. Tada „Android“ nedraus diegimų, kurie gali pakenkti įrenginiui. Naudokite šį metodą tik tuo atveju, jei esate tikri, kad APK failas, kurį diegiate, yra saugus.

kiti metodai

Taip pat skaitykite: TOP 15 geriausių nemokamų antivirusinių programų, skirtų „Android“ programėlėms 2019 m

Jei norite peržiūrėti APK failo turinį iš savo telefono, tam galite naudoti mobiliąją versiją arba specialią programinę įrangą.

Pažvelkime į populiariausias programas, kurios leidžia redaguoti APK paketus:

  • APK redaktorius

APK redaktoriaus programos sąsaja

Veikia tiek su paketais, tiek su jau įdiegtais įrenginyje, . Leidžia keisti atskirus manifestus, redaguoti išteklius, pakeisti failus. Jame yra patogi grafinė sąsaja ir kirilicos palaikymas.

  • DroidEdit nemokamai

DroidEdit Nemokama programos sąsaja

Nemokama programa mobiliesiems, skirta individualiems manifestams kurti ir redaguoti. Naudodami jį negalėsite atidaryti paties APK, tačiau pakeisti atskirus elementus (išpakavus) nėra problemų.

  • SmartAPKTool

SmartAPKTool sąsaja

Leidžia pasirašyti failus APK, ZIP formatais. Išpakuokite ir supakuokite APK. Tinka iš anksto redaguoti programas. „SmartAPKTool“ veikimui gali prireikti papildomos programinės įrangos („ApkTool“, „Java“ virtualiosios mašinos).

Po to galėsite pakeisti esamas kodo eilutes ir pranešimus. Kai kuriose programose galite pridėti papildomų veiksmų arba pašalinti esamus (pavyzdžiui, rodyti skelbimus). Atminkite, kad po to jis skirsis nuo pradinio, todėl nebegalėsite jo atnaujinti naudodami „Google Play“.

Kaip išgauti APK

Taip pat skaitykite: Kaip pašalinti virusą iš „Android“ savo telefone: Instrukcijos 2019 m

APK ekstraktoriaus sąsaja

Jei reikia gauti telefone jau įdiegtos programos APK, tai galite padaryti naudodami specialią programinę įrangą. „Play Market“ yra keletas nemokamų programų, tačiau šiam tikslui naudosime „APK Extractor“.

Procedūra bus tokia:

Kaip išgauti apk naudojant APK Extractor

Kaip atidaryti kompiuteryje

Taip pat skaitykite:[Instrukcijos] Kaip perkelti programą į „Android“ išmaniojo telefono atminties kortelę: 4 paprasti būdai | 2019 m

APK failai

Galite išpakuoti APK failą, kad galėtumėte peržiūrėti ar redaguoti turinį naudodami įprastą archyvatorių. Tačiau negalėsite įdiegti ar paleisti programos. Tam jums reikia specialios programinės įrangos.

Kaip atidaryti APK įvairiose operacinėse sistemose:

  • Windows – 7-Zip, WinRAR.
  • Linux - 7-Zip, išpakuokite.
  • „MacOS“ – archyvavimo priemonė.

Jei diegiant archyvatorių nebuvo sukonfigūruoti plėtiniai (kurie bus susieti pagal numatytuosius nustatymus), programa gali neatpažinti apk failo. Tada jis bus „nežinomo“ formato.

Norėdami atidaryti, spustelėkite jį pele ir iš siūlomų programų sąrašo pasirinkite norimą programinę įrangą. Po to turėsite prieigą prie visų pradinių programos duomenų.

Emuliatoriai, skirti paleisti APK failus kompiuteryje

Taip pat skaitykite: „Android“ diegimas kompiuteryje: TOP 10 „Windows“ emuliatorių

Jei norite jį įdiegti savo kompiuteryje, failas turės APK plėtinį. Norėdami jį įdiegti, jums reikės specialaus emuliatoriaus. Juos galima nemokamai atsisiųsti.

BlueStacks sąsaja

Jis pasižymi geru našumu žaidimuose ir leidžia paleisti daug išteklių reikalaujančias programas. Pagrindinė funkcija yra Bluestacks TV funkcija. Reikalingas internetinėms transliacijoms .

Naudodami emuliatorių galite paleisti programas mobiliesiems per APK paketus arba įdiegti jas tiesiai iš „Play Market“. Norėdami naudotis Google paslaugomis, turėsite prisijungti naudodami paskyrą.

Norint paleisti pačius APK paketus, nebūtina prisijungti prie paskyros. Bet jei žaidimą ar programą reikia susieti su socialiniu tinklu ar kitomis paslaugomis, turėsite prisijungti arba atlikti paprastą registraciją.

Net ne visi įrenginių su „Android“ operacine sistema savininkai žino, kas yra APK failas. Ką galime pasakyti apie tuos, kurie niekada nenaudojo telefonų ar planšetinių kompiuterių su šia sistema. Tačiau net „Windows“ kompiuterių savininkai gali gauti daug naudingų dalykų iš APK failų.

Pirmiausia išsiaiškinkime, kas yra failai.

„Android Package“ yra failo plėtinys, naudojamas platinti bet kurio įrenginio, kuriame įdiegta „Android“, programoms. „Windows“ sistemoje norėdami įdiegti programą turite rasti .exe failą. „Android“ tam turite rasti APK. Tokie failai platinami per svetaines su programine įranga telefonams arba specialiuose forumuose.

Android Package yra archyvas, kuriame saugoma pati programa ir visi jos veikimui reikalingi failai. .

Kodėl jie reikalingi ir kodėl gali būti naudingi paprastų kompiuterių savininkams?

Įrenginiams su Android OS jau parašyta daug įdomių ir neįprastų programų. Dauguma jų neturi darbalaukio versijos. Tokiu atveju, jei norite žaisti savo mėgstamą žaidimą telefone, bet jo neturite po ranka, kompiuteryje turėsite įdiegti APK failą.

Kita situacija, kai gali tekti atidaryti APK kompiuteryje, yra peržiūrėti jo turinį. Gali prireikti jį iš dalies pakeisti. Pavyzdžiui, išverskite jį į norimą kalbą.

Svarbu! Mus dominantys failai neturi jokio papildomo šifravimo. APK failas yra ne kas kita, kaip archyvas, kuriame saugomi programos duomenys.

Žiūrėti turinį

Dabar išmoksime peržiūrėti failo turinį, pažvelgti į jo struktūrą ir, jei reikia, jį pakeisti. Taigi mums reikia:


Šį archyvą taip pat galite išpakuoti į savo kompiuterį ir bet kada prieiti prie jo.

Tačiau dauguma vis dar domisi, kaip pradėti naudoti programas savo kompiuteryje. Tai padaryti bus šiek tiek sunkiau, bet vis tiek gana paprasta. Kiekvienas gali tai padaryti.

Telefonas taip pat yra mažas kompiuteris. Vienintelis skirtumas yra iš esmės skirtinga programinė įranga. Todėl turėsite įdiegti specialią programą - emuliatorius

Kaip rodo pavadinimas, tokia programa sukuria sistemą, kurioje jūsų įrenginyje veikia „Android“. Galėsite atsisiųsti, įdiegti bet kokias programas emuliatoriuje ir naudoti jas tiesiogiai per savo kompiuterį.

Android emuliatoriai tampa vis populiaresni ir paklausesni dėl didėjančio unikalių programų skaičiaus. Dabar keli kūrėjai gali pasiūlyti aukštos kokybės ir stabilų emuliatorių. Pažvelkime į kelis emuliatorius ir išsirinkite tinkamiausią jūsų užduotims atlikti.

Garsiausias, plačiausiai paplitęs ir naudojamas emuliatorius yra Bluestacks.

Pirmiausia atidarysime savo failą jame.


Svarbu! Bluestacks idealiai tinka žaidimams atidaryti ir dažniausiai tam naudojamas. Aplikacijos trūkumai – kai kuriose vietose pernelyg netvarkinga sąsaja ir didelis kiekis nereikalingos informacijos, kuri bus naudinga ne visiems.

„Nox App Player“.

Tačiau ši programa prastai tinka žaidimams. Jie dažnai netinkamai rodo grafinius elementus. Šiame emuliatoriuje kūrėjai daugiausia dėmesio skyrė darbui su programomis. Įsigyti root galite keliais paspaudimais. Jei norite atidaryti APK naudodami šią programą, jums reikia:


Turinio peržiūra „Android“.

Norėdami peržiūrėti apk failo turinį, o ne iki galo jį įdiegti, mums padės galinga programa Apk redaktorius skirta Android. Taigi mums reikia:


Įdiegti išmaniųjų telefonų programas įrenginyje nėra taip sunku. Tai gali padaryti bet kuris vartotojas.

Vaizdo įrašas – kaip kompiuteryje atidaryti apk failą

Atsisiųsdamas išmaniųjų telefonų programas per kompiuterį, vartotojas gali pastebėti, kad jo diegimo failas turi APK plėtinį. Mažai kas žino, tačiau šį formatą galima paleisti ne tik „Android“, bet ir „Windows“, o kaip tai padaryti, bus aprašyta toliau tekste.

Kas yra APK

Prieš pradėdami ieškoti būdų, kaip paleisti APK failus staliniame įrenginyje, verta pasakyti, koks iš tikrųjų yra šis formatas.

Taigi, jo pilnas pavadinimas yra „Android Package“. Atitinkamai, iš to jau galime daryti išvadą, kad jis skirtas veikti mobiliosios operacinės sistemos rėmuose. Čia galime padaryti analogiją su EXE formatu, kuris naudojamas sistemoje Windows ir yra programos diegimo programa. Taip pat APK yra archyvas su visais programos failais ir instrukcijomis, kaip juos išgauti. Paprastais žodžiais tariant, tai yra programų diegimo programa, skirta „Android“.

Kaip atidaryti APK failą kompiuteryje

Straipsnio pradžioje buvo pasakyta, kad APK failus galima paleisti ne tik išmaniuosiuose telefonuose, kuriuose veikia Android, bet ir Windows. Žinoma, tam reikės papildomų įrankių. Juos galima suskirstyti į dvi kategorijas:

  • peržiūrėti įdiegtų failų sąrašą;
  • norėdami įdiegti programą.

Pirmuoju atveju tiks bet kuris gerai žinomas archyvatorius; jį galima naudoti norint atidaryti APK ir pamatyti, kokie failai jame yra. Tačiau norint įdiegti „Android“ programas „Windows“ operacinėje sistemoje, reikia naudoti rimtesnes programas, vadinamas emuliatoriais.

Naudojant archyvus

Pradėsime nuo to, kaip atidaryti APK failą naudojant archyvatorių. Iš karto gali kilti klausimas, kam to apskritai reikia. Tačiau, kaip minėta anksčiau, tokiu būdu galite peržiūrėti visus įdiegtos programos failus ir, svarbiausia, atlikti kai kuriuos juos pakeitimus, pavyzdžiui, išversti tekstą į rusų kalbą.

Visoms operacijoms atlikti bus naudojamas WinRAR archyvatorius, kurį gali įdiegti kiekvienas vartotojas, nes aplikacija platinama nemokamai.

  1. Dešiniuoju pelės mygtuku spustelėkite (RMB) APK failą.
  2. Meniu pasirinkite parinktį „Ypatybės“.
  3. Atsidariusiame lange eikite į skirtuką „Bendra“.
  4. Priešais eilutę „Programa“ spustelėkite mygtuką „Keisti“.
  5. Atsidarys dialogo langas, kuriame turite pasirinkti programą, kad atidarytumėte failą. Jei WinRAR sąraše nėra, nurodykite tiesioginį kelią į jį spustelėdami nuorodą „Rasti kitą programą šiame kompiuteryje“.
  6. Atsidarys failų tvarkyklės langas. Jame turite eiti į katalogą su WinRAR vykdomuoju failu. Pagal numatytuosius nustatymus jis yra šiame kelyje: „C:\Program Files\WinRAR\“.
  7. Eidami į aplanką su archyvatoriumi, pasirinkite vykdomąjį failą ir spustelėkite mygtuką „Atidaryti“.
  8. Lange Ypatybės spustelėkite Taikyti ir tada Gerai.

Vykdydami šią instrukciją, visi failai, turintys APK plėtinį, bus paleisti per archyvatorių; tereikia dukart spustelėti juos kairiuoju pelės mygtuku (LMB).

Emuliatoriaus paleidimas

Jei APK failo atsisiuntimo į kompiuterį tikslas buvo jį įdiegti toliau, o ne atidaryti, tuomet turėsite naudoti „Windows“ operacinės sistemos emuliatorių. Programinės įrangos rinkoje jų yra gana daug, todėl straipsnyje nebus nagrinėjami visi, o tik populiariausi.

BlueStacks

„BlueStacks“ yra populiariausias „Android“ emuliatorius, todėl tai yra protinga vieta pradėti. Taigi, norėdami įdiegti „Android“ programą „Windows“ darbalaukyje, turite atlikti šiuos veiksmus:

  1. Paleiskite BlueStacks.
  2. Kairiajame skydelyje su įrankių sąrašu spustelėkite mygtuką „APK“.
  3. Atsidarys failų tvarkyklės langas, kuriame turėsite eiti į aplanką su anksčiau atsisiųstu APK failu.
  4. Pasirinkite „Android“ programą ir spustelėkite mygtuką „Atidaryti“.
  5. „BlueStacks“ prasidės programos diegimo procesas, palaukite, kol jis bus baigtas.
  6. Emuliatoriaus meniu bus rodoma naujai įdiegtos programos piktograma; spustelėkite ją, kad paleistumėte.

Droid4X

„Droid4X“ yra vienas iš populiariausių mobiliųjų operacinės sistemos emuliatorių ir gali būti naudojamas „Android“ programoms paleisti „Windows“ kompiuteriuose. Tai galima padaryti daug lengviau:

  1. Įdiekite Droid4X programą savo kompiuteryje.
  2. Atidarykite „File Explorer“ failų tvarkyklę.
  3. Eikite į aplanką su atsisiųstu APK failu.
  4. Dešiniuoju pelės mygtuku spustelėkite jį.
  5. Kontekstiniame meniu pasirinkite „Žaisti su Droid4X“.
  6. Prasidės mobiliosios programos diegimo procesas. Palaukite, kol jis bus baigtas.
  7. Emuliatoriaus meniu spustelėkite įdiegtos programos piktogramą LMB.

Genymotion

Naudojant Genymotion emuliatorių, įdiegti APK failą kompiuteryje yra daug sunkiau, tačiau tai vis tiek yra gera alternatyva ankstesniems metodams. Tačiau atkreipkite dėmesį, kad pirmiausia turite susikurti paskyrą Genymotion svetainėje ir įdiegti virtualią mašiną „VirtualBox“.

  1. Paleiskite Genymotion.
  2. Viršutiniame skydelyje spustelėkite mygtuką „Pridėti“.
  3. Atsidariusiame lange spustelėkite „Kitas“.
  4. Tada taip pat spustelėkite „Kitas“.
  5. Palaukite, kol atsisiuntimas bus baigtas, ir atsidariusiame „VirtualBox“ lange spustelėkite mygtuką „Paleisti“.
  6. Grįžkite į Genymotion langą ir spustelėkite mygtuką "Pradėti".
  7. Pasirodys emuliuotas „Android“ langas. Norėdami įdiegti APK, pirmiausia turite įdiegti Genymotion ARM Translation. Norėdami tai padaryti, atidarykite aplanką su šiuo failu ir vilkite jį pele į emuliatoriaus langą.
  8. Iš naujo paleiskite emuliatorių ir virtualią mašiną.
  9. Atidarykite aplanką su APK failu ir vilkite jį į emuliatoriaus langą.

Iš karto po to programa bus paleista ir galėsite su ja bendrauti per emuliatoriaus langą.

Kartais kai kurios „Android“ programos tam tikru būdu netinka vartotojui. Pavyzdys – įkyri reklama. Taip pat atsitinka, kad programa tinka visiems, bet vertimas joje yra kreivas arba jo visai nėra. Arba, pavyzdžiui, programa yra bandomoji, bet nėra galimybės gauti pilnos versijos. Kaip pakeisti situaciją?

Įvadas

Šiame straipsnyje mes kalbėsime apie tai, kaip išardyti APK paketą su programa, pažvelgti į jo vidinę struktūrą, išardyti ir dekompiliuoti baito kodą, taip pat pabandysime atlikti keletą programų pakeitimų, kurie gali mums atnešti vienokios ar kitokios naudos.

Norėdami visa tai padaryti patys, jums reikės bent jau pagrindinių Java kalbos, kuria rašomos Android programos, ir XML kalbos, kuri naudojama visur Android – nuo ​​pačios programos aprašymo ir jos prieigos teisių iki eilučių saugojimo žinių. bus rodomas ekrane. Taip pat reikės mokėti naudotis specializuota konsolės programine įranga.

Taigi, kas yra APK paketas, kuriame platinama absoliučiai visa „Android“ programinė įranga?

Programos dekompiliavimas

Šiame straipsnyje mes dirbome tik su išardytu programos kodu, tačiau jei didelėse programose bus atlikti rimtesni pakeitimai, suprasti smali kodą bus daug sunkiau. Laimei, mes galime dekompiliuoti dex kodą į Java kodą, kuris, nors ir nėra originalus ir nesukompiliuotas atgal, yra daug lengviau skaitomas ir suprantamas programos logika. Norėdami tai padaryti, mums reikės dviejų įrankių:

  • dex2jar yra Dalvik baito kodo vertėjas į JVM baitinį kodą, kurio pagrindu galime gauti kodą Java kalba;
  • jd-gui yra pats dekompiliatorius, leidžiantis gauti skaitomą Java kodą iš JVM baito kodo. Kaip alternatyvą galite naudoti Jad (www.varaneckas.com/jad); Nors jis yra gana senas, kai kuriais atvejais jis sukuria skaitomesnį kodą nei Jd-gui.

Taip jie turėtų būti naudojami. Pirmiausia paleidžiame dex2jar, kaip argumentą nurodydami kelią į apk paketą:

% dex2jar.sh mail.apk

Dėl to Java paketas mail.jar atsiras dabartiniame kataloge, kurį jau galima atidaryti jd-gui, kad būtų galima peržiūrėti Java kodą.

APK paketų išdėstymas ir gavimas

„Android“ programos paketas iš esmės yra įprastas ZIP failas, kurio turiniui peržiūrėti ar išgauti nereikia jokių specialių įrankių. Pakanka turėti archyvatorių - 7zip Windows arba konsolės išpakavimas Linux. Bet tai apie įvyniojimą. Kas viduje? Apskritai viduje turime tokią struktūrą:

  • META-INF/- yra skaitmeninis programos sertifikatas, identifikuojantis jos kūrėją, ir paketo failų kontrolinės sumos;
  • res/ - įvairūs ištekliai, kuriuos programa naudoja savo darbe, pavyzdžiui, vaizdai, deklaratyvus sąsajos aprašymas, taip pat kiti duomenys;
  • AndroidManifest.xml- paraiškos aprašymas. Tai apima, pavyzdžiui, reikalingų leidimų sąrašą, reikiamą Android versiją ir reikiamą ekrano skiriamąją gebą;
  • klases.dex- sukompiliuotas programos baito kodas Dalvik virtualiajai mašinai;
  • ištekliai.arsc- taip pat ištekliai, bet kitokio pobūdžio - ypač eilutės (taip, šis failas gali būti naudojamas rusifikacijai!).

Išvardyti failai ir katalogai yra, jei ne visuose, tai galbūt daugumoje APK. Tačiau verta paminėti dar kelis ne tokius įprastus failus / katalogus:

  • turto- išteklių analogas. Pagrindinis skirtumas yra tas, kad norint pasiekti išteklius reikia žinoti jo identifikatorių, tačiau turto sąrašą galima gauti dinamiškai naudojant AssetManager.list() metodą programos kode;
  • lib- savosios Linux bibliotekos, parašytos naudojant NDK (Native Development Kit).

Šį katalogą naudoja žaidimų gamintojai, kurie ten talpina savo žaidimų variklius, parašytus C/C++, taip pat didelio našumo programų (pvz., Google Chrome) kūrėjai. Mes išsiaiškinome įrenginį. Bet kaip gauti jus dominančios programos paketo failą? Kadangi neįmanoma pasiimti APK failų iš įrenginio be root (jie yra /data/app kataloge), o įsišaknijimas ne visada patartinas, yra bent trys būdai, kaip gauti programos failą į kompiuterį:

  • APK Downloader plėtinys, skirtas Chrome;
  • Tikra APK Leecher programa;
  • įvairių failų talpinimas ir Varezniks.

Kurį naudoti – skonio reikalas; mes norime naudoti atskiras programas, todėl apibūdinsime „Real APK Leecher“ naudojimą, ypač todėl, kad jis parašytas „Java“ ir atitinkamai veiks „Windows“ arba „Nix“.

Paleidus programą, reikia užpildyti tris laukus: El. paštas, Slaptažodis ir Įrenginio ID – ir pasirinkti kalbą. Pirmieji du yra jūsų „Google“ paskyros, kurią naudojate įrenginyje, el. paštas ir slaptažodis. Trečias yra įrenginio identifikatorius, kurį galima gauti įvedus kodą rinkiklyje # #8255## tada suraskite įrenginio ID eilutę. Pildant tereikia įvesti ID be android priešdėlio.

Užpildžius ir išsaugojus dažnai pasirodo pranešimas „Klaida jungiantis prie serverio“. Tai neturi nieko bendra su „Google Play“, todėl drąsiai nekreipkite dėmesio į tai ir ieškokite jus dominančių paketų.

Peržiūrėti ir keisti

Tarkime, radote jus dominantį paketą, atsisiuntėte jį, išpakavote... ir kai bandėte peržiūrėti kokį nors XML failą, nustebote sužinoję, kad failas nėra tekstas. Kaip jį dekompiliuoti ir kaip apskritai dirbti su paketais? Ar tikrai būtina įdiegti SDK? Ne, SDK diegti visai nebūtina. Tiesą sakant, visiems APK paketų išskleidimo, modifikavimo ir pakavimo veiksmams reikalingi šie įrankiai:

  • ZIP archyvatorius išpakavimui ir pakavimui;
  • smali- Dalvik virtualios mašinos baitinių kodų surinkėjas/disassembleris (code.google.com/p/smali);
  • aapt- išteklių pakavimo įrankis (pagal numatytuosius nustatymus ištekliai saugomi dvejetaine forma, siekiant optimizuoti programos veikimą). Įtraukta į Android SDK, bet galima įsigyti atskirai;
  • signataras- modifikuoto paketo skaitmeninio pasirašymo įrankis (bit.ly/Rmrv4M).

Visus šiuos įrankius galite naudoti atskirai, tačiau tai nepatogu, todėl geriau naudoti aukštesnio lygio programinę įrangą, sukurtą jų pagrindu. Jei dirbate su Linux arba Mac OS X, yra įrankis, vadinamas apktool. Tai leidžia išpakuoti išteklius pradine forma (įskaitant dvejetainius XML ir arsc failus), atkurti paketą su pakeistais ištekliais, tačiau jis nežino, kaip pasirašyti paketus, todėl pasirašymo programą turėsite paleisti rankiniu būdu. Nepaisant to, kad programa yra parašyta Java, jos diegimas yra gana nestandartinis. Pirmiausia turite gauti patį jar failą:

$ 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 $ eksportuoti PATH=~/bin:$PATH

Jei dirbate su Windows, tada yra puikus įrankis, vadinamas Virtuous Ten Studio, kuris taip pat kaupia visus šiuos įrankius (įskaitant patį apktool), tačiau vietoj CLI sąsajos vartotojui suteikia intuityvią grafinę sąsają, su kuria galite atlikti išpakavimo, išmontavimo ir dekompiliavimo operacijas keliais paspaudimais. Šis įrankis yra Donation-ware, tai yra, kartais pasirodo langai, kuriuose prašoma gauti licenciją, bet galiausiai tai gali būti toleruojama. Nėra prasmės to apibūdinti, nes sąsają galite suprasti per kelias minutes. Tačiau apktool dėl savo konsolinio pobūdžio turėtų būti aptartas išsamiau.


Pažvelkime į apktool parinktis. Trumpai tariant, yra trys pagrindinės komandos: d (dekodavimas), b (build) ir if (diegti sistemą). Jei su pirmomis dviem komandomis viskas aišku, tai ką daro trečiasis sąlyginis teiginys? Jis išpakuoja nurodytą vartotojo sąsajos sistemą, kuri reikalinga tais atvejais, kai išardote bet kurį sistemos paketą.

Pažvelkime į įdomiausias pirmosios komandos parinktis:

  • -s- neišardykite dex failų;
  • -r- neišpakuokite išteklių;
  • -b- neįterpti derinimo informacijos į dex failo išardymo rezultatus;
  • --rėmo kelias- naudokite nurodytą vartotojo sąsajos sistemą, o ne įmontuotą apktool. Dabar pažvelkime į keletą b komandos parinkčių:
  • -f- priverstinis surinkimas be pakeitimų tikrinimo;
  • -a- nurodykite kelią į aapt (APK archyvo kūrimo įrankį), jei dėl kokių nors priežasčių norite jį naudoti iš kito šaltinio.

Naudoti apktool yra labai paprasta; norėdami tai padaryti, tiesiog nurodykite vieną iš komandų ir kelią į APK, pavyzdžiui:

$ apktool d mail.apk

Po to visi išskleisti ir išardyti paketo failai bus rodomi pašto kataloge.

Paruošimas. Reklamos išjungimas

Teorija, žinoma, gera, bet kam to reikia, jei nežinome, ką daryti su išpakuota pakuote? Pabandykime pritaikyti teoriją savo naudai, ty modifikuoti kokią nors programinę įrangą, kad ji mums nerodytų reklamos. Pavyzdžiui, tebūnie Virtualus žibintuvėlis – virtualus žibintuvėlis. Ši programinė įranga mums idealiai tinka, nes pilna erzinančios reklamos ir, be to, pakankamai paprasta, kad nepasiklystų kodo džiunglėse.


Taigi, naudodami vieną iš aukščiau pateiktų metodų, atsisiųskite programą iš rinkos. Jei nuspręsite naudoti Virtuous Ten Studio, tiesiog atidarykite APK failą programoje ir išpakuokite jį, sukurkite projektą (Failas -> Naujas projektas), tada projekto kontekstiniame meniu pasirinkite Importuoti failą. Jei jūsų pasirinkimas buvo apktool, tiesiog paleiskite vieną komandą:

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

Po to kataloge com.kauf.particle.virtualtorch atsiras failų medis, panašus į aprašytą ankstesniame skyriuje, tačiau vietoj dex failų ir apktool.yml failo bus papildomas Smali katalogas. Pirmajame yra išardytas programos vykdomojo dex failo kodas, antrajame yra paslaugų informacija, reikalinga apktool surinkti paketą atgal.

Žinoma, pirmiausia turėtume ieškoti AndroidManifest.xml. Ir čia iškart susiduriame su tokia eilute:

Nesunku atspėti, kad ji yra atsakinga už programos leidimų naudotis interneto ryšiu suteikimą. Tiesą sakant, jei norime tiesiog atsikratyti reklamos, greičiausiai tiesiog užblokuosime programą iš interneto. Pabandykime tai padaryti. Ištriname nurodytą eilutę ir bandome sukurti programinę įrangą naudodami apktool:

$ apktool b com.kauf.particle.virtualtorch

Gautas APK failas bus rodomas com.kauf.particle.virtualtorch/build/ kataloge. Tačiau jo įdiegti nepavyks, nes jame nėra skaitmeninio parašo ir failų kontrolinių sumų (paprasčiausiai nėra META-INF/ katalogo). Turime pasirašyti paketą naudodami apk-signer įrankį. paleistas. Sąsaja susideda iš dviejų skirtukų – pirmame (Key Generator) kuriame raktus, antrajame (APK Signer) pasirašome. Norėdami sukurti mūsų privatų raktą, užpildykite šiuos laukus:

  • Tikslinis failas- raktų saugyklos išvesties failas; jame paprastai saugoma viena raktų pora;
  • Slaptažodis Ir Patvirtinti- saugyklos slaptažodis;
  • Pseudonimas- rakto pavadinimas saugykloje;
  • Alias ​​slaptažodis Ir Patvirtinti- slapto rakto slaptažodis;
  • Galiojimas- galiojimo laikas (metais). Numatytoji vertė yra optimali.

Likę laukai paprastai yra neprivalomi, tačiau bent vienas turi būti užpildytas.


ĮSPĖJIMAS

Norėdami pasirašyti programą naudodami apk-signer, turite įdiegti Android SDK ir programos nustatymuose nurodyti visą kelią iki jos.

Visa informacija pateikiama tik informaciniais tikslais. Nei redaktoriai, nei autorius neatsako už bet kokią galimą žalą, padarytą dėl šio straipsnio medžiagos.

Dabar galite pasirašyti APK naudodami šį raktą. Skirtuke APK Signer pasirinkite naujai sugeneruotą failą, įveskite slaptažodį, rakto slapyvardį ir slaptažodį, tada suraskite APK failą ir drąsiai spustelėkite mygtuką „Sign“. Jei viskas bus gerai, paketas bus pasirašytas.

INFORMACIJA

Kadangi paketą pasirašėme savo raktu, jis prieštaraus pradinei programai, o tai reiškia, kad bandydami atnaujinti programinę įrangą per rinką gausime klaidą.

Skaitmeninis parašas reikalingas tik trečiosios šalies programinei įrangai, todėl jei modifikuojate įdiegtas sistemos programas, nukopijuodami jas į /system/app/ katalogą, jų pasirašyti nereikia.

Po to atsisiųskite paketą į savo išmanųjį telefoną, įdiekite jį ir paleiskite. Voila, skelbimo nebėra! Tačiau vietoj to pasirodė pranešimas, kad mes neturime interneto arba neturime atitinkamų leidimų. Teoriškai to gali pakakti, bet žinutė atrodo erzinanti, ir, tiesą sakant, mums tiesiog pasisekė su kvaila programa. Paprastai parašyta programinė įranga greičiausiai išaiškins savo kredencialus arba patikrins, ar yra interneto ryšys, o kitu atveju tiesiog atsisako paleisti. Kaip tokiu atveju būti? Žinoma, redaguokite kodą.

Paprastai programų autoriai sukuria specialias klases reklamoms rodyti ir šių klasių metodams iškviesti, kai paleidžiama programa arba viena iš jos „veiklų“ (paprasčiau tariant, programų ekranai). Pabandykime surasti šias klases. Mes einame į smali katalogą, tada com (org yra tik atvira grafinė biblioteka cocos2d), tada kauf (čia ji yra, nes tai kūrėjo vardas ir visas jo kodas) - ir štai, rinkodaros katalogą. Viduje randame krūvą failų su smali plėtiniu. Tai yra klasės, o žymiausia iš jų – Ad.smali klasė, iš kurios pavadinimo nesunku atspėti, kad būtent joje rodoma reklama.

Galėtume pakeisti jos veikimo logiką, tačiau būtų daug paprasčiau paprasčiausiai pašalinti bet kurio metodo iškvietimus iš pačios programos. Todėl mes paliekame rinkodaros katalogą ir einame į gretimą dalelių katalogą, o tada į virtualitorch. Čia ypatingo dėmesio nusipelno failas MainActivity.smali. Tai standartinė „Android“ klasė, sukurta „Android SDK“ ir įdiegta kaip programos įėjimo taškas (panašiai kaip pagrindinė C funkcija). Atidarykite failą redaguoti.

Viduje yra smali kodas (vietinis surinkėjas). Jis gana painus ir sunkiai skaitomas dėl savo žemo lygio pobūdžio, todėl jo nenagrinėsime, o tiesiog kode surasime visas nuorodas į Reklamos klasę ir jas pakomentuosime. Paieškoje įvedame eilutę „Skelbimas“ ir patenkame į 25 eilutę:

Lauko privatus skelbimas:Lcom/kauf/marketing/Ad;

Čia sukuriamas skelbimo laukas, kuriame saugomas skelbimų klasės objektas. Komentuojame prieš eilutę padėdami ženklą ###. Tęsiame paieškas. 423 eilutė:

Naujos instancijos v3, Lcom/kauf/marketing/Ad;

Čia vyksta objekto kūrimas. Komentuokime. Tęsiame paiešką ir 433, 435, 466, 468, 738, 740, 800 ir 802 eilutėse randame skelbimų klasės metodų iškvietimus. Komentuokime. Atrodo, kad viskas. Sutaupyti. Dabar paketą reikia vėl sudėti ir patikrinti, ar jis veikia ir ar nėra reklamos. Dėl eksperimento grynumo grąžiname iš AndroidManifest.xml pašalintą eilutę, surenkame paketą, pasirašome ir įdiegiame.

Mūsų jūrų kiaulytė. Matosi reklama

Oi! Reklama dingo tik veikiant programai, bet liko pagrindiniame meniu, kurį matome paleidę programinę įrangą. Taigi, palaukite, bet įėjimo taškas yra MainActivity klasė, o reklama dingo veikiant programai, bet liko pagrindiniame meniu, taigi įėjimo taškas skiriasi? Norėdami nustatyti tikrąjį įvesties tašką, iš naujo atidarykite failą AndroidManifest.xml. Ir taip, jame yra šios eilutės:

Jie nurodo mums (ir, dar svarbiau, „Android“), kad veikla, pavadinta Pradėti, turėtų būti pradėta reaguojant į ketinimo (įvykio) android.intent.action.MAIN generavimą iš kategorijos android.intent.category.LAUNCHER. Šis įvykis sugeneruojamas, kai paleidimo priemonėje paliečiate programos piktogramą, todėl jis nustato įėjimo tašką, būtent pradžios klasę. Labiausiai tikėtina, kad programuotojas pirmiausia parašė programą be pagrindinio meniu, kurios įėjimo taškas buvo standartinė MainActivity klasė, o tada pridėjo naują langą (veiklą), kuriame yra meniu ir aprašyta klasėje Pradėti, ir rankiniu būdu padarė jį įrašu. tašką.

Atidarykite failą Start.smali ir vėl ieškokite eilutės „Ad“, 153 ir 155 eilutėse randame „FirstAd“ klasės paminėjimą. Jis taip pat yra šaltinio kode ir, sprendžiant iš pavadinimo, yra atsakingas už skelbimų rodymą pagrindiniame ekrane. Pažiūrėkime toliau, yra FirstAd klasės egzemplioriaus sukūrimas ir ketinimas, kuris, atsižvelgiant į kontekstą, yra susijęs su šiuo atveju, o tada etiketė cond_10, į kurią sąlyginis perėjimas atliekamas tiksliai prieš sukuriant egzempliorių. iš klasės:

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

Greičiausiai programa kažkaip atsitiktinai apskaičiuoja, ar reklama turi būti rodoma pagrindiniame ekrane, o jei ne, peršoka tiesiai į cond_10. Gerai, supaprastinkime jos užduotį ir pakeiskime sąlyginį perėjimą besąlyginiu:

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

Kode nebėra paminėjimų apie FirstAd, todėl uždarome failą ir iš naujo surenkame virtualų žibintuvėlį naudodami apktool. Nukopijuokite jį į savo išmanųjį telefoną, įdiekite, paleiskite. Voila, dingo visa reklama, su kuo mes visus sveikiname.

Rezultatai

Šis straipsnis yra tik trumpas įvadas į „Android“ programų įsilaužimo ir modifikavimo metodus. Daugelis problemų liko užkulisiuose, pvz., apsaugos pašalinimas, užmaskuoto kodo analizavimas, programų išteklių vertimas ir pakeitimas, taip pat programų, parašytų naudojant „Android NDK“, keitimas. Tačiau turint pagrindines žinias, tik laiko klausimas viską išsiaiškinti.

mob_info