Hogyan és hogyan lehet szerkeszteni az Android alkalmazások. Az Android alkalmazások megnyitása, módosítása és csomagolása

Ez ismét engem és az én utasításom a teáskannák és a kávéfestők számára képekkel.

Ezúttal részletesen elmondom neked az Android rendszerelemek cseréjét az állapotsor módosításának példáján.

Az Android egy kis Linux. Ezt a fájlok cseréjekor számos szabályt kell követnie, hogy a telefon ne váljon téglából, és újjáéledjen, hogy csak az összes adat elvesztése legyen belső memória Eszközök. A belső szakaszok formázva vannak a FAT32-en kívüli fájlrendszerbe a flash meghajtóknál. A fájl tulajdonságai között többek között engedélyeket tárolnak a különböző felhasználói csoportok (a fájl tulajdonosa, a fájl gazda csoportja, a többi felhasználó). Működés közben S. rendszerfájlok Meg kell menteni őket, mert a rendszer betöltésekor egyszerűen nem tud hozzáférni őket, és nem indul el normálisan.
Kezdjük az eszköztárral.

Szükségünk van:

  • Fájlkezelő, amely a root jogokkal és a fájljogosságokkal dolgozik. A root Explorer a legjobb (megvásárolta, igen?)
  • Maga a módosított fájl, amelyet egy astermina-állomást szeretne tenni (link a cikk végén).

Most használjuk az egyik kényelmes root Explorer funkciót. Tegyünk egy hosszú csapot jobb fájlA helyi menü hívásához

És kattintson az elemre " Zip ezt a fájlt."A fájl mentéséhez az SD-kártyán található Zip Archívumban. Archiválás után ilyen üzenetet kapunk:

Nyomja meg a gombot " Marad.- Hogy maradjanak a mappában, és csinálj valami mást.

Most minden készen áll a fájl cseréjére.
Már beszéltem az egyes fájlokhoz való hozzáférési jogokról. Ahhoz, hogy új fájlon újrakezdje őket, először látnod kell őket a régiektől. Ezeket az "rwxrwxrwx" karakterek képviselik. Az 1. triad - a tulajdonos jogai, a 2. - a tulajdonoscsoportok, a 3. - minden más felhasználó. Fájlunk a megfelelő "RW-R - R-".

Most menjen egy SD-kártyára, találunk egy módosított fájlt, és kiválasztjuk a helyi menüből " Másolat"De nem siet, hogy azonnal válassza ki a" / System / App "mappát, mert azonnal befolyásoljuk a rendszert. Ehelyett másolja a fájlt egy speciális mappába az ideiglenes fájlok" / adat / helyi / tmp "fájlhoz A rendszer elfogadja a rendszert.
Kezdje, hívja a fájl helyi menüjét, és válassza az Elem lehetőséget Átnevezés."És vezessük be a" Systemui.apk "fájl nevét. Pontosan azért van, mert a Linux betűk nyilvántartása a névben, azaz a" Systemui.apk "és a" Systemui.apk "különböző fájlok.
Ezután meg kell változtatnod a fájlhoz való jogot, mert most szinte minden bizonnyal rossznak tűnnek. Ehhez ismét hívja a Fájl hosszú érintse meg és válassza a " Engedélyek". Az" RW-R - R- "dobozok szerint kell elhelyezni:

Kattintson a " RENDBEN."És ismét hívja a helyi menüt. Most meg kell változtatnia a tulajdonosát és a csoportot az alkalmazáshoz. Ehhez válassza ki az elemet" Tulajdonosok cseréje". Az ablak megjelenik a fájl aktuális tulajdonosával kapcsolatos információkkal.
Itt van egy kis visszavonulás.
A "/ System / App" mappában minden fájl tulajdonosa a "root" felhasználó (UID \u003d 0) és a "root \u003d 0), és a" / rendszer / keret "mappa dominálja a felhasználói" rendszert " (gid \u003d 1000) és a "System" csoport (GID \u003d 1000).
A fentiek alapján kiállt a kívánt értékeket és kattintson a " RENDBEN.".
És harmadik alkalommal hívja fel a fájl helyi menüjét, és válassza ki azt. Másolat"És a Másolás párbeszédablakban lépjen a" / System / App "mappába. Most már bátran kattintunk a" Paszta.- És óvatosan olvassa el.
Majdnem azonnal, a rendszer azt fogja jelenteni, hogy az állapotsor folyamat hirtelen befejeződött, és azt javasolja, hogy futtassa. Minden kísérlet sikertelen lesz. Számos cselekvésnek kell lennie az ablakok megjelenése között. A gomb megnyomása előtt meg kell hívnia a készüléket a menüben, figyelmeztetni fogja. Most el kell helyezni az ujját a gomb bal oldalán. Most gyorsan kattints háromszor az ujjával, hogy legyen idő a figyelmeztetés bezárásához, válassza ki a leállítási elemet, és erősítse meg a szándékait.
Most várjuk a telefon leállítását, újraindítjuk, és élvezzük az eredményt, vagy nem élvezhetik és keresnek hibát.

Szerkesztés rendszeralkalmazások Az Android leggyakrabban az okostelefon felhasználója, egy tabletta vagy más készülék által kezelt készülék felhasználója operációs rendszer, megállítja az áramot megjelenés az eszköz gyártójában vagy az eladóban telepített programok. Egy másik oka lehet annak szükségessége, hogy ne csak változásokat végezzen grafikai tervezés Android alkalmazások, de befolyásolják a különböző elemek helyét és az alapfunkciókat.

A kód módosítása érdekében szinte bármilyen nyelven (előnyösen - Java és C ++) elemi programozási készségek szükségesek. A grafika cseréjéhez egyenes kéz és készség alkalmas egy grafikus szerkesztőben való munkához.

Először is el kell döntenie, hogy szükség van-e egyszerűen cserélni a grafikát az Android alkalmazásokban, vagy meg kell változtatni a rendszer elemeinek helyét, és mélyebb változtatásokat végez a kódban. Ebből a következő lépésektől függ, amely az alkalmazással együtt dolgozik, mint az archívummal vagy annak teljes szétszerelés és szerkesztés.

Grafika módosítása Android rendszeralkalmazásokban

Annak érdekében, hogy egyszerűen cserélje ki vagy módosítsa az eredeti grafikákat (módosítsa a gombok színét, a redraw képek stb.), Elég szabványos számítógép winRar Archiver. A készüléken ugyanakkor a felhasználónak ruth jogokkal kell rendelkeznie (analóg számla Rendszergazda a Windows rendszeren), és kívánatos, hogy alternatív helyreállítás (CWM) és root kizsákmányoló legyen (az Android fájlrendszer közvetlenül a készülékbe).

Először is lehetővé kell tennie az eszköz USB-hibakeresésében, majd csatlakoztassa egy számítógéphez USB kábellel és telepítse a szükséges illesztőprogramokat. Általában vannak virtuális lemezamely számítógéphez csatlakozik.

Ezután letöltenie kell egy adb-plug-síkot az interneten. Ez a plugin lehetővé teszi, hogy a teljes Android rendszert kapcsolt lemezként mappákkal látja. Minden rendszeralkalmazás a cím / rendszer / alkalmazás, valamint / rendszer / keretrendszeren található. A kívánt alkalmazás megtalálása egyszerűen másolja át a számítógépre. Ha a bővítmény nincs telepítve, az alkalmazást az APK kiterjesztéssel másolja a kivehető SD-kártyára a Rut-Explorer segítségével, majd már a számítógépen.

Másolás után az ilyen alkalmazás A grafika szerkesztése. By the way, az összes kép az Android alkalmazásokban mentésre kerülnek png formátumamely könnyen megnyílik minden grafikus szerkesztővel. Az alkalmazásfájl megnyitása WinRar segítségével számos mappát láthat. Mi csak a res mappa, amelyen belül megtalálható, sokat találunk különböző mappák. Ezek közül csak azok, akiknek a nevükben a "Drawable" szó szükséges.

Ne feledje, hogy a készülék típusa és felbontása a képernyőn. Ha ez egy okostelefon, és a felbontás 240x320, akkor érdeklődünk a rajzolható és rajzolható-ldpi mappában. Ha a 320x480-as felbontás, a Drawable és a Drawable-MDPI mappa, valamint a 480x800-as rofiferáció és a rajzolható-HDPI mappák felbontása. Ezen túlmenően mindkét mappa is jelen van, amelynek címében van a "Land" szó - ezek grafikák a portré módban, azaz. Amikor a készülék döntött.

Ha a tabletta kezében van, akkor csak a rajzolható és rajzolható-mdpi mappák érdeklődnek a képernyőfelbontáshoz.

A kiválasztott mappák számítógépre történő másolásával helyettesítheti vagy átfedheti az eredeti képeket a kívánt és kellemes szemre. Különös figyelmet kell fordítania a 9.png felbontású képekre. Az a tény, hogy az ilyen kép kerülete körül egy speciális, speciális címkékkel rendelkező egy pixeles képkocka van, amelynek integritása megsértése meghibásodást eredményez az alkalmazásban. Ezért figyelembe kell venni az ilyen fájlok szerkesztésekor nagyobb óvatosságot.

A szerkesztés után a mappa befejeződött, vissza kell tölteni az archívumba, amely az alkalmazás az APK kiterjesztésével. Ugyanakkor meg kell választani a "tömörítés nélkül" opciót a WinRar-ban.

Az alkalmazandó alkalmazást vissza kell pumpálni az eszközbe, vagy a gyökér feltáró használatával (először a fájl az SD-kártyára másolódik, és már a készülékben), vagy a helyreállítás után - azonnal a számítógépről a mappába / rendszerre Alkalmazás vagy / rendszer / keretrendszer. Ezután szükség van a Rut-Explorer vagy az ADB engedélyek plugin megfelelő opcióinak használatával. A készülék újraindítása után a frissített alkalmazás működésének eredményét láthatja.

A rendszeralkalmazások forráskódjának szerkesztése

Egy kicsit több erőfeszítést kell fordítani a rendszeralkalmazások forráskódjának szerkesztésére. Annak érdekében, hogy szétszerelje és összegyűjtse az alkalmazást a módosítások után, több következő lépést kell végrehajtania.

1) Telepítse a szükséges szoftvercsomagot a számítógépre. legutóbbi verziók: Java SE Runtime Environment és Android SDK ablakok. (Programok az alkalmazásokkal és azok összetevőivel való munkavégzéshez), Apktool vagy Apkmanager vagy firmware_tool (a három szétszerelési és dekomplettációs rendszeralkalmazás egyike), Notepad ++ szerkesztő (az Android rendszer alkalmazások forráskódjának módosítása).

2) Tartalmazza a "Debug by USB" eszközt, csatlakoztassa egy számítógéphez USB kábellel, telepítse a szükséges illesztőprogramokat a készülékkel való munkához.

3) A fenti programok egyikének használata az alkalmazáskóddal való munkához, a telefonról a programmappa / rendszer / keretprogram (teljesen) és a rendszeralkalmazások megfelelő mappájába kell távolítani a / System / App mappából. Például a Firmware_Tool program a fájlokat a telefonra kell másolni a mappát C: FirmwareToolfw_Project1_Source2_System.img_unpacked a megfelelő almappákat (alkalmazások - az App mappában fájlok Framework - a Framework mappa). Mindkét és más programok használata esetén el kell olvasnia az utasításokat.

4) Telepítse a "referenciakeret", azaz Azoknak a szabályzatnak megfelelően, amelyek szerint a decompilációt elvégzik (azaz a kód szétszerelés) és a kompiláció (azaz a kód összeszerelési) alkalmazások.

Ebben az előkészítéssel a rendszeralkalmazásokkal való munkavégzéshez.

Alkalmazás feltöltése az eszközről, és töltse le őket vissza, hasonló a "Változó grafika az Android rendszer alkalmazásaiban" leírt eljáráshoz.

Az Application Code Android szerkesztése általában a Notepad ++ szerkesztővel történik - az egyik legkényelmesebb szövegszerkesztővel, azzal a lehetőséggel, hogy kiemelje a kiválasztott programozási nyelv szintaxisát. Rendszerként, ha a szerkesztés egyszerűen módosíthatja a grafikákat a kiválasztott grafikus szerkesztő segítségével.

A szerkesztés befejezése után a módosított alkalmazás vissza van töltve az eszközbe, és a készüléket újra kell indítani. Haladóbb szerkesztők a hibakeresési alkalmazásokhoz, mielőtt letöltenék az eszközhöz, különböző emulátorokat használnak, mint például az Eclipse a Google-tól.

Az Android platform programjai az egyetlen fájl az APK kiterjesztéssel, ami nagyon kényelmes. Tény, hogy bármilyen program telepítése okostelefonra vagy táblagépre kerül egyszerű másolás A gadget. Mi az apk fájl és hogyan láthatom, mi belül?

Mi az APK fájl?

Az APK rövidítést az Android csomag készlet - végrehajtható fájlok csomagja az Android alkalmazásokhoz. Ez egy archívum, amely összeállított és kész kódokat és egyéb erőforrásokat tartalmaz. Az APK fájlokat az internetes oldalakon tárolják, mint például A Google Play.Hol lehet letölteni és telepíteni őket a modulba. Nem titkosításnak vannak kitéve.

Szerkezetét a fejlesztő a környezetben való futáshoz készíti. virtuális gép Dalvik vagy művészet. Ezek a gépek beágyazódnak Androidba, minden olyan alkalmazást indítanak el, amely a készüléken található.

Maga az APK fájl a szokásos archívum, amelyet bármely archiváló segítségével nyithat meg windows környezet. Például WinRar, vagy fájl kezelőamely megnyitja a zip-archívumokat. Lássuk, mi van ott.

  • A végrehajtható fájl a DEX kiterjesztéssel (név lehet bármely), ami csak a kódkód.
  • Az IT mellett az erőforrások.arsc, ez az erőforrás-nyilvántartás, amelyet a programnak használnia kellene. Ez XML formátumú szerkezet.
  • Az AndroidManifest.xml egy olyan program kötelező fájlja, amely a főbb információkat tartalmazó manifesztumot tartalmazza. Például a program verziója, az Android, a fejlesztői adatok, a szükséges képernyő felbontások és így tovább rögzíthető.
  • A Res Directory olyan belső erőforrásokat tartalmaz, amelyeknek szüksége van egy programra. Előfordulhat, hogy minden kép, jelvény, ikon, kártya és így tovább.
  • LIB katalógus - Natív könyvtárak a programhoz, például C ++ kód. Lehet, hogy ez a könyvtár nem hiányozhat, ha a könyvtárakat nem használják.
  • Eszközök könyvtár - További források az alkalmazáshoz, szintén hiányozhat. Milyen erőforrásokat kell használni, amelyeket az erőforrásokban ismertetünk.
  • Meta-Inf katalógus - Program metaadatok. Például a manifest.mf fájl, amelyben az adatok és az ellenőrizési módok lehetnek. Az RSA tanúsítványfájlja itt tárolható, a manifeszt-változat verziójáról és a hasonló üzleti információkról.

A népszerű szerkesztők áttekintése Ark fájlok

Amint már említettük, kicsomagolhatja az APK fájlt bármely zip-archiválóval. Ezt követően megtekintheti az ott tárolt erőforrásokat.

A képekkel egyáltalán nem lesz probléma, minden releváns programban megnyílik. XML formátum Megnyitja szöveg szerkesztő, Például Notepad ++. Ha tudja, hogyan van ilyen formátum, akkor már szerkesztheti őket. De az összeállított futtatható fájloknak speciális eszközöket kell alkalmazniuk.

Editor Eclipse. Ez egy teljes körű platform környezet a programozó számára. Bármely modern nyelven dolgozhat ki, és előkészítheti a végrehajtható fájlokat, beleértve az Androidot is. A szerda rugalmasan hangolható számos plug-in használatával.

Android SDK. . A névtől egyértelműen ez egy speciális eszköz a fejlődéshez mobil programok Android alatt van. Ezzel könnyedén elnyomhatja a végrehajtható fájlokat valaki más alkalmazásával, vagy írhatja meg saját karcolását. Megkülönbözteti az a tény, hogy ha szükséges, összekapcsolja a különböző modulokat a kód hibakereséséhez és teszteléséhez, a különböző modulok kompatibilitásának teszteléséhez, és így tovább.

APK letöltő. Ez egy plugin böngésző króm., lehetővé téve, hogy nagyon könnyen letölti az APK programokat bármely webhelyről, és megtekintheti a szerkezetüket. Ehhez még nem lehet regisztrálni a Google Playen.

APK szerkesztő. Szerkesztő dolgozni az APK csomagokban lévő erőforrásokkal. Nem olyan erős, mint az Eclipse, de a döntő készlet egyszerű feladatok. Például eltávolíthatja reklámblokkok A programtól, az interfészt, cserélje ki az ikonokat vagy textúrákat saját, és még sok más.

Néha egyes alkalmazások az Androidon nem elégedettek a felhasználóval. Például hozhatod bosszantó reklám. És ez megtörténik, és így - mindenki jó a program számára, de csak nincs fordítás, vagy nincs görbe, vagy nincs senki. Vagy például a próba program, és kap teljes verzió Nincs lehetőség. Hogyan változtassa meg a helyzetet?

Bevezetés

Ebben a cikkben beszélünk arról, hogyan kell szétszerelni az APK csomagot az alkalmazással, fontolja meg belső struktúráját, szétszerelje és decomplisple bájt kódot, és próbáljon meg több változtatást tenni olyan alkalmazásokhoz, amelyek egy vagy másikat hozhatnak.

Mindezek elvégzéséhez legalább a Java nyelv kezdeti ismeretére van szüksége, amelyen az Android alkalmazások meg vannak írva, és az Androidban használt XML nyelv mindenhol - az alkalmazás leírásából és annak eléréséből A képernyőn megjelenő sorok tárolására vonatkozó jogok. Szüksége van a speciális konzol-szoftver kezelésére is.

Tehát mi a csomag APK, amely abszolút minden szoftvert tartalmaz az Android számára?

Dekomplex alkalmazások

A cikkben csak a szétszerelési kérelem kóddal dolgoztunk, ha nagy alkalmazások Készítsen komolyabb változtatásokat, hogy kitaláljuk, hogy a Smali kód sokkal bonyolultabb lesz. Szerencsére a DEX-kódot egy Java-kódban dekomzik, amely nem lesz eredeti, és nem fordított vissza, de sokkal könnyebb olvasni és megérteni az alkalmazás logikáját. Ehhez két eszközre lesz szükségünk:

  • dex2jar - a Dalvik byte-kód fordítója a JVM byte kódban, amely alapján megkapjuk a kódot a Java nyelven;
  • a JD-GUI maga a Decompiler maga, amely lehetővé teszi, hogy olvasható Java kódot kapjon a JVM byte-kódból. Alternatív megoldásként használhatja a JAD-t (www.varaneckas.com/jad); Bár meglehetősen öreg, de egyes esetekben jobban olvashatóbb kódot generál, mint a JD-GUI.

Használja őket. Először indítsa el a dex2jarot, és rámutat az APK-csomagra vonatkozó érvként:

% Dex2jar.sh mail.apk.

Ennek eredményeként a Mail.jar Java csomag jelenik meg az aktuális könyvtárban, amely már megnyitható a JD-GUI-ban, hogy megtekinthesse a Java kódot.

APK csomag eszköz és kap őket

Csomag android alkalmazásokTény, hogy ez egy rendes zip fájl, hogy megtekinthesse a tartalmat és kicsomagolást, amelynek nincs szükség speciális eszközre. Elég ahhoz, hogy az Archiver - 7ZIP a Windows vagy a konzol Unzip Linux. De a csomagolásra vonatkozik. Mi belül? Belül, általában van ilyen szerkezetünk:

  • META-INF / - tartalmaz egy digitális tanúsítványt az alkalmazás tantárgyaként, és a csomagfájlok ellenőrzési összegét;
  • res / - különböző erőforrások, amelyeket az alkalmazás a munkájában használ, például képeket, az interfész deklaratív leírását, valamint más adatokat;
  • Androidmanifest.xml. - Alkalmazásleírás. Ez magában foglalja például a szükséges engedélyek listáját android verzió és a szükséges képernyőfelbontás;
  • osztályok.dex. - a Dalvik virtuális gép szerinti byte alkalmazáskérelme;
  • erőforrások.arsc. - Resource, de egy másik fajta - különösen a vonalak (igen, ez a fájl használható az oroszul!).

A felsorolt \u200b\u200bfájlok és könyvtárak, ha nem minden, akkor talán az abszolút többségi APK-ban. Azonban érdemes megemlíteni néhány nem olyan sok közös fájlt / könyvtárat:

  • eszközök. - Az erőforrások analógja. A fő különbség az erőforrás elérése. Meg kell ismerni az azonosítóját, az eszközlistát dinamikusan nyerhetjük az AssetManager.list () módszerrel az alkalmazáskódban;
  • lib - NDK-t használó natív Linux könyvtárak (natív fejlesztő készlet).

Ez a katalógus olyan játékgyártókat használ, amelyek ott vannak, a C / C ++ -ben írt játékmotort, valamint a nagy teljesítményű alkalmazások alkotói (például, Google Chrome.). A készülék kitalált. De hogyan lehet az érdeklődés iránti kérelem csomagjának fájlját? Mivel a készülékből származó gyökér nélkül az APK fájlok felvétele nem lehetséges (a / Data / App könyvtárban van), és nem mindig megfelelő kezelni, legalább három módja annak, hogy az alkalmazásfájl számítógépre érkezzen be:

  • aPK letöltő kiterjesztése a Chrome számára;
  • alkalmazás valódi APK Leecher;
  • különböző fájlmegosztás és csomó.

Melyiket használjuk az ízlés kérdése; Szeretnénk használni külön alkalmazások, így leírjuk a valódi APK Leecher használatát, különösen, mivel azt írta Java-ra, és ennek megfelelően legalább a Windows-ban, még Nixesben is fog működni.

A program megkezdése után három mezőt kell kitöltenie: e-mail, jelszó és eszközazonosító - és válasszon egy nyelvet. Az első kettő e-mail és GoogleAccount jelszó, amelyet az eszközön használ. A harmadik az eszköz azonosítója, és a kézballozó kódjának beírásával érhető el # #8255## Majd megtalálja az eszközazonosító karakterláncot. A kitöltéskor csak az Android előtag nélkül kell megadnia az azonosítót.

A kitöltés és a mentés után az üzenet "Hiba történt a szerverhez való csatlakozás során" üzenet jelenik meg. Nem kapcsolódik a Google Playhez, így merészen figyelmen kívül hagyja, és keresi az Ön által érdekelt csomagokat.

Nézet és módosítás

Tegyük fel, hogy megtalálta a csomagot, amely érdekli Önt, letöltött, kicsomagolva ... és amikor megpróbálja megtekinteni az XML fájlt, meglepődött, hogy megállapította, hogy a fájl nem szöveg. Mit kell dekominálni és hogyan kell dolgozni a csomagokkal? Valóban szükség van egy SDK-ra? Nem, az SDK egyáltalán nem szükséges. Valójában a csomagolás módosításához, módosításához és csomagolásához minden lépésre a következő eszközökre van szükség:

  • archiver zip. kicsomagolásra és keresésekre;
  • smali. - a Dalvik virtuális gép (kód.google.com/p/smali) összeszerelő / szétszerelő byte-kódja;
  • aAPT. - Erőforrás eszköz (az alapértelmezett erőforrások szerint bináris formában tárolódnak az alkalmazás teljesítményének optimalizálása érdekében). Az Android SDK-ban található, de külön beszerezhető;
  • aláíró. - Szerszám digitális aláírás Módosított csomag (bit.ly/rmrv4m).

Mindezeket az eszközöket egyedileg használhatja, de kényelmetlen, ezért jobb, ha magasabb szintű szoftvereket használunk. Ha Linux vagy Mac OS X-ben dolgozik, akkor van egy apktool. Ez lehetővé teszi, hogy csomagolja ki forrásokat az eredeti típusát (beleértve a bináris XML és ARSC fájlok), reoper csomag módosított forrásokat, de nem tudja, hogyan kell bejelentkezni csomagokat, így futtatni a SIGNER segédprogramot manuálisan kell. Annak ellenére, hogy a segédprogram Java-ban van írva, telepítése meglehetősen nem szabványos. Először is meg kell kapnia a jar fájlt:

$ 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 elérési út \u003d ~ / bin: $ path

Ha Windows-ban dolgozik, akkor egy kiváló eszközt meghallgatott tíz stúdió, amely szintén felhalmozódik az összes ilyen eszközt (beleértve az Apktool maga is), de a CLI interfész helyett a felhasználó intuitív módon érthetővé teszi a felhasználó számára grafikus felületAmelyvel a kicsomagolással, szétszereléssel és dekomplettel végezhet több kattintással. Ez az adománytároló eszköz, vagyis néha a Windows-t olyan javaslatot tesz lehetővé, hogy engedélyt kapjon, de ez végül is szenvedhetsz. Nem tesz semmilyen pontot, hogy leírja azt, mert néhány perc alatt megértheti az interfészt. De apktool, a konzol természetének köszönhetően részletesebben meg kell vitatni.


Tekintsük az apktool beállításait. Röviden, három fő parancs van: D (dekódolás), b (build) és ha (telepítési keretrendszer). Ha minden világos az első két csapattal, mit tesz a harmadik feltételes kezelő? Csomagolja ki a megadott UI keretrendszert, amely olyan esetekben van szükség, ahol bármilyen rendszercsomagot jelenít meg.

Fontolja meg az első csapat legérdekesebb lehetőségeit:

  • -S. - ne szétszerelje a DEX fájlokat;
  • -r. - ne csomagolja ki az erőforrásokat;
  • -b. - Ne helyezze be a hibakeresési információkat a DEX fájl szétszerelésének eredményeibe;
  • -Frame-path - Használja a megadott UI-keretet a beépített apktool helyett. Most fontolja meg néhány lehetőséget a B csapatnak:
  • -f. - kényszerített összeszerelés a változások ellenőrzése nélkül;
  • -. - Adja meg az ATT elérési útját (eszköz összeszereléséhez APK-archívum), ha valamilyen okból más forrásból szeretné használni.

Az Apktool nagyon könnyen használható, elegendő megadni az egyik parancsot és az APK útvonalat, például:

$ apktool d mail.apk

Ezt követően minden kibontott és szétszerelési csomagfájl jelenik meg a levélkönyvtárban.

Készítmény. Kapcsolja ki a hirdetést

Az elmélet természetesen is, de miért szükséges, ha nem tudjuk, mit kell tennie egy kicsomagolt csomaggal? Próbáljuk meg alkalmazni az elméletet az előnyösnek, nevezetesen, módosítjuk néhány Softyn-t, hogy ne mutasson nekünk hirdetést. Például hadd virtuális fáklya - virtuális fáklya. Számunkra ez a szoftver tökéletesen illeszkedik, mert bosszantó reklámozással ütközik, és nagyon egyszerű, hogy ne veszítse el a kódokat.


Tehát az alábbi módszerek valamelyikével töltse le az alkalmazást a piacról. Ha úgy dönt, hogy az erényes tíz stúdiót használja, egyszerűen nyissa meg az APK fájlt az alkalmazásban, és kicsomagolja azt, hogy mit hozzon létre egy projekt létrehozásához (fájl -\u003e új projekt), akkor kontextus menü PROJEKT Válassza az Importálási fájlt. Ha az Ön választása apktoolra esett, elegendő egy parancs végrehajtása:

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

Ezután a com.kauf.particle.virtualTorch könyvtár egy olyan fájlfát jelenít meg, amely az előző részben leírt, de a DEX fájlok helyett opcionális Smali könyvtárral és egy apktool fájl helyett .ml. Az első az alkalmazás végrehajtható DEX-fájljának szétszerelési alkalmazáskódját tartalmazza, a második - az Apktool által szükséges szolgáltatási információkat, hogy csomagoljon vissza.

Az első hely, ahol meg kell néznünk, természetesen androidmanifest.xml. És itt azonnal ünnepeljük a következő sort:

Nem nehéz kitalálni, hogy felelős azért, hogy az alkalmazás az internetkapcsolat használatához. Valójában, ha meg akarunk szabadulni a reklámtól, akkor valószínűleg elégnek kell lennie ahhoz, hogy megtiltsuk az internetes alkalmazást. Próbáljuk meg csinálni. Töröljük a megadott karakterláncot, és megpróbáljuk gyűjteni a szoftvert Apktool használatával:

$ apktool b com.kauf.particle.virtualTorch

A com.kauf.particle.virtualTorch / build / build / build / build / build / build / fog megjelenni. Azonban nem lehet telepíteni, mivel nincs digitális aláírása és ellenőrző összegek Fájlok (egyszerűen nincs meta-inf könyvtár). Meg kell írnunk egy csomagot az APK-SIGNER segédprogrammal. Elkezdődött. Az interfész két lapból áll - az első (kulcsgenerátor), amely kulcsokat hozunk létre a második (APK Signer) számára. Privát kulcsunk létrehozásához töltse ki a következő mezőket:

  • Célfájl. - a kimeneti kulcs tároló fájl; Általában egy pár kulcsot tárol;
  • Jelszó. és Megerősít. - jelszó a tárolóhoz;
  • Álnév. - a tároló kulcsának neve;
  • Alias \u200b\u200bjelszó. és Megerősít. - Jelszó titkos kulcs;
  • Érvényesség - érvényességi idő (években). Az alapértelmezett érték optimális.

A fennmaradó mezők általában opcionálisak - de legalább egy ki kell töltenie.


Figyelem

Az alkalmazás alkalmazása APK-SIGNER segítségével telepítenie kell az Android SDK-t, és adja meg az alkalmazási beállítások teljes elérési útját.

Minden információ kizárólag tájékoztató jellegű. Sem a szerkesztők, sem a szerző nem felelős az e cikk szerinti anyagok által okozott esetleges kárért.

Most ez a kulcs aláírható apk. Az APK Signer lapon válassza ki az újonnan generált fájlt, írjon be egy jelszót, egy sikert és jelszót, majd keresse meg az APK fájlt és bátran nyomja meg a "Sign" gombot. Ha minden rendben van, akkor a csomag aláíródik.

Információ

Mivel a saját kulccsal írtunk alá egy csomagot, ez ellentétes lesz az eredeti alkalmazással, ami azt jelenti, hogy amikor megpróbálja frissíteni a piacon a piacon, hibát kapunk.

Digitális aláírás szükséges, csak a harmadik féltől származó szoftvert, így ha módosítjuk rendszer telepített alkalmazásokat másolásával a / system / app / App / App / App, akkor nem kell, hogy aláírja.

Ezt követően eldobjuk a csomagot az okostelefonon, telepíteni és futtatni. Voila, reklám eltűnt! Ehelyett azonban megjelent egy üzenet, hogy nincs internetünk, vagy nincs megfelelő engedélyek. Elméletileg elegendő lehet, de az üzenet bosszantónak tűnik, és és őszintén, csak szerencsés voltunk egy tompa alkalmazással. Általában írásos szoftver, valószínűleg tisztázza a hatáskörét, vagy ellenőrzi az internetkapcsolat jelenlétét, és különben egyszerűen megtagadja a kezdetét. Hogyan kell ebben az esetben lenni? Természetesen szerkesztheti a kódot.

Általában az alkalmazás szerzői különleges osztályokat hoznak létre ezeknek az osztályoknak a hirdetési és módszereihez az alkalmazás elindításakor vagy az egyik "tevékenysége" (egyszerűsítő beszéd, alkalmazásképernyő). Próbáljuk meg megtalálni ezeket az osztályokat. A Smali könyvtárba megyünk, majd COM (az Open Cocos2d grafikus könyvtárban), majd a Kauf (ott van, mert ez a fejlesztő neve, és van minden kódja) - és itt van, a Marketing katalógus. Belül, találunk egy csomó fájlt a Smali bővítésével. Ezek az osztályok, és a leginkább figyelemre méltó osztály AD.SMALI leginkább figyelemre méltó, amellyel nem nehéz kitalálni, hogy mi hozza a hirdetést.

Meg tudtuk változtatni a munkájának logikáját, de sokkal könnyebb lesz hülye eltávolítani az alkalmazások bármely módszer kihívásait. Ezért elhagyjuk a marketing könyvtárból, és menünk a közeli részecske könyvtárba, majd a VirtualTorch-ban. Különös figyelmet érdemel a mainaktivitás.smali fájlt. Ez egy szabványos Android-osztály, amelyet Android SDK hoz, és az alkalmazás bemeneti pontjaként van felszerelve (a fő funkció analógja C). Nyissa meg a fájlt a szerkesztéshez.

Belül a Smali kód (helyi összeszerelő). Nagyon kusza és nehéz elolvasni az alacsony szintű jellegű értelmében, ezért nem fogjuk tanulmányozni, de csak az összes hivatkozást megtaláljuk az osztály hirdetésére a Kódban és megjegyzést. Hajtsa meg a "AD" karakterláncot a 25 sorban a 25 sorban:

Field Private AD: LCOM / KAUF / MARKETING / Hirdetés;

Az AD mező itt jön létre az osztály hirdetésobjektum tárolására. Hozzászólás a ### jelet a karakterlánc előtt. Továbbra is keresünk. Sor 423:

Újpéldány V3, LCOM / Kauf / Marketing / Hirdetés;

Itt van egy objektum létrehozása. Megjegyzés. Továbbra is keresünk és megtaláljuk a 433, 435, 466, 468, 738, 740, 800 és 802 vonalakat az osztályozási hirdetési módszerekhez. Megjegyzés. Úgy néz ki, mint ez. Mentésünk. Most a csomagot vissza kell gyűjteni, és ellenőrizni kell a hirdetési teljesítményét és elérhetőségét. A kísérlet tisztaságára visszaküldünk az AndroidManifest.xml karakterláncot, összegyűjtjük a csomagot, előfizetni és telepíteni.

Kísérleti nyúlunk. Látott reklám

Op-Pa! A hirdetés csak az alkalmazás során eltűnt, de a főmenüben maradt, amit látni fogunk, amikor puha. Tehát, várjon, de végül is a belépési pont a mainaktivitási osztály, és a hirdetés eltűnt az alkalmazás során, de a főmenüben maradt, majd a belépési pont más? A valódi belépési pont feltárásához nyissa meg az AndroidManifest.xml fájlt. És igen, a következő sorok vannak:

Azt mondják nekünk (és még fontosabb, Android), hogy a név kezdete a kezdetben kell futnia a szándék (események) android.intent.action.main az android.intent.category.launcher kategóriából. Ez az esemény akkor keletkezik, ha a Lancher alkalmazás ikonjára érkezik, így meghatározza a belépési pontot, nevezetesen a Start osztályt. Valószínűleg a programozó először írt az alkalmazás nem nagy menü belépési pontja volt a standard MainActivity osztályba, majd hozzáadunk egy új ablakhoz (tevékenység), amely tartalmazza a menüt, és leírása az Első osztályban, és manuálisan tette bemeneti pont .

Nyissa meg a START.SMALI fájlt, és újra keresse meg az AD karakterláncot, megtaláljuk az elsődleges osztály 153. és 155. sorában. Ő is a forrásban van, és a név alapján ítélte meg, csak felelős a hirdetések megjelenítéséért a fő képernyőn. Továbbra is megnézzük az elsődleges osztály példányát és a szándékot, az adott példányhoz való viszonynak, majd a Cond_10 címke, a feltételes átmenet, amelyre a pontosságot a Az osztály példánya:

IF-NE P1, V0 ,: Cond_10 .line 74 új példányú v0, Landroid / Tartalom / szándék; ...: Cond_10

A legvalószínűbb, hogy a program valahogy véletlenszerűen kiszámítja, hogy a hirdetést a fő képernyőn megjeleníti, és ha nem, azonnal ugrik a Cond_10. Ok, egyszerűen egyszerűsítjük a feladatot, és cseréljük ki a feltétel nélküli átmenetet a feltétel nélküli:

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

A kódban nincs több első hivatkozás, így bezárjuk a fájlt, és újra összegyűjtjük virtuális fáklyait Apktool használatával. Másolás az okostelefonon, telepítse, futtassa. Voila, minden reklám eltűnt, amivel gratulálunk mindannyian.

EREDMÉNYEK

Ez a cikk csak rövid bevezetése az Android alkalmazások megnyitásának és módosításának módjainak. A jelenetek esetében sok kérdés maradt, például a védelem eltávolítása, az OBFUSED kód elemzése, a fordítás és az alkalmazási források cseréje, valamint az általa írt alkalmazások módosítása android használata NDK. Az alapvető tudásnak azonban megértse ezt - csak az idő kérdése.

Az APK Editor Pro, amelyet letölthet az Android weboldalunkon, lehetővé teszi, hogy hack / módosítsa a fájlok tartalmát mobil eszközök És állítsa be a saját belátása szerint.

Jellemzők

A program egy professzionális segédprogram, amely a fejlett felhasználók kezében hatékony eszköz lehet az Android alkalmazások szerkesztéséhez. A funkcionalitás gyakorlatilag nem különbözik a hasonlóból szoftver Személyi számítógépek számára.

Mit tud ez a segédprogram?

  1. Módosítsa (fordítás) más alkalmazások nevét.
  2. Építészeti elrendezések, színek, sablonok módosítása grafikus beállítások (például az ikonok méretét).
  3. Audio design, médiafájlok módosítása.
  4. Reklám törlése.
  5. Megkerülve a fizetett tartalom blokkolását.
  6. Az alkalmazás átvitele az eszköz belső memóriájából az SD-kártyán.
  7. Az engedély módosítása és még sok más.

Ahhoz, hogy megértsük, hogyan kell használni a segédprogramot, letölteni kell az APK Editor Pro-t, és menjen a menübe. Ezután válasszon már telepített alkalmazás Az Androidon vagy az apk fájlján. Ezt követően az alapértelmezett adatok megnyitják, hogy a felhasználó megváltoztathatja:

  • erőforrásszerkesztés;
  • fájlok cseréje;
  • Általános szerkesztés;
  • adatok szerkesztése.

A program módosított opció létrehozására javasol. Nem minden esetben működik, így régi verzió Kézzel kell eltávolítani és új telepíteni. A törlés után válassza ki az APK Edit Editor mappát (használhatja az ES-vezetéket az Android programok használatához, és talál egy módosított alkalmazásfájlt, telepítse azt az eszközre.

A program más kényelmes interfész. A navigáció meglehetősen egyszerű, de a felhasználónak az angol nyelvű ismereteket kell kitalálnia.

Előnyök és hátrányok

  1. A program széles választékát nyitja meg az alkalmazások beállításához.
  2. A menü segítséget nyújt, amely egyszerűen és részletesen leírja a Fesztivál program lehetőségeinek nagy mennyiségét. Ezért a programozástól távol a felhasználóknak nem kell példákat keresniük és szerkeszteniük a harmadik fél erőforrásaira vonatkozó utasításokat.
  3. Letölthet egy ingyenes programot webhelyünkön.

A segédprogram használata bizonyos készségeket és ismereteket igényel. A tapasztalatlan felhasználó kezében szerkesztés vezethet integritás rendellenességeihez. fájlrendszerEz végső soron az alkalmazások hibás működéséhez vezet. A súgó menüben példák vannak a képek és tippek konverziójára az APK Editor Pro megfelelő használatával az Androidon. Ezért, ha merül fel a program kezelésére, elég csak az utasítások követése.

A szerkesztő elég hasznos eszköz Azok számára, akik kényelmetlen alkalmazási felületekkel szembesülnek (orosz, állandó reklám, bannerek stb.). Ha már élvezte ezt a programot, ossza meg az alábbi megjelenítéseket a megjegyzésekben.