Kuidas ja kuidas muuta Android-rakendusi. Me avame Android-rakendusi muutmise ja pakkime

See on jälle mulle ja minu juhised teekannude ja kohvipottide jaoks piltidega.

Seekord ma ütlen teile üksikasjalikult Android-süsteemi komponentide asendamise kohta staatuse stringi muutmise näitel.

Android on väike Linux. Tuleb järgida mitmeid reegleid failide vahetamisel nii, et telefon ei muutuks telliseks, et taaselustada, mis täiendab ainult vilkumist kõigi andmete kadumisega sisemälu Seadmed. Sisemised sektsioonid on vormindatud failisüsteemi peale FAT32 flash-draividele. Faili omadustes salvestatakse muu hulgas lubade hulgas erinevaid kasutajarühmi (faili omanik, faili hostirühma, ülejäänud kasutajad). Töötamise ajal S. süsteemifailid Nad peavad olema päästetud, sest süsteemi laadimisel lihtsalt ei pruugi lihtsalt neile pääseda ja mitte tavapäraselt käivitada.
Alustame tööriistakomplektiga.

Me vajame:

  • Failihaldur, mis võib töötada juurte õiguste ja failide õigustega. Root Explorer sobib kõige paremini (ostsite selle, jah?)
  • Muudetud fail ise, mida me tahame panna assermal jaama (link artikli lõpus).

Nüüd kasutame ühte mugavat juurefunktsiooni funktsioone. Teeme pika kraani õige failKontekstimenüü helistamiseks

Ja klõpsake elemendil " Zip see fail"Faili salvestamiseks zip-arhiivis SD-kaardile. Pärast arhiveerimist saame sellise sõnumi:

Vajuta nuppu " Jää."Et jääda kausta ja teha midagi muud.

Nüüd on kõik fail faili asendamiseks valmis.
Olen juba iga faili juurdepääsuõiguste kohta rääkinud. Nende uue faili taastamiseks peate kõigepealt näitama neid vanast. Neid esindavad mitmed tähemärgid "RWXRWXRWX". 1. triad - omaniku õigused, 2. - omanik rühmad, 3. - kõik teised kasutajad. Meie fail on õige "rw-r - r--".

Nüüd minge SD-kaardile, leiame seal modifitseeritud faili ja valige see kontekstimenüüst " Koopia"Aga mitte kiire valida" / süsteemi / app "kausta kohe, sest me kohe mõjutada süsteemi. Selle asemel kopeerige fail spetsiaalsesse kausta ajutiste failide" / Data / Local / TMP "toomiseks faili tuua Võttes arvesse süsteemi.
Kõigepealt helistage faili kontekstimenüüsse ja valige üksus " Ümbernimetamine."Ja tutvustage faili nimi" Systemui.apk ". See on täpselt sellepärast, et Linuxi kiri registris on nime küsimustes, s.o" SystemUi.apk "ja" SystemUi.apk "on erinevad failid.
Järgmisena peate muutma faili õigusi, sest nüüd on nad peaaegu kindlasti eksponeeritud valed. Selleks helistage uuesti faili kontekstimenüüle Pikk kraani ja valige üksus " Load". Meie tähenduse jaoks" RW-R - R-- "kastid peavad olema paigutatud järgmiselt:

Vajuta " OKEI."Ja helistage uuesti kontekstimenüüsse. Nüüd peate selle rakenduse omaniku ja rühma muutma. Selleks valige üksus" Omanike muutmine". Aken ilmub teavet faili praeguse omaniku kohta.
Siin on vaja teha väike taganemise.
Kausta "/ System / App", kõik failid omavad "root" kasutaja (UID \u003d 0) ja rühma "root" (GID \u003d 0) ja "/ süsteemi / raamistik" kaust domineerib kasutaja "süsteemi" (GID \u003d 1000) ja grupi süsteem "(GID \u003d 1000).
Eeltoodu põhjal määrake soovitud väärtused ja klõpsake " OKEI.".
Ja kolmandat korda helistage faili kontekstimenüüle ja valige see selles " Koopia"Ja koopia dialoogis minna" / süsteemi / app "kausta. Nüüd me julgelt klõpsa" Pasta"Ja lugege hoolikalt.
Peaaegu kohe, süsteem teatab, et staatuse string protsess äkki lõppes ja soovitab seda käivitada. Kõik katsed on ebaõnnestunud. Windowsi välimuse vahel peaks olema mitmeid meetmeid. Enne nupu vajutamist peate helistama seadme väljalülitamise menüüst, seda hoiatatakse. Nüüd peate oma sõrme nupu vasakul küljel asetama. Nüüd on vaja kiiresti klõpsata kolm korda sõrmega, et hoida aega hoiatuse sulgemiseks, valige väljalülitamise objekt ja kinnitage oma kavatsused.
Nüüd ootame telefoni seiskamist, käivitage see uuesti ja nautige tulemust või ei naudi ja otsige viga.

Redigeerimine süsteemirakendused Android on kõige sagedamini läbi siis, kui nutitelefoni kasutaja, tableti või muu seade haldab seda hallatavat seadet operatsioonisüsteem, lõpetab praeguse rahuldamise välimus Programmid paigaldatud seadme tootja või müüja. Teine põhjus võib olla vaja toota mitte ainult muudatusi graafiline disain Android-rakendused, vaid mõjutavad ka erinevate elementide asukohta ja toimivad põhifunktsioone.

Koodeksi muutmiseks on vaja elementaarseid programmeerimisoskusi peaaegu igas keeles (eelistatavalt Java ja C ++). Graafika asendamiseks sobivad sirged käed ja oskused graafilises redaktoris töötamiseks.

Esiteks peate otsustama, kas on vaja lihtsalt asendada graafika Android-rakendustes või on vaja muuta süsteemi elementide asukohta ja koodis sügavamat muutusi. Sellest sõltub järgmistest etappidest, mis tähendab kas tööd koos arhiiviga või selle täielik demonteerimine ja redigeerimine.

Muuda graafikat Android-süsteemi rakendustes

Selleks, et lihtsalt asendada või muuta algse graafika (muutke nuppe värvi, redraw pilte jne), see on piisav, et oleks tavaline arvuti winRar Archiver. Seadmel, samal ajal, peab kasutaja olema Ruth õigused (analoog) konto Administraator Windowsis) ja see on soovitav on ka alternatiivse taastumise (CWM) ja root kasutaja (juurdepääsu Android-failisüsteemi otse seadme ise).

Esiteks peate seadmes USB-debug-i lubama seadmesse, seejärel ühendage see USB-kaabli abil arvutiga ja installige vajalikud draiverid. Tavaliselt on nad virtuaalne ketasmis kuvatakse arvutiga ühendatud.

Siis peate alla laadima ka Internetis ADB-plug-plaani. See plugin võimaldab teil näha kogu Android-süsteemi ühendatud kettana kaustadega. Kõik süsteemirakendused asuvad aadress / süsteemi / app, samuti / süsteemi / raamistik. Soovitud rakenduse leidmine lihtsalt kopeerige see arvutisse. Kui plugin pole installitud, saate rakenduse kopeerida APK pikendamisega eemaldatava SD-kaardiga, kasutades Rut-Explorerit ja seejärel sellest juba arvutis.

Pärast kopeerimist selline rakendus Graafika redigeerimiseks saate jätkata. Muide, kõik Android-rakenduste pildid salvestatakse PNG-vormingus, mis on kergesti avatud mis tahes graafilise redaktori poolt. Rakenduse faili avamine Winrari abil saate näha mitmeid kaustu. Me ainult huvitab Res kausta, sees, mis leitakse, omakorda palju erinevaid kaustu. Nendest on vaja ainult neid, kellel on sõna "juhitav" nende nimes.

Mäleta nüüd oma seadme tüüp ja ekraani eraldusvõime. Kui see on nutitelefon ja resolutsioon on 240x320, siis oleme huvitatud joonise ja joonise-LDPI kaustast. Kui 320x480 eraldusvõime on vastavalt juhitav ja joonistatav-MDPI kaust ja 480x800 - joonise ja juhitava HDPI kaustade eraldusvõimega. Lisaks neile on olemas ka mõlemad kaustad, mille pealkiri on sõna "maa" - need on portreerežiimi graafika, s.o. Kui seade kallutatakse.

Kui tablett on käes, siis oleme huvitatud ainult joonise ja joonise-MDPI kaustade kohta mis tahes ekraani eraldusvõimega.

Valitud kaustade kopeerimisega arvutisse saate asendada või parandada originaalpilte soovitud ja meeldivale silmale. Te peate pöörama erilist tähelepanu piltidele, mille resolutsioon 9.png. Fakt on see, et sellise pildi ümbermõõt on spetsiaalne raami ühesuguse pikslit, millel on spetsiaalsed märgised, mille terviklikkuse rikkumine toob kaasa taotluse ebaõnnestumise. Seetõttu tuleb selliste failide redigeerimisel jälgida ettevaatust.

Pärast redigeerimist on kaust lõpule viidud, peate arhiivile tagasi alla laadima, mis on rakendus ise APK laiendamisega. Samal ajal on vaja valida WinRaris valiku "ilma kokkusurumiseta".

Kohaldatav rakendus pumbatakse seadmele tagasi või kasutades root-uuringute (esimene fail kopeeritakse SD-kaardile ja sellest juba seadmest) või pärast taastumist sisenemist - kohe arvutist kausta / süsteemi Rakendus või süsteemi / raamistik. Seejärel on vaja seadistada sobivate valikute abil Rut-Exploreri või ADB-õiguste plugina. Nad peavad olema vormingus 644. Pärast seadme taaskäivitamist näete uuendatud taotluse toimimise tulemust.

Süsteemi rakenduste lähtekoodi redigeerimine

Süsteemi rakenduste lähtekoodi muutmiseks tuleks kulutada veidi rohkem jõupingutusi. Taotluse sulgemiseks ja rakenduse koostamiseks pärast muudatuste tegemist peate täitma mitmeid järgmisi samme.

1) Paigaldage oma arvutisse vajalik tarkvarapakett. viimased versioonid: Java SE Runtime Keskkond ja Android SDK Windows. (Programmid taotluste ja nende komponentide töötamiseks), apktool või apkmanager või firmware_tool (üks kolmest demonteerimisest ja dekompressimissüsteemi rakendustest), Notepad ++ redaktor (Android-süsteemi rakenduste lähtekoodi muutmiseks).

2) Lisage seadmesse "Debug USB poolt", ühendage see USB-kaabli abil arvutiga, paigaldage seadmega töötamiseks vajalikud draiverid.

3) Kasutades ühte ülaltoodud programme rakenduse koodiga töötamiseks, peate telefonist eemaldada telefoni kausta / süsteemi / raamistiku (täielikult) ja süsteemi rakenduste kaustast. Näiteks firmware_tool programmi jaoks tuleb telefoni failid kopeerida kausta C: firmwaretollfw_project1_source2_system.img_unpacked vastavatesse alamkaustadele (rakendusi - rakenduste kataloogi, raamistiku faile). Nii ja teiste programmide kasutamisel peate lugema neile juhiseid.

4) Paigaldage "võrdlusraamistik", st Reeglite kogum vastavalt dekompileerimisele viiakse läbi (s.o kood demonteerimise) ja koostamise (st kood assamblee) rakendusi.

Selles ettevalmistuses töötamiseks süsteemi rakendusi lõpetatud.

Laadige rakenduste rakenduste üleslaadimine ja nende allalaadimine tagasi on sarnane protseduuriga, mida on kirjeldatud "Graafika muutmisel Android-süsteemi rakendustes".

Rakenduse koodi androidi redigeerimine toimub tavaliselt Notepadi ++ redaktori abil - üks kõige mugavamate tekstiredaktorite abil valikuvõimaluse abil valitud programmeerimiskeele süntaksi. Reeglina võib redigeerimisel olla lihtsalt graafika muutmine valitud graafilise redaktori abil.

Pärast redigeerimise lõpetamist laaditakse modifitseeritud rakendus seadmesse tagasi ja seade ise tuleb taaskäivitada. Rohkem arenenud toimetajad silumise rakenduste enne allalaadimist seadmega kasutada erinevaid emulaatorid, näiteks Eclipse Google.

Android-platvormi programmid on ainus APK laiendiga fail, mis on väga mugav. Tegelikult langeb mis tahes programm nutitelefoni või tableti programmi paigaldamine lihtne kopeerimine Teie vidinal. Mis on APK-fail ja kuidas ma saan näha, mis sees on?

Mis on APK-fail?

APK lühend avalikustatakse Android-paketi komplekt - Android-rakenduste käivitatava paketi käivitatav pakett. See on arhiiv, mis sisaldab koostatud ja valmis koode ja muid ressursse. APK-failid salvestatakse veebisaitidel, näiteks Google Play.Kus ma saan alla laadida ja installida oma vidina. Neid ei allu krüpteerimiseks.

Selle struktuuri valmistab arendaja keskkonnas töötamiseks. virtuaalne masin Dalvik või Art. Need masinad on Androidisse kaasatud, nad käivitavad kõik teie seadmes olevad rakendused.

APK-fail ise on tavaline arhiiv, mida saate avada mis tahes archiver windowsi keskkond. Näiteks WinRar või failihaldurmis avab Zip-arhiivi. Vaatame, mis seal sees on.

  • Täitva faili Dex Extension (nimi võib olla), mis on lihtsalt koodikood.
  • Selle kõrval peitub ressursse.arc, see on ressursside registri, mida programm peaks kasutama. See on struktuur XML-vormingus.
  • Androidmanifest.xml on mis tahes programmi kohustuslik toimik, manifesti, mis sisaldab selle põhiandmeid. Näiteks programmi versioon, Androidi soovitud versioon, arendaja andmed, vajalikud ekraani resolutsioonid jne.
  • Res kataloog sisaldab sisemisi ressursse, mis vajavad tööle programmi. Võib esineda kõik pildid, märgid, ikoonid, kaardid jne.
  • Kataloog - Native raamatukogud programmi jaoks, näiteks C ++ kood. See kataloog ei pruugi olla kadunud, kui raamatukogusid ei kasutata.
  • Varade kataloog - Taotluse täiendavad vahendid võivad olla ka puuduvad. Milliseid ressursse tuleks kasutada, kirjeldatakse ressursse.arc-faili.
  • Meta-Inf Kataloog - Programmi metaandmed. Näiteks manifesti.MF-fail, kus võib esineda andmeid ja nende kontrollsummaid. RSA sertifikaadi faile saab siin salvestada, teavet ilmse versiooni versiooni ja muu sarnase äriteabe kohta.

Ülevaade populaarsete toimetajate ARK-failide ülevaade

Nagu juba mainitud, saate APK-faili lahti pakkida mis tahes Zip-Archiver'iga. Pärast seda saate seal salvestatud ressursse vaadata.

Piltide puhul ei ole üldse probleeme, neid saab avada mis tahes asjakohases programmis. XML-vorming Avab kõik teksti redaktorNäiteks Notepad ++. Kui tead, kuidas see formaat on paigutatud, saate neid juba muuta. Kuid koostatud käivitatavate failide puhul peavad rakendama erilisi vahendeid.

Toimetaja Eclipse. See on programmeerija täieõigusliku platvormi keskkond. Te saate arendada kaasaegsetes keeltes ja valmistada käivitatavad failid, sealhulgas Android. Kolmapäeval saab paindlikult häälestada arvukate plug-ins.

Android SDK. . Nagu selgelt nimest, on see spetsialiseerunud vahendid arendamiseks mobiilsed programmid See on Androidi all. Sellega saate kergesti dekompileerida kellegi teise rakenduse käivitatavaid faile või kirjutada oma nullist. Seda eristatakse asjaolu, et soovi korral ühendab teie koodi silumiseks ja katsetamiseks erinevaid mooduleid, et testida programme ühilduvuse erinevate vidinate ja nii edasi.

APK Downloader. See on plugin brauseri kroom., võimaldades selle APK-programmide väga kergesti allalaadimist mis tahes saitidest ja nende struktuuri vaatamiseks. Selleks saate isegi Google Play'is registreerida.

APK redaktor. Toimetaja töötada ressursside sees APK paketid. Mitte nii võimas nagu Eclipse, kuid otsustavad palju lihtsaid ülesandeid. Näiteks saate eemaldada reklaamplokid Programmist asenda veneliige liides, asendage ikoonid või tekstuurid ise ja palju muud.

Mõnikord mõned rakendused Android ei ole kasutajaga rahul. Näiteks saate tuua tüütu reklaam. Ja see juhtub ja nii - igaüks on programmi jaoks hea, kuid ainult selles ei ole tõlget ega kõverat või ei ole kedagi. Või näiteks prooviprogramm ja saada täisversioon Ei ole võimalik. Kuidas olukorda muuta?

Sissejuhatus

Käesolevas artiklis räägime selle kohta, kuidas APK-paketi rakendusega lahti võtta, kaaluge selle sisemist struktuuri, demonteerimist ja baasikoodi dekompressioone ja proovige teha mitmeid muudatusi rakendustes, mis võivad tuua meid ühe või teise.

Selleks, et teha kõik ise, siis on vaja vähemalt esialgseid teadmisi Java keele kohta, millele Android-rakendused on kirjutatud ja Androidis kasutatav XML-keel on kõikjal rakenduse kirjeldusest ja selle juurdepääs Õigused salvestada jooni, mis kuvatakse ekraanil. Samuti on vaja ka spetsialiseeritud konsooli tarkvara käitlemist.

Niisiis, milline on pakett APK, mis hõlmab absoluutselt kogu Android tarkvara?

Rakenduste dekompingitus

Artiklis töötasime ainult demonteerimise rakenduskoodiga siiski, kui suured rakendused Tehke tõsiseid muudatusi, et välja selgitada SMALI-kood on palju keerulisem. Õnneks saame dex-koodi dex-koodi dekompileerida, mis ei ole originaalne ega koostanud tagasi, vaid palju lihtsam lugeda ja mõista rakenduse loogikat. Selleks on meil vaja kahte tööriistu:

  • dEX2JAR - Dalvik bait-koodi tõlkija JVM bait koodi põhjal, mille põhjal saame koodi Java-keeles;
  • jD-GUI on dekompileerija ise, mis võimaldab teil saada loetava Java-koodi JVM bait-koodist. Teise võimalusena saate kasutada JAD (www.varaneckas.com/jad); Kuigi see on üsna vana, kuid mõnel juhul tekitab rohkem loetavamat koodi kui JD-GUI.

Kasutage neid järgmiselt. Esiteks, käivitage Dex2jar, juhtides teed APK-paketi argumendiks:

% Dex2jar.sh Mail.apk.

Selle tulemusena ilmub Mail.jar Java pakett praeguses kataloogis, mida saab JD-GUI-sse juba avada Java-koodi vaatamiseks.

APK paketi seade ja nende hankimine

Pakett android-rakendusedTegelikult on tavaline ZIP-fail, et vaadata sisu ja lahtipakkimist, mille kohta ei ole vaja spetsiaalseid tööriistu. Sellest piisab, et Accover - 7ZIP Windows või konsooli Unzip Linuxis. Aga see puudutab ümbris. Mis sees? Sees on meil üldiselt selline struktuur:

  • Meta-inf / - sisaldab oma looja tõendava taotluse digitaalset sertifikaati ja pakendifailide kontrollsumma summad;
  • res / - mitmesugused ressursid, mida taotlus kasutab oma töös, näiteks pilte, liidese deklaratiivset kirjeldust, samuti muid andmeid;
  • Androidmanifest.xml. - rakenduse kirjeldus. See hõlmab näiteks nõutavate õiguste nimekirja android versioon ja vajalik ekraani eraldusvõime;
  • klassid.Dex. - Dalviku virtuaalse masina jaoks koostatud baitide rakenduse rakendus;
  • ressursid. - Ka ressursid, kuid teine \u200b\u200b- eriti read (jah, seda faili saab kasutada venestamiseks!).

Loetletud failid ja kataloogid on siis, kui mitte kõik, siis ehk absoluutse enamus APK. Siiski tasub mainida mõningaid mitte nii palju ühiseid faile / katalooge:

  • varad. - ressursside analoog. Peamine erinevus on ressursile juurdepääs. On vaja teada selle identifikaatorit, varade loendit saab dünaamiliselt kasutada Assetmanager.List () meetodi rakenduskoodis;
  • lib - Native Linuxi raamatukogud, mis on kirjutatud NDK (Native Development Kit).

See kataloog kasutab mängutootjaid, paigutades seal mängu mootori, mis on kirjutatud C / C ++, samuti suure jõudlusega rakenduste loojad (näiteks Google Chrome.). Seade arvasin välja. Aga kuidas saada huvipakkuva rakenduse paketi faili? Kuna seadmest ilma, et APK-failide vastuvõtmine ei ole võimalik, ei ole võimalik (nad asuvad / Data / App Directory) ja see ei ole alati asjakohane käsitseda, on vähemalt kolm võimalust, et saada rakendusfaili arvutisse:

  • aPK allalaadija laiendamine kroomile;
  • taotlus Real APK Lecher;
  • erinevad failide jagamise ja lukustamise.

Millest üks kasutab, on maitse küsimus; Me eelistame kasutada eraldi rakendusedNii kirjeldame reaalse APK-i kasutamist, eriti kui see on kirjutatud Java ja seetõttu töötab see vähemalt Windowsis, isegi Nixes'is.

Pärast programmi käivitamist peate täitma kolm välja: e-post, parool ja seadme ID - ja valige keel. Esimesed kaks on e-posti ja teie googleaccount parool, mida kasutate seadmes. Kolmas on seadme identifikaator ja seda saab saada numbri koodi kirjutamisel # #8255## Ja seejärel seadme ID-stringi leidmine. Täites peate sisestama ainult ID ilma Android eesliide ilma.

Pärast täitmist ja salvestamist sõnum "Viga serveriga ühendamisel" hüppab. See ei ole seotud Google Play'ga, nii julgelt ignoreerib ta seda ja otsima pakette, mida olete huvitatud.

Vaade ja muutmine

Oletame, et olete leidnud paketi, mis teid huvitab, allalaaditud, lahtipakkimata ... ja kui üritate vaadata XML-faili, oli üllatunud, et fail ei ole tekst. Mida dekompileerida ja kuidas töötada pakettidega? Kas see on tõesti vajalik SDK panna? Ei, SDK ei ole üldse vajalik. Tegelikult vajate kõik sammud pakendi lahtipakkimiseks, muutmiseks ja pakendipakenditeks APK-l vaja järgmisi tööriistu:

  • archiver Zip. lahtipakkimise ja otsingute jaoks;
  • smali. - Dalviku virtuaalse masin (kood.google.com/p/p/p/p/p/smali) kokkupanek / displembler bait-kood;
  • aapt. - ressursside vahend (vaikimisi ressursside salvestatakse binaarses vormis, et optimeerida rakenduste jõudlust). See on kaasatud Android SDK-sse, kuid seda saab eraldi saada;
  • ajakirjanik. - muudetud pakendi digitaalallkirja vahend (bit.ly/rmrv4m).

Võite kasutada kõiki neid vahendeid individuaalselt, kuid see on ebamugav, mistõttu on parem kasutada neile ehitatud kõrgema taseme tarkvara. Kui töötate Linuxis või Mac OS X-s, siis on olemas tööriist APKTOOL. See võimaldab teil eraldada ressursse originaal tüüpi (sh binaarne XML ja Arsc faile), reoperi paketi modifitseeritud ressurssidega, kuid ei tea, kuidas kirjutada paketid, nii et käivitada allkirjastamise utiliit on käsitsi. Hoolimata asjaolust, et kasulikkus on kirjutatud Java-s, on selle paigaldamine üsna mittestandardne. Kõigepealt peate JAR-faili ise saama:

$ CD / TMP $ Wget http://bit.ly/wc3ocz $ tar -xjf apktool1.5.1.tar.bz2

$ Wget http://bit.ly/wrjec7 $ tar -xjf apktor-install-linux-r05-ibot.tar.bz2

$ MV APKTOOL.JAR ~ / Bin $ MV APKTOOL-install-Linux-R05-IBOT / * ~ / bin $ ekspordi tee \u003d ~ / bin: $ tee

Kui te töötate Windowsis, siis selle jaoks on see suurepärane tööriist, mida nimetatakseVIRTOPE TEN STUDIO, mis koguneb ka kõik need tööriistad (sh APKTOOL ise), kuid CLI liidese asemel pakub kasutajale intuitiivselt arusaadavat graafiline liidesMillega saate teha operatsioone lahtipakkimise, demonteerimise ja dekompressioone mitme klõpsuga. See annetus-ware tööriist, mis tähendab mõnikord akende ettepaneku saada litsentsi, kuid see on lõpuks, võite kannatada. See ei tee ühtegi punkti selle kirjeldamisel, sest saate mõne minuti jooksul kasutajaliidese mõista. Kuid APKTOOL oma konsooli looduse tõttu tuleks üksikasjalikumalt arutada.


Mõtle APKTOOL võimalusi. Lühidalt öeldes on kolm põhikäsi: D (dekodeerimine), B (build) ja kui (paigaldage raamistik). Kui kõik on kahe esimese võistkonnaga selge, siis mida kolmas tingimuslik operaator teeb? See pakkida määratud UI raamistiku, mis on vajalik juhtudel, kus kuvatakse mis tahes süsteemi paketi.

Kaaluge esimese meeskonna kõige huvitavamaid võimalusi:

  • -S. - Ärge võtke dex-faile lahti;
  • -r. - Ärge unustage ressursse;
  • -B. - Ärge asetage dex-faili lahtivõtmise tulemustesse dexug-teavet;
  • -Frame-tee - Kasutage määratud UI raamistikku sisseehitatud apktool asemel. Nüüd kaaluge B-meeskonna jaoks paar võimalust:
  • -f. - sunnitud kokkupanek ilma muudatusteta;
  • -a. - Märkige tee Aapt (tööriist APK-arhiivi kokkupanemiseks), kui soovite seda mõnel põhjusel kasutada teisest allikast.

APKTOOL on väga lihtne kasutada, see on piisav, et määrata üks käske ja tee APK-le, näiteks:

$ apktool d mail.apk

Pärast seda ilmuvad e-posti kataloogi kõik ekstraheeritud ja demonteerimise pakendi failid.

Preparaadid. Reklaami väljalülitamine

Teooria on muidugi hästi, aga miks see on vajalik, kui me ei tea, mida teha pakkimata paketiga? Proovime rakendada teooriat kasu ise, nimelt me \u200b\u200bmuudame mõningaid kohti, et see ei näita meile reklaami. Näiteks olgu see virtuaalne taskulamp - virtuaalne taskulamp. Meie jaoks sobib see tarkvara ideaalselt, sest see on hämmastav reklaam ja on ka üsna lihtne, et koodides ei kaotaks.


Niisiis, üks järgmistest meetoditest, laadige alla taotluse turule. Kui otsustate kasutada vooruslikku kümme stuudio, avage APK-fail rakenduses APK-fail ja pakkige see projekti loomiseks (fail -\u003e uus projekt), seejärel valige kontekstimenüüs importfail. Kui teie valik langes apktoolis, piisab ühe käsu täitmiseks:

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

Pärast seda ilmub COM.KAUF.PARTICE.VIRTORALTORCH Directory failipuu sarnane eelmises osas kirjeldatud, kuid valikulise SMALI kataloogi asemel Dex faile ja APKTOOL faili .yml. Esimene sisaldab rakenduse käivitatava dex-faili lahtivõtlemise koodi, teine \u200b\u200b- APKTOOLi vajaliku teeninduse teave paketi tagasi ehitamiseks.

Esimene koht, kus me peame vaatama, on muidugi Androidmanifest.xml. Ja siin tähistame kohe järgmise rea:

Ei ole raske ära arvata, et ta vastutab taotluse kasutamise eest Interneti-ühenduse kasutamisele. Tegelikult, kui me tahame lihtsalt vabaneda reklaamist, on meil tõenäoliselt internetirakenduse keelamiseks piisav. Proovime seda teha. Me kustutame määratud stringi ja proovime tarkvara koguda APKTOOL abil:

$ APKTOOL B com.kauf.Particle.Virtualtorch

Com.kauf.particle.Virtualtorch / Build / Build / Build / Build / Build / Build / Build / Ehitamine / ilmub. Siiski ei ole võimalik seda installida, kuna tal ei ole digitaalset allkirja ja kontrollisummad Failid (IT-i meta-INF kataloogi ei ole). Me peame allkirjastama paketi APK-Signeri utiliidi abil. Algas. Liides koosneb kahest vahekaardist - esimesel (võtmegeneraator) loome võtmed teise (APK allkirjastaja). Meie privaatvõtme loomiseks täitke järgmised väljad:

  • Sihtfail. - väljundvõti salvestamise fail; Tavaliselt salvestatakse see üks paari võtmeid;
  • Parool. ja Kinnitage. - hoidla parool;
  • Teise nimega. - hoidla võtme nimi;
  • Alias \u200b\u200bparool. ja Kinnitage. - parooli salajane võti;
  • Kehtivus - Kehtivusaeg (aastatel). Vaikeväärtus on optimaalne.

Ülejäänud valdkonnad on üldiselt vabatahtlikud - kuid on vaja täita vähemalt üks.


Hoiatus

Rakenduse allkirjastamiseks APK-allkirjastaja abil peate installima Android SDK ja määrake selle rakenduse seadetes täieliku tee.

Kogu teave on esitatud üksnes informatiivsetel eesmärkidel. Ei toimetajad ega autor ei vastuta võimaliku kahju põhjustatud materjalide käesoleva artikli.

Nüüd saab seda klahvi allkirjastada APK. Vahekaardil APK allkirjastaja valige äsja genereeritud fail, sisestage parool, klahvi alias ja sellele parool, siis leidke fail APK ja julgelt vajutage "Sign" nuppu. Kui kõik läheb hästi, allkirjastatakse pakett.

Info.

Kuna oleme sõlminud paketi meie enda võtme järgi, siis see on vastuolus algse taotlusega, mis tähendab, et kui proovite oma kohti turul värskendada, siis me saame vea.

Digitaalallkirja vajab ainult kolmanda osapoole tarkvara, nii et kui teil on modifitseeritud süsteemi rakenduste abil, mis on paigaldatud, kopeerides / süsteemi / app / app / app / app, siis te ei pea neid allkirjastama.

Pärast seda viskame paketi oma nutitelefoni, installige ja käivitame. Voila, reklaam kadunud! Selle asemel ilmnes sõnum siiski, et meil ei ole interneti või ei ole asjakohaseid õigusi. Teoreetiliselt võib see olla piisavalt, kuid sõnum tundub tüütu ja ja ausalt, me olime lihtsalt õnnelikud nüri rakendusega. Tavaliselt kirjutatud tarkvara, tõenäoliselt selgitab oma volitusi või kontrollige internetiühenduse olemasolu ja vastasel juhul keelduvad see lihtsalt alustamisest. Kuidas olla sel juhul? Muidugi muutke koodi.

Tavaliselt loovad rakenduse autorid spetsiaalseid klassi reklaami- ja nende klasside meetodite meetodeid käivitamise ajal taotluse või ühe tegevusega "(lihtsustatud rääkimine, rakenduste ekraanid). Proovime leida need klassid. Me läheme Smali kataloogi, siis com (Org Ainult avatud Cocos2D graafika raamatukogu), millele järgneb Kauf (see on seal, sest see on arendaja nimi ja on kõik selle kood) - ja siin on see Turundus Kataloog. Sees leiame SMALI laienemisega hunnikut. Need on klassid ja kõige tähelepanuväärsem klass Ad.Smali on kõige tähelepanuväärsem, mille nimel ei ole raske ära arvata, mida ta reklaamib.

Me võiksime muuta oma töö loogikat, kuid palju lihtsam eemaldab rumalalt väljakutsed mis tahes meetodite väljakutsed rakendusest ise. Seetõttu lahkume turundusraamatusse ja läheme lähedal asuvatesse osakeste kataloogi ja seejärel Virtualtorchis. Erilist tähelepanu siin väärib maincract.smali faili. See on Android-klassi standard, mis on loodud Android SDK poolt ja on paigaldatud rakenduse sisendpunktina (põhifunktsiooni analoog C). Avage fail redigeerimiseks.

Sees on SMALI kood (kohalik kokkupanek). See on üsna taandunud ja raske lugeda selle madala taseme olemuse tõttu, nii et me ei uurige seda, vaid leiame, kuid leiame kõik viited koodi klassis ja kommenteerivad neid. Sõida string "AD" otsing ja langus rida 25:

Field Private AD: LCOM / Kauf / Marketing / AD;

Reklaami väljad luuakse siin klassi reklaamobjekti salvestamiseks. Vaatame enne stringi ### allkirjastamist. Jätkame otsingut. Rida 423:

Uus-eksemplar V3, Lcom / Kauf / Marketing / AD;

Siin on objekti loomine. Kommentaar. Jätkame otsida ja leida read 433, 435, 466, 468, 738, 740, 800 ja 802 kaebused klassi AD klassi meetodeid. Kommentaar. Vaata niimoodi. Me salvestame. Nüüd tuleb pakend koguda tagasi ja kontrollida selle tulemuslikkust ja reklaami kättesaadavust. Katse puhtuse eest tagastame kaugjuhtimispuldi Androidmanifest.xml stringist, koguda pakett, tellida ja installida.

Meie eksperimentaalne küülik. Näinud reklaami

OP-PA! Reklaam kadus ainult taotluse ajal, kuid jäi peamenüüsse, mida me näeme, kui me pehme käivitame. Niisiis, oodake, aga lõpuks on sisenemispunkt matraktivialaklassi ja reklaami kadus rakenduse ajal, kuid jäi peamenüüsse, siis sisenemispunkt on erinev? Tõelise sisenemise punkti paljastamiseks avage androidmanifest.xml-fail. Ja jah, sellel on järgmised read:

Nad ütlevad meile (ja veelgi tähtsam, Android), et tegevus nime alguse algus peab toimuma vastuseks kavatsuse (sündmuste) android.intent.action.Main kategooria Android.Satenr.Launcher. See sündmus genereeritakse, kui ta ei kasutata Lacher'i rakenduse ikooni, nii et see määrab sisenemispunkti, nimelt Start-klassi. Tõenäoliselt kirjutas programmeerija esmakordselt rakenduse ilma suure menüüta, mis oli sisenemispunkt, mis oli standardne maineklassi ja lisas uue akna (aktiivsus), mis sisaldas menüüd ja kirjeldatud Start klassis ja käsitsi valmistatud IT sisendpunkti .

Avage algus.smali fail ja uuesti otsivad reklaami stringit, leiame Line 153 ja 155 INTERNAADI klassi. Ta on ka allikas ja otsustades nime järgi, vastutab lihtsalt peaekraanil reklaamide kuvamise eest. Me vaatame kaugemale, on näiteks esmese klassi ja kavatsuse astme juhtum vastavalt selle eksemplari suhtes ja seejärel COND_10 märgisele, mis on tingimuslik üleminek, millele täpsus viiakse läbi enne Klassi eksemplar:

IF-NE P1, V0, COND_10 .LINE 74 Uus-eksemplar V0, Landroid / sisu / kavatsus; ...: Cond_10

Tõenäoliselt arvutab programm kuidagi juhuslikult, kas näidata reklaami põhiekraanil ja kui mitte, hüppab kohe Cond_10-le. OK, me lihtsalt lihtsustame ülesande ja asendame tingimusliku ülemineku tingimusteta:

# IF-NE P1, V0 ,: Cond_10 goto: Cond_10

Koodis ei ole enamasti esmasmärgi viiteid, nii et me sulgeme faili ja kogume uuesti meie virtuaalse tõrviku abil APKTooli abil. Kopeeri oma nutitelefoni, installida, käivitada. Voila, kogu reklaam kadus, millega me õnnitleme kõiki.

TULEMUSED

See artikkel on vaid lühike sissejuhatus Android-rakenduste avamise ja muutmise meetoditele. Stseenide jaoks jäi paljud küsimused, näiteks kaitse eemaldamine, obfused koodi analüüs, tõlkimine ja rakendusressursside asendamine, samuti kirjutatud rakenduste muutmine androidi kasutamine NDK. Kuid põhiteadmiste põhjal mõistavad seda kõike - ainult aja küsimus.

APK redaktori pro, mida saate oma veebisaidil Androidile alla laadida, võimaldab teil häkkida / muuta mis tahes rakenduse failide sisu mobiilseadmed Ja seadke see oma äranägemisel.

Funktsioonid

Programm on professionaalne utiliit, et arenenud kasutajate käes saab saada võimas vahend Android-rakenduste redigeerimiseks. Funktsionaalsus on praktiliselt erinev sarnastest tarkvara Personaalarvutite jaoks.

Mida saab see utiliit teada?

  1. Muuta (Translate) nimed teiste rakenduste.
  2. Muuda arhitektuuri paigutusi, värve, malle graafilised seaded (Näiteks ikoonide suurus).
  3. Muuda audio disaini, meediafaile.
  4. Kustuta reklaam.
  5. Tasulise sisu blokeerimine.
  6. Taotluse edastamine seadme sisemälust SD-kaardile.
  7. Muuda luba ja palju muud.

Et mõista, kuidas kasutada kasulikkust, peate alla laadima APK Editor Pro ja mine menüüsse. Seejärel vali kas juba paigaldatud rakendus Androidil või tema APK-failis. Pärast seda avatakse vaikimisi andmed, mida kasutaja saab muuta:

  • ressursside redigeerimine;
  • failide vahetamine;
  • Üldine redigeerimine;
  • andmete redigeerimine.

Programm teeb ettepaneku luua muudetud valik. Mitte kõigil juhtudel see toimib, nii et vana versioon Tuleb käsitsi eemaldada ja uue paigaldada. Pärast kustutamist valige APK redaktori kaust (saate kasutada ES dirigenti, et kasutada Androidi programme ja leida modifitseeritud rakendusfaili, installige see seadmele.

Programm on erinev mugav interface. Navigeerimine on üsna lihtne, kuid kasutaja peab omama inglise keele oskusi.

Eelised ja puudused

  1. Programm avab laia valikut rakendusi rakenduste loomiseks.
  2. Menüüs on osa abi, mis lihtsalt ja kirjeldab üksikasjalikult suur hulk võimalusi Festior programmi. Seetõttu ei pea kasutajad programmeerimisel kaugel otsima näiteid ja redigeerimisjuhiseid kolmandate osapoolte ressursside kohta.
  3. Saate oma veebisaidile tasuta programmi alla laadida.

Selle utiliidi kasutamine nõuab mõningaid oskusi ja teadmisi. In kogenematu kasutaja käes võib redigeerimine viia terviklikkuse häireteni. faili süsteemSee lõppkokkuvõttes toob kaasa rakenduste talitlushäireid. Abi menüüs on näiteid pilte ja näpunäiteid APK redaktori õige kasutamise kohta Androidile. Seega, kui soov tekib selle programmi tegelema, piisab juhiste järgimiseks.

Toimetaja on piisav kasulik vahend Neile, kes seisavad silmitsi ebamugava rakenduse liidesega (vene, püsiva reklaami, bännerite jne puudumine jne). Kui olete seda programmi juba nautinud, jagage oma märkusi allpool oma muljeid.