Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • TV (Smart TV)
  • Shkarkoni redaktuesin e skedarëve të sistemit apk. Si të redaktoni skedarët apk në kompjuterin tuaj

Shkarkoni redaktuesin e skedarëve të sistemit apk. Si të redaktoni skedarët apk në kompjuterin tuaj

Nga ky artikull do të mësoni se nga çfarë përbëhet aplikacioni Android, si të hapni një skedar APK dhe me çfarë programesh.

Çfarë është një skedar APK?

APK është një format i sistemit operativ Android që përdoret për skedarët e aplikacioneve të ekzekutueshme të arkivuara dhe emri i vetë skedarit mund të jetë çdo gjë, por shtrirja duhet të duket vetëm si kjo.apk. Analogët APK në sistemet e tjera operative janë .msi në Windows, .sis në Symbian, .rpm ose .deb në Linux.

Le të shohim se çfarë ka brenda
Në fakt, .apk është një arkiv ZIP, kështu që mund të shikoni pajisjen e brendshme duke përdorur çdo menaxher skedari ose arkivues, për shembull WinRAR ose aplikacionin celular X-plore.





Vlen të kujtohet se ju merrni vetëm akses vizual në burimet e brendshme; aftësitë e redaktimit janë jashtëzakonisht të kufizuara.
Le të shohim strukturën
Brenda .apk ne shohim një numër skedarësh dhe dosjesh, le të zbulojmë se për çfarë shërbejnë:
  • AndroidManifest.xml është një lloj "pasaporte" e aplikacionit nga e cila mund të zbuloni të gjitha pikat kryesore, kërkesat, versionin, lejet, etj.
  • META-INF ky skedar përmban meta të dhëna, domethënë të dhëna për të dhënat, shumat e kontrollit, shtigjet drejt të dhënave, shtigjet dhe shumat kontrolluese të burimeve, certifikatat. Ju mund ta hapni këtë skedar me çdo redaktues teksti, por rekomandohet të përdorni Notepad++.
  • Dosja res përmban të gjitha burimet e programit, grafikë, të tilla si ikona, fotografi, tekst dhe elementë të ndërfaqes grafike. Ju gjithashtu mund të përdorni lehtësisht dosjen.
  • classes.dex është kodi i programit të aplikimit të drejtpërdrejtë i ekzekutuar nga makina virtuale Dalvik VM; ju mund të shihni se çfarë ka brenda këtij skedari vetëm duke dekompiluar .apk; ne do të flasim për këtë në artikuj të tjerë. resources.arsc - skedari i përpiluar XML, ky skedar përmban të dhëna për të gjitha burimet e përfshira në program.
  • lib - një dosje me biblioteka vendase, burimet e të cilave mund të aksesohen vetëm kur përdorni programe të specializuara. APK mund të përmbajë gjithashtu skedarë dhe dosje si com, org, udk, por jo gjithmonë.

Tani le të shohim strukturën e brendshme në më shumë detaje; për këtë na duhet një program dekompilimi, Java dhe një skedar APK. Mjeti kryesor për çmontimin e .apk është Apktool, por ky program funksionon vetëm nga linja, e cila nuk është shumë e përshtatshme. Për analizë më të shpejtë dhe më të përshtatshme, mund të përdorni APKing, ky është ende i njëjti Apktool, por me aftësinë për të punuar nga menyja e kontekstit.
Dhe kështu ne instalojmë APKing si çdo aplikacion për Windows dhe, pasi kemi zgjedhur .apk, klikojmë mbi të me butonin e djathtë të miut dhe Shift në të njëjtën kohë, pas së cilës do të shohim sa vijon:


Dhe zgjidhni veprimin e kërkuar, për shembull, dekompiloni plotësisht, atëherë programi do të përfundojë operacionin dhe do të krijojë një dosje me të njëjtin emër.


Me hapjen e dosjes do të kemi akses në të gjitha burimet e skedarit APK.


Tani të gjithë skedarët e tekstit mund të redaktohen, duke respektuar rregullat bazë, mund të përdorni programin popullor Notepad++, për shembull, merrni parasysh AndroidManifest.xml

Programet për platformën Android janë një skedar i vetëm me shtesën apk, i cili është shumë i përshtatshëm. Në fakt, instalimi i ndonjë programi në një smartphone ose tabletë vjen vetëm në kopjimin e tij në vegël tuaj. Çfarë është një skedar apk dhe si mund të shihni se çfarë ka brenda?

Çfarë është një skedar APK?

Shkurtesa APK qëndron për Android Package Kit - një paketë e ekzekutueshme skedarësh për aplikacionet Android. Ky është një arkiv që përmban kode të përpiluara dhe të gatshme për ekzekutim dhe burime të tjera. Skedarët apk ruhen në faqet e internetit si Google Play, nga ku mund të shkarkohen dhe instalohen në vegël tuaj. Ato nuk janë të koduara.

Struktura e saj është përgatitur nga zhvilluesi për të ekzekutuar në mjedisin e makinës virtuale Dalvik ose ART. Këto makina janë të integruara në sistemin operativ Android dhe ato ekzekutojnë të gjitha aplikacionet që janë në pajisjen tuaj.

Vetë skedari apk është një arkiv i rregullt që mund ta hapni me çdo arkivues në Windows. Për shembull, WinRAR, ose një menaxher skedari që hap arkivat ZIP. Le të shohim se çfarë ka brenda.

  • Një skedar i ekzekutueshëm me një shtrirje dex (emri mund të jetë cilido), që është pikërisht kodi i programit.
  • Pranë tij është resources.arsc, ky është një regjistër burimesh që programi duhet të përdorë. Kjo është një strukturë në formatin XML.
  • AndroidManifest.xml është një skedar i detyrueshëm për çdo program, një manifest që përmban informacion bazë rreth tij. Këtu, për shembull, mund të regjistrohen versioni i programit, versioni i kërkuar i Android, informacioni rreth zhvilluesit, rezolucionet e kërkuara të ekranit etj.
  • Drejtoria res përmban burime të brendshme që programit i nevojiten për të punuar. Të gjitha fotografitë, ikonat, ikonat, hartat, e kështu me radhë mund të jenë këtu.
  • Drejtoria lib - bibliotekat vendase për ekzekutimin e programit, për shembull, kodi C++. Ky direktori mund të mos jetë i pranishëm nëse bibliotekat nuk përdoren.
  • Drejtoria e aseteve është burime shtesë për aplikacionin dhe ndonjëherë mund të mungojë. Cilat burime duhet të përdoren përshkruhet në skedarin resources.arsc.
  • Drejtoria META-INF – meta të dhënat e programit. Për shembull, skedari MANIFEST.MF, i cili mund të përmbajë shtigje drejt të dhënave dhe shumat e tyre të kontrollit. Skedarët e certifikatës RSA, informacioni i Manifest-Version dhe informacione të ngjashme të shërbimit mund të ruhen këtu.

Rishikimi i redaktuesve të skedarëve të njohur ARK

Siç është përmendur tashmë, mund ta shpaketoni skedarin apk duke përdorur çdo arkivues ZIP. Pas kësaj, do të keni mundësi të shikoni burimet e ruajtura atje.

Nuk do të ketë fare probleme me imazhet; ato mund të hapen në çdo program të përshtatshëm. Formati XML mund të hapet me çdo redaktues teksti, për shembull Notepad++. Nëse e dini se si funksionon ky format, atëherë tashmë mund t'i modifikoni ato. Por për skedarët e ekzekutueshëm të përpiluar do të duhet të përdorni mjete speciale.

Redaktori i eklipsit. Ky është një mjedis i plotë ndër-platformë për një programues. Ju mund të zhvilloni në çdo gjuhë moderne dhe të përgatisni skedarë të ekzekutueshëm, përfshirë për Android. Mjedisi mund të personalizohet në mënyrë fleksibël duke përdorur shtojca të shumta.

Android SDK. Siç nënkupton edhe emri, ky është një mjet i specializuar për zhvillimin e programeve celulare posaçërisht për Android. Me ndihmën e tij, ju lehtë mund të dekompiloni skedarët e ekzekutueshëm të aplikacionit të dikujt tjetër, ose të shkruani tuajin nga e para. Ai ndryshon në atë që lidh opsionalisht module të ndryshme për korrigjimin dhe testimin e kodit tuaj, për testimin e programeve për pajtueshmërinë me pajisje të ndryshme, etj.

Shkarkues APK. Ky është një plugin për shfletuesin Chrome që e bën shumë të lehtë shkarkimin e programeve apk nga çdo sajt dhe shikimin e strukturës së tyre. Për ta bërë këtë, as nuk duhet të jeni të regjistruar në Google Play.

Redaktori APK. Një redaktues që ju lejon të punoni me burime brenda paketave apk. Jo aq i fuqishëm sa Eclipse, por zgjidh shumë probleme të thjeshta. Për shembull, mund të hiqni blloqet e reklamave nga programi, të rusizoni ndërfaqen, të zëvendësoni ikonat ose teksturat me tuajat dhe shumë më tepër.

Apk editor pro, të cilin mund ta shkarkoni për Android në faqen tonë të internetit, do t'ju lejojë të hakoni/ndryshoni përmbajtjen e skedarëve të çdo aplikacioni për pajisjet celulare dhe ta personalizoni atë sipas gjykimit tuaj.

Veçoritë

Programi është një mjet profesional që, në duart e përdoruesve të avancuar, mund të bëhet një mjet i fuqishëm për redaktimin e aplikacioneve për Android. Funksionaliteti praktikisht nuk është i ndryshëm nga softueri i ngjashëm për kompjuterët personalë.

Çfarë mund të bëjë ky shërbim?

  1. Ndryshoni (përktheni) emrat e aplikacioneve të tjera.
  2. Ndryshoni paraqitjet e arkitekturës, ngjyrat, shabllonet e cilësimeve grafike (për shembull, madhësia e ikonës).
  3. Ndryshoni dizajnin e tingullit, skedarët e mediave.
  4. Hiqni reklamat.
  5. Anashkaloni bllokimin e përmbajtjes me pagesë.
  6. Transferoni një aplikacion nga memoria e brendshme e pajisjes në një kartë SD.
  7. Ndryshoni rezolucionin dhe shumë më tepër.

Për të kuptuar se si të përdorni programin, duhet të shkarkoni apk editor pro dhe të shkoni te menyja. Pastaj zgjidhni ose një aplikacion të instaluar tashmë në Android ose skedarin e tij apk. Pas kësaj, do të hapen të dhënat e paracaktuara, të cilat përdoruesi mund t'i ndryshojë:

  • burimet e redaktimit;
  • zëvendësimi i skedarëve;
  • redaktimi i përgjithshëm;
  • redaktimi i të dhënave.

Programi do të ofrojë instalimin e versionit të modifikuar. Kjo nuk funksionon në të gjitha rastet, kështu që versioni i vjetër duhet të çinstalohet manualisht dhe të instalohet i ri. Pas fshirjes, duhet të zgjidhni dosjen e redaktuesit apk (për lehtësi, mund të përdorni ES Explorer) midis programeve në Android dhe të gjeni skedarin e modifikuar të aplikacionit dhe ta instaloni në pajisje.

Programi ka një ndërfaqe miqësore për përdoruesit. Navigimi është mjaft i thjeshtë, por përdoruesi duhet të ketë njohuri bazë të gjuhës angleze për ta kuptuar atë.

Avantazhet dhe disavantazhet

  1. Programi i hap përdoruesit një gamë të gjerë opsionesh për personalizimin e aplikacioneve.
  2. Menuja përmban një seksion Ndihmë, i cili përshkruan thjesht dhe në detaje një numër të madh të aftësive të programit të redaktuesit. Prandaj, përdoruesit që janë larg programimit nuk do të duhet të kërkojnë shembuj dhe udhëzime redaktimi në burimet e palëve të treta.
  3. Ju mund ta shkarkoni programin falas në faqen tonë të internetit.

Përdorimi i këtij mjeti kërkon disa aftësi dhe njohuri. Në duart e një përdoruesi të papërvojë, redaktimi mund të çojë në shkelje të integritetit të sistemit të skedarëve, gjë që përfundimisht do të çojë në dështime të aplikacionit. Në menynë në artikullin Ndihmë ka shembuj konvertimi me fotografi dhe këshilla se si të përdorni siç duhet apk editor pro në Android. Prandaj, nëse doni ta kuptoni këtë program, thjesht ndiqni udhëzimet.

Redaktori është një mjet mjaft i dobishëm për ata që përballen me një ndërfaqe të papërshtatshme aplikacioni (mungesë e gjuhës ruse, reklama të vazhdueshme, banderola, etj.). Nëse e keni përdorur tashmë këtë program, ndani përshtypjet tuaja më poshtë në komente.

Ndonjëherë disa aplikacione në Android nuk i përshtaten përdoruesit në një farë mënyre. Një shembull është reklamimi ndërhyrës. Dhe gjithashtu ndodh që programi është i mirë për të gjithë, por përkthimi në të ose është i shtrembër ose mungon plotësisht. Ose, për shembull, programi është një provë, por nuk ka asnjë mënyrë për të marrë versionin e plotë. Si të ndryshoni situatën?

Prezantimi

Në këtë artikull do të flasim se si të çmontoni një paketë APK me një aplikacion, të shikojmë strukturën e saj të brendshme, të çmontoni dhe dekompilojmë bajtkodin, dhe gjithashtu të përpiqemi të bëjmë disa ndryshime në aplikacionet që mund të na sjellin një përfitim ose një tjetër.

Për t'i bërë të gjitha këto vetë, do t'ju duhet të paktën njohuri bazë për gjuhën Java, në të cilën janë shkruar aplikacionet Android, dhe gjuhën XML, e cila përdoret kudo në Android - nga përshkrimi i vetë aplikacionit dhe të drejtat e tij të aksesit e deri te ruajtja e vargjeve. do të shfaqet në ekran. Do t'ju duhet gjithashtu aftësia për të përdorur softuer të specializuar të konsolës.

Pra, çfarë është një paketë APK në të cilën shpërndahet absolutisht i gjithë softueri Android?

Dekompilimi i aplikacionit

Në këtë artikull, ne kemi punuar vetëm me kodin e aplikacionit të çmontuar, por nëse bëhen ndryshime më serioze në aplikacione të mëdha, kuptimi i kodit smali do të jetë shumë më i vështirë. Për fat të mirë, ne mund ta dekompilojmë kodin dex në kodin Java, i cili, megjithëse nuk është origjinal dhe i pa kompiluar, është shumë më i lehtë për t'u lexuar dhe kuptuar logjikën e aplikacionit. Për ta bërë këtë, do të na duhen dy mjete:

  • dex2jar është një përkthyes i bytecode Dalvik në bytecode JVM, në bazë të të cilit mund të marrim kodin në gjuhën Java;
  • jd-gui është vetë një dekompilues që ju lejon të merrni kode Java të lexueshme nga bytecode JVM. Si alternativë, mund të përdorni Jad (www.varaneckas.com/jad); Megjithëse është mjaft i vjetër, në disa raste gjeneron kod më të lexueshëm se Jd-gui.

Kështu duhet të përdoren. Së pari, ne nisim dex2jar, duke specifikuar rrugën drejt paketës apk si argument:

% dex2jar.sh mail.apk

Si rezultat, paketa Java mail.jar do të shfaqet në drejtorinë aktuale, e cila tashmë mund të hapet në jd-gui për të parë kodin Java.

Rregullimi i paketave APK dhe marrja e tyre

Një paketë aplikacioni Android është në thelb një skedar i rregullt ZIP që nuk kërkon ndonjë mjet të veçantë për të parë përmbajtjen e tij ose për ta nxjerrë atë. Mjafton të keni një arkivues - 7zip për Windows ose tastierë unzip në Linux. Por kjo ka të bëjë me mbështjellësin. Çfarë ka brenda? Në përgjithësi, ne kemi strukturën e mëposhtme brenda:

  • META-INF/- përmban një certifikatë dixhitale të aplikacionit, duke identifikuar krijuesin e tij, dhe kontrolle të skedarëve të paketës;
  • res/ - burime të ndryshme që aplikacioni përdor në punën e tij, si imazhe, përshkrim deklarativ i ndërfaqes, si dhe të dhëna të tjera;
  • AndroidManifest.xml- përshkrimi i aplikacionit. Kjo përfshin, për shembull, një listë të lejeve të kërkuara, versionin e kërkuar të Android dhe rezolucionin e kërkuar të ekranit;
  • klasat.dex- bitekodi i përpiluar i aplikacionit për makinën virtuale Dalvik;
  • burimet.arsc- gjithashtu burime, por të një lloji tjetër - në veçanti, vargjet (po, ky skedar mund të përdoret për Rusifikimin!).

Skedarët dhe drejtoritë e listuara janë, nëse jo në të gjitha, atëherë, ndoshta, në shumicën dërrmuese të APK-ve. Sidoqoftë, ka disa skedarë/direktori jo aq të zakonshme që ia vlen të përmenden:

  • aseteve- analog i burimeve. Dallimi kryesor është se për të hyrë në një burim duhet të dini identifikuesin e tij, por lista e aseteve mund të merret në mënyrë dinamike duke përdorur metodën AssetManager.list() në kodin e aplikacionit;
  • lib- bibliotekat vendase Linux të shkruara duke përdorur NDK (Native Development Kit).

Ky direktori përdoret nga prodhuesit e lojërave që vendosin motorët e tyre të lojës të shkruar në C/C++ atje, si dhe nga krijuesit e aplikacioneve me performancë të lartë (për shembull, Google Chrome). Ne e kuptuam pajisjen. Por si e merrni skedarin e paketës së aplikacionit që ju intereson? Meqenëse nuk është e mundur të merren skedarët APK nga pajisja pa rrënjë (ato janë të vendosura në drejtorinë /data/app), dhe rooting nuk këshillohet gjithmonë, ekzistojnë të paktën tre mënyra për të marrë skedarin e aplikacionit në kompjuterin tuaj:

  • Shtesa e Shkarkuesit APK për Chrome;
  • Aplikacioni i vërtetë APK Leecher;
  • hostimi i skedarëve të ndryshëm dhe Varezniks.

Cilin të përdorni është çështje shije; ne preferojmë të përdorim aplikacione të veçanta, kështu që ne do të përshkruajmë përdorimin e Real APK Leecher, veçanërisht pasi është shkruar në Java dhe, në përputhje me rrethanat, do të funksionojë ose në Windows ose në Nix.

Pas fillimit të programit, duhet të plotësoni tre fusha: Email, Fjalëkalim dhe ID të pajisjes - dhe zgjidhni një gjuhë. Dy të parat janë posta elektronike dhe fjalëkalimi i llogarisë suaj të Google që përdorni në pajisje. E treta është identifikuesi i pajisjes dhe mund të merret duke shtypur kodin në diler # #8255## dhe më pas gjetja e linjës Device ID. Kur plotësoni, duhet të vendosni vetëm ID-në pa prefiksin android.

Pas plotësimit dhe ruajtjes, shpesh shfaqet mesazhi "Gabim gjatë lidhjes me serverin". Nuk ka asnjë lidhje me Google Play, ndaj mos ngurroni ta shpërfillni atë dhe të kërkoni paketa që ju interesojnë.

Shikoni dhe modifikoni

Le të themi se keni gjetur një paketë që ju intereson, e keni shkarkuar, shpaketuar ... dhe kur u përpoqët të shikonit disa skedarë XML, u habitët kur zbuluat se skedari nuk ishte tekst. Si ta dekompiloni atë dhe si të punoni me paketat në përgjithësi? A është vërtet e nevojshme të instaloni SDK-në? Jo, nuk është e nevojshme të instaloni SDK fare. Në fakt, të gjithë hapat për nxjerrjen, modifikimin dhe paketimin e paketave APK kërkojnë mjetet e mëposhtme:

  • arkivues ZIP për shpaketim dhe paketim;
  • i vogël- assembler/disassembler i bytecode makinës virtuale Dalvik (code.google.com/p/smali);
  • aapt- një mjet për paketimin e burimeve (si parazgjedhje, burimet ruhen në formë binare për të optimizuar performancën e aplikacionit). Përfshihet në Android SDK, por mund të merret veçmas;
  • nënshkrues- një mjet për nënshkrimin dixhital të një pakete të modifikuar (bit.ly/Rmrv4M).

Ju mund t'i përdorni të gjitha këto mjete veç e veç, por kjo është e papërshtatshme, kështu që është më mirë të përdorni softuer të nivelit më të lartë të ndërtuar mbi bazën e tyre. Nëse punoni në Linux ose Mac OS X, ekziston një mjet i quajtur apktool. Kjo ju lejon të shpaketoni burimet në formën e tyre origjinale (përfshirë skedarët binar XML dhe arsc), të rindërtoni një paketë me burime të ndryshuara, por nuk di të nënshkruajë paketat, kështu që do t'ju duhet të ekzekutoni manualisht programin e nënshkruesit. Përkundër faktit se programi është shkruar në Java, instalimi i tij është mjaft jo standard. Së pari ju duhet të merrni vetë skedarin 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 $ eksport PATH=~/bin:$PATH

Nëse punoni në Windows, atëherë ekziston një mjet i shkëlqyeshëm për të i quajtur Virtuous Ten Studio, i cili gjithashtu grumbullon të gjitha këto mjete (përfshirë vetë apktool), por në vend të një ndërfaqeje CLI, ai i siguron përdoruesit një ndërfaqe grafike intuitive me të cilën mund të kryeni operacione për zbërthimin, çmontimin dhe dekompilimin me disa klikime. Ky mjet është Donation-ware, domethënë, ndonjëherë shfaqen dritare që ju kërkojnë të merrni një licencë, por në fund kjo mund të tolerohet. Nuk ka kuptim ta përshkruajmë atë, sepse mund ta kuptoni ndërfaqen në pak minuta. Por apktool, për shkak të natyrës së tij të konsolës, duhet të diskutohet më në detaje.


Le të shohim opsionet e apktool. Shkurtimisht, ekzistojnë tre komanda themelore: d (deshifroj), b (ndërtoj) dhe if (instalo kornizën). Nëse gjithçka është e qartë me dy komandat e para, atëherë çfarë bën deklarata e tretë, e kushtëzuar? Ai shpaketon kornizën e specifikuar të UI, e cila është e nevojshme në rastet kur ju zbërtheni ndonjë paketë të sistemit.

Le të shohim opsionet më interesante të komandës së parë:

  • -s- mos i çmontoni skedarët dex;
  • -r- mos i shpaketoni burimet;
  • -b- mos futni informacionin e korrigjimit në rezultatet e çmontimit të skedarit dex;
  • --kornizë-rrugë- përdorni kornizën e specifikuar të UI në vend të atij të integruar në apktool. Tani le të shohim disa opsione për komandën b:
  • -f- montim i detyruar pa kontrolluar ndryshimet;
  • -a- tregoni rrugën drejt aapt (një mjet për ndërtimin e një arkivi APK), nëse për ndonjë arsye dëshironi ta përdorni nga një burim tjetër.

Përdorimi i apktool është shumë i thjeshtë; për ta bërë këtë, thjesht specifikoni një nga komandat dhe shtegun për në APK, për shembull:

$ apktool d mail.apk

Pas kësaj, të gjithë skedarët e nxjerrë dhe të çmontuar të paketës do të shfaqen në drejtorinë e postës.

Përgatitja. Çaktivizimi i reklamave

Teoria është, sigurisht, e mirë, por pse është e nevojshme nëse nuk dimë çfarë të bëjmë me paketën e papaketuar? Le të përpiqemi ta zbatojmë teorinë në dobinë tonë, domethënë të modifikojmë disa softuer në mënyrë që të mos na tregojë reklama. Për shembull, le të jetë Virtual Torch - një pishtar virtual. Ky softuer është ideal për ne, sepse është i mbushur me reklama të bezdisshme dhe, për më tepër, është mjaft i thjeshtë për të mos humbur në xhunglën e kodit.


Pra, duke përdorur një nga metodat e mësipërme, shkarkoni aplikacionin nga tregu. Nëse vendosni të përdorni Virtuous Ten Studio, thjesht hapni skedarin APK në aplikacion dhe zbërthejeni atë, krijoni një projekt (File -> Projekt i ri), më pas zgjidhni Import File në menynë e kontekstit të projektit. Nëse zgjedhja juaj ra në apktool, atëherë thjesht ekzekutoni një komandë:

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

Pas kësaj, një pemë skedari e ngjashme me atë të përshkruar në seksionin e mëparshëm do të shfaqet në drejtorinë com.kauf.particle.virtualtorch, por me një drejtori shtesë smali në vend të skedarëve dex dhe një skedari apktool.yml. E para përmban kodin e çmontuar të skedarit dex të ekzekutueshëm të aplikacionit, i dyti përmban informacionin e shërbimit të nevojshëm që apktool të mbledhë paketën përsëri.

Vendi i parë që duhet të shohim është, sigurisht, AndroidManifest.xml. Dhe këtu menjëherë hasim rreshtin e mëposhtëm:

Nuk është e vështirë të merret me mend se është përgjegjëse për dhënien e lejeve të aplikacionit për të përdorur lidhjen në internet. Në fakt, nëse thjesht duam të heqim qafe reklamat, ka shumë të ngjarë që thjesht të bllokojmë aplikacionin nga Interneti. Le të përpiqemi ta bëjmë këtë. Ne fshijmë rreshtin e specifikuar dhe përpiqemi të ndërtojmë softuerin duke përdorur apktool:

$ apktool b com.kauf.particle.virtualtorch

Skedari APK që rezulton do të shfaqet në direktorinë com.kauf.particle.virtualtorch/build/. Sidoqoftë, nuk do të jetë e mundur ta instaloni atë, pasi nuk ka një nënshkrim dixhital dhe kontrolle të skedarëve (thjesht nuk ka një drejtori META-INF/). Ne duhet të nënshkruajmë paketën duke përdorur programin apk-signer. Nisur. Ndërfaqja përbëhet nga dy skeda - në të parën (Key Generator) ne krijojmë çelësa, në të dytën (APK Signer) ne nënshkruajmë. Për të krijuar çelësin tonë privat, plotësoni fushat e mëposhtme:

  • Skedari i synuar- skedari i daljes së dyqanit të çelësave; zakonisht ruan një palë çelësa;
  • Fjalëkalimi Dhe Konfirmo- fjalëkalimi për ruajtjen;
  • Alias- emri i çelësit në ruajtje;
  • Fjalëkalimi i pseudonimit Dhe Konfirmo- fjalëkalimi i çelësit sekret;
  • Vlefshmëria- periudha e vlefshmërisë (në vite). Vlera e paracaktuar është optimale.

Fushat e mbetura janë, në përgjithësi, opsionale - por të paktën një duhet të plotësohet.


PARALAJMËRIM

Për të nënshkruar një aplikacion duke përdorur apk-signer, duhet të instaloni Android SDK dhe të specifikoni rrugën e plotë drejt tij në cilësimet e aplikacionit.

I gjithë informacioni jepet vetëm për qëllime informative. As redaktorët dhe as autori nuk janë përgjegjës për ndonjë dëm të mundshëm të shkaktuar nga materialet e këtij artikulli.

Tani mund të nënshkruani APK-në me këtë çelës. Në skedën APK Signer, zgjidhni skedarin e krijuar rishtazi, futni fjalëkalimin, pseudonimin kryesor dhe fjalëkalimin, më pas gjeni skedarin APK dhe klikoni me guxim butonin "Sign". Nëse gjithçka shkon mirë, paketa do të nënshkruhet.

INFO

Meqenëse e kemi nënshkruar paketën me çelësin tonë, ajo do të jetë në konflikt me aplikacionin origjinal, që do të thotë se kur të përpiqemi të përditësojmë softuerin përmes tregut, do të marrim një gabim.

Një nënshkrim dixhital kërkohet vetëm për softuerin e palëve të treta, kështu që nëse po modifikoni aplikacionet e sistemit që janë instaluar duke i kopjuar ato në drejtorinë /system/app/, atëherë nuk keni nevojë t'i nënshkruani ato.

Pas kësaj, shkarkoni paketën në smartphone tuaj, instaloni dhe lansoni atë. Voila, reklama është zhdukur! Në vend të kësaj, megjithatë, u shfaq një mesazh se ne nuk kemi internet ose nuk kemi lejet e duhura. Në teori, kjo mund të jetë e mjaftueshme, por mesazhi duket i bezdisshëm dhe, për të qenë i sinqertë, thjesht patëm fat me një aplikim budalla. Softueri i shkruar normalisht ka shumë të ngjarë të qartësojë kredencialet e tij ose të kontrollojë për një lidhje interneti dhe përndryshe thjesht refuzon të nisë. Si të jesh në këtë rast? Sigurisht, modifikoni kodin.

Në mënyrë tipike, autorët e aplikacioneve krijojnë klasa të veçanta për shfaqjen e reklamave dhe metodat e thirrjeve të këtyre klasave kur aplikacioni ose një nga "aktivitetet" e tij (me fjalë të thjeshta, ekranet e aplikacionit) hapet. Le të përpiqemi të gjejmë këto klasa. Shkojmë te direktoria smali, pastaj com (org përmban vetëm bibliotekën grafike të hapur cocos2d), pastaj kauf (këtu është, sepse ky është emri i zhvilluesit dhe i gjithë kodi i tij është atje) - dhe ja ku është, drejtoria e marketingut. Brenda gjejmë një mori skedarësh me ekstensionin smali. Këto janë klasa, dhe më e dalluara prej tyre është klasa Ad.smali, nga emri i së cilës mund të merret me mend se është ajo që shfaq reklamat.

Ne mund të ndryshonim logjikën e funksionimit të tij, por do të ishte shumë më e lehtë që thjesht të hiqnin thirrjet në ndonjë nga metodat e tij nga vetë aplikacioni. Prandaj, ne largohemi nga direktoria e marketingut dhe shkojmë në direktorinë ngjitur të grimcave, dhe më pas në virtualtorch. Skedari MainActivity.smali meriton vëmendje të veçantë këtu. Kjo është një klasë standarde Android që krijohet nga Android SDK dhe instalohet si pikë hyrëse në aplikacion (analog me funksionin kryesor në C). Hapni skedarin për redaktim.

Brenda ka kod smali (ambler lokal). Është mjaft konfuze dhe e vështirë për t'u lexuar për shkak të natyrës së tij të nivelit të ulët, kështu që ne nuk do ta studiojmë atë, por thjesht do t'i gjejmë të gjitha referencat për klasën Ad në kod dhe do t'i komentojmë ato. Ne futim rreshtin "Ad" në kërkim dhe arrijmë në rreshtin 25:

Reklamë private në terren:Lcom/kauf/marketing/Ad;

Këtu krijohet një fushë reklame për të ruajtur një objekt të klasës Ad. Ne komentojmë duke vendosur një shenjë ### përpara rreshtit. Ne vazhdojmë kërkimin. Rreshti 423:

Instance e re v3, Lcom/kauf/marketing/Ad;

Këtu ndodh krijimi i objektit. Le të komentojmë. Ne vazhdojmë kërkimin dhe gjejmë në rreshtat 433, 435, 466, 468, 738, 740, 800 dhe 802 thirrjet e metodave të klasës Ad. Le të komentojmë. Dukej se kaq është. Ruaj. Tani paketa duhet të bashkohet përsëri dhe të kontrollohet për funksionalitetin dhe praninë e reklamave. Për pastërtinë e eksperimentit, ne kthejmë linjën e hequr nga AndroidManifest.xml, mbledhim paketën, nënshkruajmë dhe instalojmë.

Derri ynë gini. Reklamimi i dukshëm

Oops! Reklamimi u zhduk vetëm gjatë ekzekutimit të aplikacionit, por mbeti në menynë kryesore, të cilën e shohim kur lëshojmë softuerin. Pra, prisni, por pika e hyrjes është klasa MainActivity, dhe reklama u zhduk gjatë ekzekutimit të aplikacionit, por mbeti në menunë kryesore, pra pika e hyrjes është e ndryshme? Për të identifikuar pikën e vërtetë të hyrjes, rihap skedarin AndroidManifest.xml. Dhe po, ai përmban rreshtat e mëposhtëm:

Ata na thonë (dhe, më e rëndësishmja, androidi) se një aktivitet i quajtur Start duhet të nisë në përgjigje të gjenerimit të një qëllimi (ngjarjeje) android.intent.action.MAIN nga kategoria android.intent.category.LAUNCHER. Kjo ngjarje gjenerohet kur trokitni lehtë mbi ikonën e aplikacionit në lëshuesin, kështu që përcakton pikën e hyrjes, përkatësisht klasën Start. Me shumë mundësi, programuesi fillimisht shkroi një aplikacion pa një menu kryesore, pika hyrëse në të cilën ishte klasa standarde MainActivity, dhe më pas shtoi një dritare (aktivitet) të re që përmban menunë dhe të përshkruar në klasën Start, dhe e bëri manualisht hyrjen. pikë.

Hapni skedarin Start.smali dhe kërkoni përsëri rreshtin "Ad", ne gjejmë në rreshtat 153 dhe 155 një përmendje të klasës FirstAd. Është gjithashtu në kodin burimor dhe, duke gjykuar nga emri, është përgjegjës për shfaqjen e reklamave në ekranin kryesor. Le të shohim më tej, ekziston krijimi i një instance të klasës FirstAd dhe një qëllim që, sipas kontekstit, lidhet me këtë shembull, dhe më pas etiketa cond_10, kalimi i kushtëzuar në të cilin kryhet pikërisht përpara krijimit të një instance. të klasës:

If-ne p1, v0, :cond_10 .linja 74 e re-instance v0, Landroid/content/Intent; ... :cond_10

Me shumë mundësi, programi llogarit në një farë mënyre rastësisht nëse reklamimi duhet të shfaqet në ekranin kryesor dhe, nëse jo, hidhet drejtpërdrejt në cond_10. Ok, le të thjeshtojmë detyrën e saj dhe të zëvendësojmë tranzicionin e kushtëzuar me një të pakushtëzuar:

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

Nuk ka më përmendje të FirstAd në kod, kështu që ne mbyllim skedarin dhe rimontojmë pishtarin tonë virtual duke përdorur apktool. Kopjojeni atë në telefonin tuaj inteligjent, instaloni, lëshojeni. Voila, çdo reklamë është zhdukur, për të cilën ne përgëzojmë të gjithëve.

Rezultatet

Ky artikull është vetëm një hyrje e shkurtër e metodave të hakimit dhe modifikimit të aplikacioneve Android. Shumë çështje mbetën prapa skenave, të tilla si heqja e mbrojtjes, analizimi i kodit të turbullt, përkthimi dhe zëvendësimi i burimeve të aplikacionit, si dhe modifikimi i aplikacioneve të shkruara duke përdorur Android NDK. Megjithatë, duke pasur njohuri bazë, është vetëm çështje kohe për t'i kuptuar të gjitha.

Redaktimi i aplikacioneve të sistemit Android kryhet më shpesh kur përdoruesi i një smartphone, tableti ose pajisjeje tjetër të kontrolluar nga ky sistem operativ nuk është më i kënaqur me pamjen aktuale të programeve të instaluara në pajisje nga prodhuesi ose shitësi. Një arsye tjetër mund të jetë nevoja për të bërë jo vetëm ndryshime në lidhje me dizajnin grafik të aplikacioneve Android, por edhe ndikimin në vendndodhjen e elementeve të ndryshëm dhe performancën e funksioneve bazë.

Për të bërë ndryshime në kod, kërkohen aftësi bazë programimi në pothuajse çdo gjuhë (mundësisht Java dhe C++). Për të zëvendësuar grafikën, duart e drejta dhe aftësia për të punuar në një redaktues grafik do të bëjnë.

Para së gjithash, duhet të vendosni nëse thjesht duhet të zëvendësoni grafikën në aplikacionet Android ose nëse duhet të ndryshoni rregullimin e elementeve në sistem dhe të bëni ndryshime më të thella në kod. Hapat e mëtejshëm varen nga kjo, të cilat përfshijnë ose punën me aplikacionin si arkiv, ose çmontimin dhe modifikimin e plotë të tij.

Ndryshimi i grafikës në aplikacionet e sistemit Android

Për të zëvendësuar ose modifikuar thjesht grafikën origjinale (ndryshoni ngjyrat e butonave, rivizatoni fotot, etj.), mjafton të keni një arkivues standard WinRAR në kompjuterin tuaj. Në pajisje, përdoruesi duhet të ketë të drejta "rrënjë" (analoge me një llogari administratori në Windows), dhe gjithashtu këshillohet që të ketë një rikuperim alternativ (CWM) dhe një eksplorues rrënjë (për të hyrë në sistemin e skedarëve Android direkt në pajisje. vetë).

Para së gjithash, duhet të aktivizoni "Debugging USB" në pajisje, më pas ta lidhni atë me kompjuterin duke përdorur një kabllo USB dhe të instaloni drejtuesit e nevojshëm. Ato zakonisht ndodhen në një disk virtual që shfaqet kur lidheni me kompjuterin tuaj.

Pastaj ju duhet gjithashtu të shkarkoni shtesën ADB për menaxherin e skedarëve nga Interneti. Kjo shtojcë ju lejon të shihni të gjithë sistemin Android si një disk të lidhur me dosje. Të gjitha aplikacionet e sistemit janë të vendosura në /system/app, si dhe /system/framework. Pasi të keni gjetur aplikacionin që ju nevojitet, thjesht kopjojeni atë në kompjuterin tuaj. Nëse shtojca nuk është e instaluar, mund të përdorni root explorer për të kopjuar aplikacionin me shtesën apk në një kartë SD të lëvizshme dhe më pas nga ajo në kompjuter.

Pas kopjimit të aplikacionit të dëshiruar, mund të filloni të redaktoni grafikët. Nga rruga, të gjitha fotografitë në aplikacionet Android ruhen në formatin png, i cili mund të hapet lehtësisht me çdo redaktues grafik. Kur hapni skedarin e aplikacionit duke përdorur WinRAR, mund të shihni një seri dosjesh. Ne do të jemi të interesuar vetëm për dosjen res, brenda së cilës do të gjejmë, nga ana tjetër, shumë dosje të ndryshme. Prej tyre nevojiten vetëm ato që kanë në emër fjalën “të tërhequr”.

Tani le të kujtojmë llojin e pajisjes sonë dhe rezolucionin e ekranit të saj. Nëse ky është një smartphone dhe rezolucioni është 240x320, atëherë do të jemi të interesuar kryesisht për dosjet e vizatueshme dhe të tërheqshme-ldpi. Nëse rezolucioni është 320x480 - dosjet e vizatimit dhe e mdpi e vizatimit, përkatësisht, dhe për rezolucionin 480x800 - dosjet e vizatimit dhe e tërheqjes-hdpi. Përveç tyre, zakonisht ka edhe dosje, emrat e të cilëve përmbajnë fjalën "tokë" - këto janë grafika për modalitetin e portretit, d.m.th. kur pajisja është e anuar.

Nëse keni një tabletë në duart tuaja, atëherë ne do të na interesojnë vetëm dosjet e vizatueshme dhe mdpi të vizatueshme në çdo rezolucion të ekranit.

Duke kopjuar dosjet e zgjedhura në kompjuterin tuaj, ju mund të zëvendësoni ose ringjyroni imazhet origjinale me ato që ju nevojiten dhe të këndshme për syrin. Vëmendje e veçantë duhet t'i kushtoni fotografive me rezolucion 9.png. Fakti është se përgjatë perimetrit të një imazhi të tillë ekziston një kornizë e veçantë e gjerë një piksel me shenja të veçanta, shkelja e integritetit të së cilës do të çojë në një mosfunksionim të aplikacionit. Prandaj, duhet pasur kujdes ekstrem kur redaktoni skedarë të tillë.

Pas redaktimit të dosjes, duhet ta ngarkoni përsëri në arkiv, që është vetë aplikacioni me shtesën apk. Në këtë rast, është e nevojshme të zgjidhni opsionin "pa kompresim" në WinRAR.

Aplikacioni i korrigjuar shkarkohet përsëri në pajisje ose duke përdorur root explorer (së pari skedari kopjohet në kartën SD, dhe prej saj në pajisje), ose pas daljes në rikuperim - direkt nga kompjuteri në /system/app ose / dosja e sistemit/kornizës . Më pas, duhet të vendosni lejet e skedarëve duke përdorur opsionet e duhura në eksploruesin rrënjë ose shtojcën ADB. Ato duhet të jenë në formatin 644. Pas rinisjes së pajisjes, mund të shihni rezultatin e aplikacionit të përditësuar.

Redaktimi i kodit burimor të aplikacioneve të sistemit

Duhet pak më shumë përpjekje për të redaktuar kodin burimor të aplikacioneve të sistemit. Për të çmontuar dhe rimontuar aplikacionin pasi të keni bërë ndryshime në të, do t'ju duhet të plotësoni disa hapa të mëposhtëm.

1) Instaloni në kompjuterin tuaj paketën e nevojshme të softuerit në versionet e tyre më të fundit: Java SE Runtime Environment dhe Android SDK Windows (programe për të punuar me aplikacionet dhe përbërësit e tyre), APKtool ose APKManager ose Firmware_tool (një nga tre programet për çmontimin dhe dekompilimin e aplikacioneve të sistemit ), redaktori NotePad++ (për të bërë ndryshime në kodin burimor të aplikacioneve të sistemit Android).

2) Aktivizoni "Debugging USB" në pajisje, lidheni atë me kompjuterin duke përdorur një kabllo USB, instaloni drejtuesit e nevojshëm për të punuar me pajisjen.

3) Duke përdorur një nga programet e sipërpërmendura për të punuar me kodin e aplikacionit, ju duhet të nxirrni dosjen /system/framework (tërësisht) dhe aplikacionet e sistemit nga dosja /system/app nga telefoni në dosjen e duhur të programit. Për shembull, për programin Firmware_tool, skedarët nga telefoni duhet të kopjohen në dosjen C:Firmwaretoolfw_project1_source2_system.img_unpacked në nëndosjet përkatëse (aplikacionet - në dosjen e aplikacionit, skedarët nga korniza - në dosjen kornizë). Kur përdorni këtë dhe programe të tjera, sigurohuni që të lexoni udhëzimet për to.

4) Instaloni "kornizën mbështetëse", d.m.th. një grup rregullash në përputhje me të cilat do të kryhet dekompilimi (d.m.th. kodi i çmontimit) dhe përpilimi (d.m.th. kodi i montimit) i aplikacioneve.

Kjo përfundon përgatitjen për të punuar me aplikacionet e sistemit.

Shkarkimi i aplikacioneve nga pajisja dhe ngarkimi i tyre përsëri kryhet në mënyrë të ngjashme me procedurën e përshkruar në seksionin "Ndryshimi i grafikës në aplikacionet e sistemit Android".

Redaktimi i kodit të aplikacioneve Android zakonisht bëhet duke përdorur redaktorin NotePad++ - një nga redaktuesit më të përshtatshëm të tekstit që ka mundësinë e nënvizimit të sintaksës së gjuhës së zgjedhur të programimit. Si rregull, kur redaktoni, mund të ndryshoni grafikën gjatë rrugës duke përdorur redaktuesin e zgjedhur të grafikut.

Pas përfundimit të redaktimit, aplikacioni i modifikuar shkarkohet përsëri në pajisje dhe vetë pajisja duhet të riniset. Redaktorët më të avancuar përdorin emulatorë të ndryshëm, për shembull, Eclipse nga Google, për të korrigjuar aplikacionet përpara se t'i shkarkojnë ato në pajisje.

Artikujt më të mirë mbi këtë temë