Ako zmeniť herné súbory v systéme Android. Základy úpravy systémových aplikácií Android (apk)

Úprava systémové aplikácie Android sa najčastejšie vykonáva vtedy, keď používateľ smartfónu, tabletu alebo iného zariadenia ovládaného týmto operačným systémom prestane vyhovovať vzhľad programy nainštalované v zariadení výrobcom alebo predajcom. Ďalším dôvodom môže byť potreba vykonať nielen zmeny týkajúce sa grafického dizajnu Android aplikácií, ale aj ovplyvnenie umiestnenia rôznych prvkov a výkonu základných funkcií.

Aby bolo možné vykonať zmeny v kóde, sú potrebné základné znalosti programovania v takmer akomkoľvek jazyku (najlepšie Java a C ++). Na nahradenie grafiky stačia priame ruky a schopnosť pracovať v grafickom editore.

V prvom rade by ste sa mali rozhodnúť, či vám stačí vymeniť grafiku v Android aplikáciách alebo či potrebujete zmeniť usporiadanie prvkov v systéme a urobiť hlbšie zmeny v kóde. Od toho závisia ďalšie kroky, ktoré zahŕňajú buď prácu s aplikáciou ako archívom, alebo jej kompletnú demontáž a úpravu.

Zmena grafiky v systémových aplikáciách Android

Na jednoduchú výmenu alebo úpravu pôvodnej grafiky (zmena farby tlačidiel, prekreslenie obrázkov a pod.) stačí mať štandardný archivátor WinRAR. Zároveň musí mať používateľ práva „root“ na zariadení (podobne ako účtu administrátor v systéme Windows) a je tiež žiaduce mať alternatívne obnovenie (CWM) a root explorer (na prístup k súborovému systému Android priamo v samotnom zariadení).

V prvom rade je potrebné povoliť ladenie USB v zariadení, následne ho pripojiť k počítaču pomocou USB kábla a nainštalovať potrebné ovládače. Zvyčajne sú umiestnené na virtuálnom disku, ktorý sa objaví po pripojení k počítaču.

Potom si treba stiahnuť aj ADB plugin pre správcu súborov na internete. Tento doplnok vám umožňuje vidieť celý systém Android ako prepojenú jednotku s priečinkami. Všetky systémové aplikácie sa nachádzajú na /system/app a /system/framework. Po nájdení požadovanej aplikácie ju jednoducho skopírujte do počítača. Ak doplnok nie je nainštalovaný, môžete aplikáciu s príponou apk skopírovať pomocou prieskumníka root na vymeniteľnú SD kartu a potom z nej do počítača.

Po skopírovaní požadovanú aplikáciu môžete začať upravovať grafiku. Mimochodom, všetky obrázky v aplikáciách pre Android sú uložené v formát png, ktorú jednoducho otvorí každý grafický editor. Keď otvoríte súbor aplikácie pomocou WinRAR, môžete vidieť množstvo priečinkov. Nás bude zaujímať len priečinok res, vo vnútri ktorého je zase veľa rôzne priečinky. Z nich sú potrebné len tie, ktoré majú v názve slovo „kresliteľná“.

Teraz si spomeňme na náš typ zariadenia a jeho rozlíšenie obrazovky. Ak ide o smartfón, a rozlíšenie je 240x320, tak nás budú zaujímať hlavne priečinky s výsuvným a výsuvným-ldpi. Ak je rozlíšenie 320 x 480 - priečinky mdpi s možnosťou kreslenia a priečinky s rozlíšením 480 x 800, priečinky s rozlíšením hdpi s možnosťou kreslenia. Okrem nich sa zvyčajne vyskytujú aj priečinky, ktoré majú v názve slovo „land“ – ide o grafiku pre režim na výšku, t.j. keď je zariadenie naklonené.

Ak máte v rukách tablet, potom nás budú pri akomkoľvek rozlíšení obrazovky zaujímať iba priečinky na kreslenie a na kreslenie-mdpi.

Skopírovaním vybratých priečinkov do počítača môžete nahradiť alebo prefarbiť pôvodné obrázky na požadované a príjemné pre oči. Osobitnú pozornosť by ste mali venovať obrázkom s rozlíšením 9.png. Faktom je, že pozdĺž obvodu takéhoto obrázka je špeciálny rám so šírkou jedného pixelu so špeciálnymi značkami, ktorých porušenie integrity povedie k zlyhaniu aplikácie. Pri úprave takýchto súborov je preto potrebné venovať zvýšenú pozornosť.

Po úprave priečinka je potrebné nahrať ho späť do archívu, ktorým je samotná aplikácia s príponou apk. V tomto prípade je potrebné vo WinRAR vybrať možnosť „bez kompresie“.

Opravená aplikácia sa stiahne späť do zariadenia buď pomocou koreňového prieskumníka (najskôr sa súbor skopíruje na SD kartu az nej do zariadenia), alebo po ukončení obnovy - ihneď z počítača do / system / app resp. / system / framework priečinok . Ďalej musíte nastaviť povolenia súboru pomocou príslušných možností v koreňovom prieskumníkovi alebo doplnku ADB. Musia byť vo formáte 644. Po reštarte zariadenia môžete vidieť výsledok aktualizovanej aplikácie.

Úprava zdrojového kódu systémových aplikácií

O niečo viac úsilia si vyžaduje úprava zdrojového kódu systémových aplikácií. Ak chcete aplikáciu rozobrať a zostaviť po vykonaní zmien v nej, budete musieť vykonať niekoľko nasledujúcich krokov.

1) Nainštalujte potrebný softvérový balík do počítača v ich najnovšie verzie: Java SE Runtime Environment a Android SDK Windows (programy na prácu s aplikáciami a ich komponentmi), APKtool alebo APKManager alebo Firmware_tool (jeden z troch programov na rozoberanie a dekompiláciu systémových aplikácií), editor NotePad ++ (na vykonávanie zmien v zdroj systémové aplikácie Android).

2) Povoľte v zariadení ladenie USB, pripojte ho k počítaču pomocou kábla USB, nainštalujte potrebné ovládače na prácu so zariadením.

3) Pomocou jedného z vyššie uvedených programov na prácu s kódom aplikácie musíte extrahovať priečinok / systém / rámec (úplne) z telefónu do príslušného priečinka programu a systémových aplikácií z priečinka / system / app. Napríklad v prípade programu Firmware_tool musia byť súbory z telefónu skopírované do priečinka C: Firmwaretoolfw_project1_source2_system.img_unpacked v príslušných podpriečinkoch (aplikácie do priečinka app, súbory z frameworku do priečinka frameworku). Pri používaní tohto aj iných programov si nezabudnite prečítať pokyny k nim.

4) Nainštalujte „referenčný rámec“, t.j. súbor pravidiel, podľa ktorých sa bude vykonávať dekompilácia (t. j. rozloženie kódu) a kompilácia (t. j. zostavenie kódu) aplikácií.

Tým je príprava na prácu so systémovými aplikáciami hotová.

Načítanie aplikácií zo zariadenia a ich načítanie späť sa vykonáva podobne ako v časti „Zmena grafiky v systémových aplikáciách Android“.

Úprava kódu aplikácie pre Android sa zvyčajne vykonáva pomocou editora NotePad ++ - jedného z najpohodlnejších textových editorov, ktorý má možnosť zvýrazniť syntax zvoleného programovacieho jazyka. Spravidla môžete pri úpravách meniť grafiku aj po ceste pomocou vybratého grafický editor.

Po dokončení úprav sa upravená aplikácia nahrá späť do zariadenia a samotné zariadenie sa musí reštartovať. Pokročilejšie editory na ladenie aplikácií pred ich stiahnutím do zariadenia používajú rôzne emulátory, napríklad Eclipse od Google.

Toto som opäť ja a môj návod na čajníky a kanvičky s obrázkami.

Tentokrát sa budem podrobne venovať výmene systémové komponenty OS Android na príklade inštalácie úpravy stavového riadku.

Android je malý Linux. Pri výmene súborov je potrebné dodržať množstvo zásad, aby sa telefón nepremenil na tehlu, ktorú oživí len úplné prebliknutie so stratou všetkých dát z vnútorná pamäť zariadení. Interné oddiely sú na jednotkách flash naformátované v inom systéme súborov ako FAT32. Vlastnosti súboru okrem iného ukladajú oprávnenia pre rôzne skupiny používateľov (vlastník súboru, skupina vlastníkov súboru, ostatní používatelia). Pri prevádzke s systémové súbory musia byť uložené, pretože pri zavádzaní k nim systém jednoducho nemusí mať prístup a nespustí sa normálne.
Začnime so súpravou nástrojov.

Budeme potrebovať:

  • Správca súborov, ktorý vie, ako pracovať s právami root a oprávneniami na súbory. Root Explorer je najlepší (kúpil si ho, však?)
  • Samotný upravený súbor, ktorý chceme umiestniť na miesto systémového (odkaz na konci článku).

Teraz používame jednu z pohodlných funkcií koreňový prieskumník. Urobme dlhé ťuknutie na požadovaný súbor, aby sme vyvolali kontextové menu

A kliknite na položku " Zazipujte tento súbor" na uloženie súboru do archívu zip na SD karte. Po skomprimovaní dostaneme nasledujúcu správu:

Stlač tlačidlo " pobyt“ zostať v priečinku a urobiť ešte jednu vec.

Teraz je všetko pripravené na nahradenie súboru.
Už som hovoril o prístupových právach pre každý súbor. Ak ich chcete znova vytvoriť v novom súbore, musíte si ich najprv pozrieť zo starého súboru. Sú reprezentované sériou znakov "rwxrwxrwx". 1. triáda - práva vlastníka, 2. - skupiny vlastníkov, 3. - všetci ostatní používatelia. Náš súbor má povolenia "rw-r--r--".

Teraz prejdite na kartu SD, nájdite tam upravený súbor a vyberte položku " Kopírovať", ale neponáhľame sa hneď vybrať priečinok "/system/app", pretože okamžite poškodíme systém. Namiesto toho skopírujeme súbor do špeciálneho priečinka pre dočasné súbory "/data/local/tmp ", aby sa súbor preniesol do formy, ktorá bude mať systém.
Najprv zavolajte kontextové menu súboru a vyberte položku " Premenovať" a zadajte názov súboru " SystemUI.apk". Je to tak, pretože v systéme Linux záleží na veľkosti písmen v názve, t. j. " systemui.apk" a " SystemUI.apk" Sú rôzne súbory.
Ďalej musíte zmeniť povolenia na súbore, pretože teraz sú takmer určite nesprávne nastavené. Ak to chcete urobiť, znova zavolajte kontextovú ponuku súboru dlhým klepnutím a vyberte položku " Povolenia". Pre našu hodnotu "rw-r--r--" by mali byť príznaky nastavené takto:

stlačte " OK" a znova zavolajte kontextovú ponuku. Teraz musíme zmeniť vlastníka a skupinu tejto aplikácie. Ak to chcete urobiť, vyberte položku " Zmeniť vlastníka". Zobrazí sa okno s informáciami o aktuálnom vlastníkovi súboru.
Tu je potrebné urobiť malú odbočku.
V priečinku „/system/app “ všetky súbory vlastní používateľ „root“ (uid=0) a skupina „root“ (gid=0) a v priečinku „/system/framework“ používateľ „system " (gid=1000) vlastní a skupina "systém" (gid=1000).
Na základe vyššie uvedeného nastavte požadované hodnoty a kliknite na " OK".
A po tretíkrát zavoláme kontextové menu pre súbor a vyberieme položku " Kopírovať" a v dialógovom okne kopírovania prejdite do priečinka " / system / app". Teraz odvážne kliknite na " prilepiť“ a pozorne čítaj ďalej.
Takmer okamžite systém oznámi, že proces stavového riadka sa náhle skončil a ponúkne jeho spustenie. Všetky pokusy zlyhajú. Medzi objavením sa okien musíte mať čas na vykonanie niekoľkých akcií. Pred stlačením tlačidla je potrebné vyvolať ponuku na vypnutie zariadenia, zobrazí sa pod upozornením. Teraz musíte položiť prst približne na ľavú stranu tlačidla. Teraz musíte veľmi rýchlo trikrát kliknúť prstom, aby ste mali čas zavrieť varovanie, vybrať položku vypnutia a potvrdiť svoje zámery.
Teraz čakáme, kedy sa telefón vypne, reštartuje a vychutná si výsledok alebo si ho neužije a hľadá chyby.

Niekedy niektoré aplikácie v systéme Android používateľovi z nejakého dôvodu nevyhovujú. Príkladom sú otravné reklamy. A stáva sa to tak - každý je dobrý v programe, ale iba preklad v ňom je buď krivý, alebo úplne chýba. Alebo napríklad program je skúšobná verzia a získajte ju plná verzia neexistuje žiadna možnosť. Ako zmeniť situáciu?

Úvod

V tomto článku si povieme, ako rozobrať APK s aplikáciou, pozrieme sa na jej vnútornú štruktúru, rozoberieme a dekompilujeme bajtkód a tiež sa pokúsime urobiť niekoľko zmien v aplikáciách, ktoré nám môžu priniesť ten či onen benefit.

Aby ste to všetko zvládli sami, budete potrebovať aspoň základnú znalosť jazyka Java, v ktorom sú písané aplikácie pre Android, a jazyka XML, ktorý sa v Androide používa všade – od popisu samotnej aplikácie a jej prístupových práv až po ukladanie reťazcov ktorý sa zobrazí na obrazovke. Budete tiež potrebovať schopnosť pracovať so špecializovaným softvérom konzoly.

Aký je teda balík APK, v ktorom je distribuovaný úplne všetok softvér pre Android?

Dekompilácia aplikácie

V článku sme pracovali iba s rozobratým kódom aplikácie, ak však urobíte vážnejšie zmeny vo veľkých aplikáciách, bude oveľa ťažšie porozumieť malému kódu. Našťastie môžeme dekompilovať kód dex do kódu Java, ktorý aj keď nie je originálny a nie je možné ho spätne skompilovať, je oveľa jednoduchšie čítať a pochopiť logiku aplikácie. Na to potrebujeme dva nástroje:

  • dex2jar - prekladač Dalvik bytecode do JVM bytecode, na základe ktorého môžeme získať Java kód;
  • jd-gui je samotný dekompilátor, ktorý vám umožňuje získať čitateľný kód Java z bytecode JVM. Prípadne môžete použiť Jad (www.varanecas.com/jad); hoci je dosť starý, v niektorých prípadoch generuje čitateľnejší kód ako Jd-gui.

Mali by sa používať takto. Najprv spustíme dex2jar, pričom ako argument uvedieme cestu k balíku apk:

%dex2jar.sh mail.apk

Výsledkom je, že balík Java mail.jar sa zobrazí v aktuálnom adresári, ktorý už možno otvoriť v jd-gui a zobraziť kód Java.

Usporiadanie balíkov APK a ich získanie

Plastový sáčok aplikácie pre Android, je v skutočnosti bežný súbor ZIP, na prezeranie obsahu a rozbalenie ktorého nie sú potrebné žiadne špeciálne nástroje. Stačí mať archivátor - 7zip pre Windows alebo rozbaliť konzolu v Linuxe. Ale to je o obale. Čo je vo vnútri? Vo vnútri máme vo všeobecnosti nasledujúcu štruktúru:

  • META-INF/- obsahuje digitálny certifikát aplikácia, ktorá certifikuje jej tvorcu a kontrolné súčty súborov balíkov;
  • res/ - rôzne zdroje, ktoré aplikácia používa pri svojej práci, ako sú obrázky, deklaratívny popis rozhrania a ďalšie údaje;
  • AndroidManifest.xml- popis aplikácie. To zahŕňa napríklad zoznam požadovaných povolení verzia pre Android a požadované rozlíšenie obrazovky;
  • triedy.dex- skompilovaný bajtový kód aplikácie pre virtuálny stroj Dalvik;
  • zdroje.arsc- tiež zdroje, ale iného druhu - najmä reťazce (áno, tento súbor možno použiť na rusifikáciu!).

Uvedené súbory a adresáre sú, ak nie všetky, tak možno v drvivej väčšine súborov APK. Za zmienku však stojí niekoľko menej bežných súborov/adresárov:

  • aktíva- analógia zdrojov. Hlavný rozdiel je v tom, že na prístup k zdroju potrebujete poznať jeho identifikátor, zatiaľ čo zoznam aktív je možné získať dynamicky pomocou metódy AssetManager.list() v kóde aplikácie;
  • lib- natívne linuxové knižnice napísané pomocou NDK (Native Development Kit).

Tento adresár používajú výrobcovia hier, aby tam umiestnili svoj herný engine napísaný v C/C++, ako aj tvorcovia vysokovýkonných aplikácií (napr. Google Chrome). Rozumel zariadeniu. Ale ako získať súbor balíka aplikácie, ktorá vás zaujíma? Keďže nie je možné získať súbory APK zo zariadenia bez rootovania (sú v adresári / data / app) a rootovanie nie je vždy vhodné, existujú najmenej tri spôsoby, ako dostať súbor aplikácie do počítača:

  • rozšírenie APK Downloader pre Chrome;
  • Aplikácia Real APK Leecher;
  • rôzny hosting súborov a warezniki.

Ktorý z nich použiť, je vecou vkusu; uprednostňujeme používanie samostatných aplikácií, preto popíšeme použitie Real APK Leecher, najmä preto, že je napísaný v jazyku Java, a teda bude fungovať aj vo Windowse, dokonca aj v nixe.

Po spustení programu je potrebné vyplniť tri polia: Email, Heslo a ID zariadenia – a vybrať jazyk. Prvé dva sú e-mail a heslo vášho účtu Google, ktorý používate na zariadení. Tretím je ID zariadenia a môžete ho získať vytočením kódu na číselníku # #8255## a potom nájsť riadok ID zariadenia. Pri vypĺňaní je potrebné zadať iba ID bez predpony android-.

Po vyplnení a uložení sa často objaví hlásenie „Chyba pri pripájaní k serveru“. Nemá to nič spoločné Google Play, tak to pokojne ignorujte a hľadajte balíčky, ktoré vás zaujímajú.

Preskúmanie a úprava

Povedzme, že ste našli balík, ktorý vás zaujíma, stiahli ste si ho, rozbalili ... a keď ste sa pokúsili zobraziť nejaký súbor XML, s prekvapením ste zistili, že súbor nie je textový súbor. Ako ho dekompilovať a ako celkovo pracovať s balíkmi? Je naozaj potrebné nainštalovať SDK? Nie, nie je potrebné inštalovať súpravu SDK. V skutočnosti sú pre všetky kroky na rozbalenie, úpravu a balenie balíkov APK potrebné nasledujúce nástroje:

  • ZIP archivátor na vybaľovanie a balenie;
  • malý- assembler/disassembler bajtkódu virtuálneho stroja Dalvik (code.google.com/p/smali);
  • aapt- nástroj na balenie zdrojov (v predvolenom nastavení sú zdroje uložené v binárnej forme, aby sa optimalizoval výkon aplikácie). Zahrnuté so súpravou Android SDK, ale možno ho získať samostatne;
  • Signatár- nástroj pre digitálny podpis upravený balík (bit.ly/Rmrv4M).

Všetky tieto nástroje môžete použiť samostatne, ale je to nepohodlné, preto je lepšie použiť softvér vyššej úrovne postavený na ich základe. Ak používate Linux alebo Mac OS X, existuje nástroj s názvom apktool . Umožňuje rozbaliť zdroje do ich pôvodnej podoby (vrátane binárnych súborov XML a arsc), prebudovať balík s upravenými prostriedkami, ale nevie, ako podpisovať balíky, takže budete musieť spustiť utilitu signer manuálne. Napriek tomu, že je utilita napísaná v jazyku Java, jej inštalácia je dosť neštandardná. Najprv musíte získať samotný súbor jar:

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

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

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

Ak pracujete na Windows, potom je tu na to výborný nástroj s názvom Virtual Ten Studio , ktorý všetky tieto nástroje kumuluje aj (vrátane samotného apktool), no namiesto rozhrania CLI poskytuje používateľovi intuitívne grafické rozhranie, pomocou ktorého vykonať operácie na rozbalenie, rozloženie a dekompiláciu niekoľkými kliknutiami. Tento nástroj je Donation-ware, to znamená, že okná sa niekedy objavia s návrhom na získanie licencie, ale to sa v konečnom dôsledku dá tolerovať. Nemá zmysel to popisovať, pretože rozhranie pochopíte za pár minút. Ale apktool, vzhľadom na jeho konzolovú povahu, by sa mal podrobnejšie rozobrať.


Zvážte možnosti apktool. Stručne povedané, existujú tri hlavné príkazy: d (decode), b (build) a if (install framework). Ak je všetko jasné s prvými dvoma príkazmi, čo potom robí tretí, podmienený operátor? Rozbalí špecifikovaný rámec používateľského rozhrania, ktorý je potrebný pri pitve systémového balíka.

Zvážte najzaujímavejšie možnosti prvého príkazu:

  • -s- nerozoberajte dex súbory;
  • -r- nerozbaľujte zdroje;
  • -b- nevkladajte informácie o ladení do výsledkov demontáže súboru dex;
  • --frame-path- použite špecifikovaný rámec používateľského rozhrania namiesto vstavaného nástroja apktool. Teraz zvážte niekoľko možností pre príkaz b:
  • -f- nútená montáž bez kontroly zmien;
  • -a- zadajte cestu k aapt (nástroj na vytvorenie archívu APK), ak ho z nejakého dôvodu chcete použiť z iného zdroja.

Používanie apktool je veľmi jednoduché, všetko, čo musíte urobiť, je zadať jeden z príkazov a cestu k súboru APK, napríklad:

$ apktool d mail.apk

Potom sa všetky extrahované a rozložené súbory balíkov objavia v poštovom adresári.

Príprava. Zakázať reklamy

Teória je, samozrejme, dobrá, ale načo je potrebná, keď nevieme, čo s rozbaleným balíkom? Skúsme aplikovať teóriu vo svoj vlastný prospech, teda upravíme nejaký softvér tak, aby nám nezobrazoval reklamy. Nech je to napríklad Virtual Torch – virtuálna pochodeň. Pre nás je tento softvér dokonalý, pretože je plný otravných reklám a je dostatočne jednoduchý na to, aby sa nestratil v divočine kódu.


Takže pomocou jednej z vyššie uvedených metód si stiahnite aplikáciu z trhu. Ak sa rozhodnete použiť Virtuous Ten Studio, stačí otvoriť APK súbor v aplikácii a rozbaliť ho, pre ktorý vytvorte projekt (Súbor -> Nový projekt), potom z kontextového menu projektu vyberte Importovať súbor. Ak vaša voľba padla na apktool, stačí vykonať jeden príkaz:

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

Potom sa v adresári com.kauf.particle.virtualtorch objaví strom súborov, podobný tomu, ktorý je popísaný v predchádzajúcej časti, ale s dodatočným malým adresárom namiesto súborov dex a súborom apktool.yml. Prvý obsahuje rozložený kód spustiteľného dex súboru aplikácie, druhý obsahuje servisné informácie, ktoré apktool potrebuje na zostavenie balíka späť.

Prvé miesto, kam sa musíme pozrieť, je samozrejme AndroidManifest.xml. A tu sa okamžite stretávame s nasledujúcim riadkom:

Je ľahké uhádnuť, že je zodpovedná za udelenie povolení aplikácii na používanie internetového pripojenia. V skutočnosti, ak sa chceme len zbaviť reklám, s najväčšou pravdepodobnosťou nám bude stačiť zakázať aplikáciu na internete. Skúsme to urobiť. Odstráňte zadaný riadok a pokúste sa skompilovať softvér pomocou apktool:

$ apktool b com.kauf.particle.virtualtorch

Výsledný súbor APK sa objaví v adresári com.kauf.particle.virtualtorch/build/. Nedá sa však nainštalovať, pretože nemá digitálny podpis a kontrolné súčty súborov (jednoducho nemá META-INF/ adresár). Balík musíme podpísať pomocou pomôcky apk-signer. Spustený. Rozhranie tvoria dve záložky – na prvej (Key Generator) vytvárame kľúče, na druhej (APK Signer) podpisujeme. Ak chcete vytvoriť náš súkromný kľúč, vyplňte nasledujúce polia:

  • Cieľový súbor- výstupný súbor úložiska kľúčov; zvyčajne obsahuje jeden pár kľúčov;
  • heslo A Potvrďte- heslo pre ukladanie;
  • Alias- názov kľúča v úložisku;
  • Aliasové heslo A Potvrďte- heslo tajného kľúča;
  • Platnosť- Doba platnosti (v rokoch). Predvolená hodnota je optimálna.

Zvyšné polia sú vo všeobecnosti voliteľné – musíte však vyplniť aspoň jedno.


POZOR

Ak chcete podpísať aplikáciu pomocou nástroja apk-signer, musíte nainštalovať súpravu Android SDK a zadať úplnú cestu k nej v nastaveniach aplikácie.

Všetky informácie sú poskytované len na informačné účely. Redakcia ani autor nezodpovedajú za prípadné škody spôsobené materiálmi tohto článku.

Teraz môžete podpísať súbor APK pomocou tohto kľúča. Na karte APK Signer vyberte novo vygenerovaný súbor, zadajte heslo, alias kľúča a heslo k nemu, potom nájdite súbor APK a odvážne kliknite na tlačidlo „Podpísať“. Ak všetko pôjde dobre, balík bude podpísaný.

INFO

Keďže sme balík podpísali vlastným kľúčom, bude v konflikte s pôvodnou aplikáciou, čo znamená, že keď sa pokúsime aktualizovať softvér cez market, dostaneme chybu.

Digitálny podpis potrebuje iba softvér tretích strán, takže ak upravujete systémové aplikácie, ktoré sú nainštalované ich skopírovaním do adresára /system/app/, nemusíte ich podpisovať.

Potom balík pustíme do smartfónu, nainštalujeme a spustíme. Voila, reklama je preč! Namiesto toho sa však objavilo hlásenie, že nemáme internet alebo nemáme príslušné povolenia. Teoreticky by to mohlo stačiť, ale správa vyzerá nepríjemne a, aby som bol úprimný, mali sme šťastie s hlúpou aplikáciou. Dobre napísaný softvér s najväčšou pravdepodobnosťou objasní svoje poverenia alebo skontroluje internetové pripojenie a inak jednoducho odmietne spustiť. Ako byť v tomto prípade? Samozrejme, upravte kód.

Autori aplikácií zvyčajne vytvárajú špeciálne triedy na zobrazovanie reklám a volajú metódy týchto tried počas spúšťania aplikácie alebo jednej z jej „aktivít“ (jednoducho povedané, obrazovky aplikácie). Pokúsme sa nájsť tieto triedy. Ideme do adresára smali, potom com (v org je iba otvorený grafickej knižnice cocos2d), potom kauf (presne tam, pretože toto je meno vývojára a je tam celý jeho kód) - a tu je marketingový adresár. Vo vnútri nájdeme kopu súborov s príponou malá. Sú to triedy a najvýznamnejšou z nich je trieda Ad.smali, podľa názvu ktorej je ľahké uhádnuť, že zobrazuje reklamy.

Mohli by sme zmeniť logiku jeho práce, ale oveľa jednoduchšie by bolo hlúpe odstrániť volania ktorejkoľvek z jeho metód zo samotnej aplikácie. Preto opustíme marketingový adresár a prejdeme do susedného adresára častíc a potom do virtualtorch. osobitnú pozornosť súbor MainActivity.smali si tu zaslúži. Toto je štandardná trieda Androidu, ktorá je generovaná súpravou Android SDK a nastavená ako vstupný bod do aplikácie (podobne ako hlavné funkcie v C). Otvorte súbor na úpravu.

Vnútri je malý kód (lokálny assembler). Je dosť neprehľadná a ťažko čitateľná kvôli svojej nízkoúrovňovej povahe, takže ju nebudeme študovať, ale jednoducho nájdeme všetky zmienky o triede Ad v kóde a okomentujeme ich. Vo vyhľadávaní zadáme reťazec „Reklama“ a dostaneme sa na riadok 25:

Pole súkromná reklama:Lcom/kauf/marketing/Ad;

Tu sa vytvorí poľná reklama na uloženie objektu triedy Ad. Komentujeme nastavením znaku ### pred riadok. Pokračujeme v pátraní. Riadok 423:

New-instance v3, Lcom/kauf/marketing/Ad;

Tu je objekt vytvorený. Komentujeme. Pokračujeme v hľadaní a nachádzame v riadkoch 433, 435, 466, 468, 738, 740, 800 a 802 volania metód triedy Ad. Komentujeme. Vyzerá to tak. Ušetríme. Teraz je potrebné balík zložiť späť a skontrolovať jeho výkon a prítomnosť reklamy. Kvôli čistote experimentu vrátime riadok odstránený z AndroidManifest.xml, vyzdvihneme balík, podpíšeme ho a nainštalujeme.

Náš pokusný králik. Viditeľná reklama

Op-pa! Reklama zmizla iba počas spustenia aplikácie, ale zostala v hlavnom menu, ktoré vidíme pri spustení softvéru. Takže počkajte, ale vstupným bodom je trieda MainActivity a reklama počas behu aplikácie zmizla, ale zostala v hlavnom menu, takže vstupný bod je iný? Aby sme odhalili skutočný vstupný bod, znova otvoríme súbor AndroidManifest.xml. A áno, obsahuje nasledujúce riadky:

Hovoria nám (a čo je dôležitejšie, android), že aktivita s názvom Štart by mala byť spustená ako odpoveď na vygenerovanie zámeru (udalosti) android.intent.action.MAIN z kategórie android.intent.category.LAUNCHER. Táto udalosť sa generuje, keď klepnete na ikonu aplikácie v spúšťači, takže definuje vstupný bod, konkrétne triedu Štart. S najväčšou pravdepodobnosťou programátor najprv napísal aplikáciu bez hlavnej ponuky, ktorej vstupným bodom bola štandardná trieda MainActivity, a potom pridal nové okno (aktivitu) obsahujúce ponuku a popísané v triede Štart a manuálne z nej urobil položku. bod.

Otvoríme súbor Start.smali a opäť hľadáme riadok „Ad“, v riadkoch 153 a 155 nájdeme zmienku o triede FirstAd. Nachádza sa aj v zdrojovom kóde a súdiac podľa názvu je zodpovedný za zobrazovanie reklám na hlavnej obrazovke. Pozrieme sa ďalej, je tu vytvorenie inštancie triedy FirstAd a zámeru podľa kontextu súvisiaceho s touto inštanciou a potom označenie cond_10, na ktoré sa podmienený prechod vykoná presne pred vytvorením inštancie triedy. :

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

S najväčšou pravdepodobnosťou je program nejako náhodne vypočíta, či sa majú reklamy zobrazovať na hlavnej obrazovke, a ak nie, preskočí priamo na cond_10. Dobre, zjednodušíme jej úlohu a nahradíme podmienený prechod bezpodmienečným:

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

V kóde už nie sú žiadne zmienky o FirstAd, takže súbor zatvoríme a znova zostavíme našu virtuálnu baterku pomocou apktool. Skopírujte do smartfónu, nainštalujte, spustite. Voilá, všetky reklamy sú preč, blahoželáme nám všetkým.

Výsledky

Tento článok je len stručným úvodom do spôsobov otvárania a úpravy aplikácií pre Android. Mnoho problémov zostalo v zákulisí, ako napríklad odstránenie ochrany, analýza zahmleného kódu, preklad a nahradenie aplikačných prostriedkov, ako aj úprava aplikácií napísaných pomocou pomocou androidu NDK. Mať základné vedomosti, pochopiť toto všetko je však len otázkou času.

V tomto článku sa dozviete, z čoho pozostáva aplikácia pre Android, ako otvoriť súbor APK a pomocou akých programov.

Čo je súbor APK?

Formát APK operačný systém Android, ktorý sa používa na archívne spustiteľné súbory aplikácií, a samotný názov súboru môže byť ľubovoľný, ale prípona by mala vyzerať iba ako .apk. Analógy APK v iných operačných systémoch sú .msi v systéme Windows, .sis v systéme Symbian, .rpm alebo .deb v systéme Linux.

Pozrime sa, čo je vo vnútri
V skutočnosti je .apk archív ZIP, takže si môžete pozrieť interné zariadenie pomocou ľubovoľného Správca súborov alebo archivátor ako WinRAR resp mobilná aplikácia Xplore.





Zároveň je potrebné pripomenúť, že k interným zdrojom získate iba vizuálny prístup, možnosti úprav sú extrémne obmedzené.
Zvážte štruktúru
Vo vnútri súboru .apk vidíme množstvo súborov a priečinkov, poďme zistiť, na čo slúžia:
  • AndroidManifest.xml je akýmsi „pasom“ aplikácie, z ktorého sa dozviete všetky hlavné body, požiadavky, verziu, povolenia a ďalšie.
  • META-INF tento súbor obsahuje metadáta, t.j. údaje o údajoch, kontrolné súčty, cesty k údajom, cesty k zdrojom a kontrolné súčty, certifikáty. Tento súbor môžete otvoriť ľubovoľným textový editor, ale odporúča sa Notepad++.
  • Priečinok res obsahuje všetky prostriedky programu, grafické, ako sú ikony, obrázky, text, prvky GUI. Môžete tiež ľahko pristupovať k priečinku.
  • class.dex - okamžitý programovací kód spustené aplikácie virtuálny prístroj Dalvik VM, čo je v tomto súbore, môžete vidieť iba dekompiláciou .apk, o tom si povieme v iných článkoch. zdroje.arsc -kompilovaný XML súbor, tento súbor obsahuje údaje o všetkých zdrojoch zapojených do programu.
  • lib - priečinok s natívnymi knižnicami, ku ktorým je možné pristupovať iba pri použití špecializovaných programov. Aj v súbore APK môžu byť súbory a priečinky ako com, org, udk, ale nie vždy.

Teraz sa pozrime na vnútornú štruktúru podrobnejšie, na to potrebujeme dekompilačný program, Java a súbor APK. Hlavným nástrojom na demontáž .apk je Apktool, ale tento program funguje iba z linky, čo nie je príliš pohodlné. Pre rýchlejšiu a pohodlnejšiu analýzu môžete použiť APKing, stále je to ten istý Apktool, ale s možnosťou práce z kontextového menu.
A tak si nainštalujeme APKing ako akúkoľvek aplikáciu pre Windows a výberom .apk naň klikneme pravým tlačidlom myši a zároveň Shiftom, po čom uvidíme nasledovné:


A vyberieme potrebnú akciu, napríklad úplne dekompilovať, potom program dokončí operáciu a vytvorí priečinok s rovnakým názvom.


Otvorením priečinka budeme mať prístup ku všetkým zdrojom súboru APK.


To je všetko textové súbory je možné upravovať, pri dodržaní základných pravidiel môžete použiť populárny program Notepad ++, napríklad AndroidManifest.xml

Apk editor pro, ktorý si môžete stiahnuť pre Android na našej webovej stránke, vám umožní hacknúť / zmeniť obsah súborov akejkoľvek aplikácie pre mobilné zariadenia a prispôsobte si ho podľa svojich predstáv.

Zvláštnosti

Program je profesionálny nástroj, ktorý sa v rukách pokročilých používateľov môže stať výkonným nástrojom na úpravu aplikácií pre Android. Funkčnosť je prakticky rovnaká softvér pre osobné počítače.

Čo dokáže tento nástroj?

  1. Zmeňte (preložte) názvy iných aplikácií.
  2. Zmeňte rozloženie architektúry, farby, šablóny grafických nastavení (napr. veľkosť ikon).
  3. Zmena zvukového dizajnu, mediálnych súborov.
  4. Odstrániť reklamy.
  5. Obíďte blokovanie plateného obsahu.
  6. Presuňte aplikáciu z internej pamäte zariadenia na SD kartu.
  7. Zmena rozlíšenia a ďalšie.

Ak chcete pochopiť, ako tento nástroj používať, musíte si stiahnuť apk editor pro a prejsť do ponuky. Potom si vyberte buď nainštalovaná aplikácia na android alebo apk súbor. Potom sa predvolene otvoria údaje, ktoré môže používateľ zmeniť:

  • úprava zdrojov;
  • nahradenie súboru;
  • všeobecná úprava;
  • editácia údajov.

Program vás vyzve na inštaláciu upravenej verzie. Nefunguje to vo všetkých prípadoch, takže stará verzia je potrebné manuálne odstrániť a nainštalovať nový. Po odinštalovaní by ste mali vybrať priečinok editora apk (pre pohodlie môžete použiť ES Explorer) medzi programami v systéme Android a nájsť upravený súbor aplikácie a nainštalovať ho do zariadenia.

Program je iný užívateľsky prívetivé rozhranie. Navigácia je pomerne jednoduchá, ale používateľ potrebuje mať základné znalosti angličtiny, aby ju správne ovládal.

Výhody a nevýhody

  1. Program ponúka užívateľovi široké možnosti prispôsobenia aplikácií.
  2. V menu je sekcia Help, ktorá jednoducho a podrobne popisuje veľké množstvo funkcií programu editora. Používatelia, ktorí sú ďaleko od programovania, preto nebudú musieť hľadať príklady a pokyny na úpravu zdrojov tretích strán.
  3. Program si môžete bezplatne stiahnuť z našej webovej stránky.

Používanie tohto nástroja si vyžaduje určité zručnosti a znalosti. V rukách neskúseného používateľa môže úprava viesť k narušeniu integrity systém súborov, čo nakoniec spôsobí pád aplikácií. V menu v položke Pomocník sú príklady prevodu s obrázkami a tipy ako na to správne použitie apk editor pro pre Android. Preto, ak sa chcete s týmto programom zaoberať, postupujte podľa pokynov.

Editor je pomerne užitočným nástrojom pre tých, ktorí čelia nepohodlnému aplikačnému rozhraniu (žiadny ruský jazyk, neustála reklama, bannery atď.). Ak ste už tento program použili, podeľte sa o svoje dojmy nižšie v komentároch.



Načítava...
Hore