Hoe apk uit een geïnstalleerde applicatie te extraheren. Hoe u het APK-bestand van een app rechtstreeks vanuit de Google Play Store kunt downloaden

Zachte reset is een “zachte” herstartprocedure mobiel apparaat(telefoon, PDA of communicator). Het is vergelijkbaar met het opnieuw opstarten van de computer via de overeenkomstige hoofdmenuoptie. Het systeem start opnieuw op en alle informatie blijft intact, in tegenstelling tot een harde reset.

Je zult nodig hebben

  • - communicator, mobiele telefoon of PDA.

Instructies

  • Voer een zachte herstart van uw apparaat uit als het bevroren is en u het weer tot leven wilt wekken. Als het apparaat niet reageert op toetsaanslagen of de stylus op het scherm, voer dan een zachte reset uit. Om dit te doen, drukt u aan de linkerkant van de communicator met het scherpe deel van de stylus op de Reset-knop. Deze knop bevindt zich linksonder en is rood. Naast de stylus kunt u er met elk ander scherp voorwerp (een paperclip of een potlood) op drukken.
  • Voer een zachte reset uit op uw communicator. Om dit te doen, kunt u het HD Tweak-hulpprogramma gebruiken. Na installatie verschijnt er een snelkoppeling in het programmamenu; u kunt deze gebruiken om uw apparaat “zacht opnieuw op te starten”. U kunt ook een zachte reset uitvoeren door de aan/uit-knop lang ingedrukt te houden. Er verschijnt een dialoogvenster op het scherm waarin u het uitschakelen van het apparaat moet bevestigen. Zet hem vervolgens aan met dezelfde knop.
  • Voer een zachte reset uit op uw Nokia-telefoon. Om dit te doen, voert u de toetsencombinatie *#7780# in of gaat u naar “Menu” en selecteert u vervolgens “Opties” - selecteer “Telefoonbeheer” en de optie “Initiële instellingen”. Hierna zal het scherm om uw vergrendelingswachtwoord vragen. Het standaardwachtwoord is 12345. Houd er rekening mee dat deze opdracht kan leiden tot het verwijderen van contacten en berichten. Maak daarom een ​​back-up van de informatie op de geheugenkaart voordat u deze uitvoert.
  • Download de app voor Soft Telefoons resetten LG – HD2 SoftReset, u kunt het downloaden via de link http://www.mobyware.ru/download.php?program_id=12650&device_id=995. Kopieer het bestand naar uw telefoon en installeer het. Er verschijnt een snelkoppeling naar de applicatie in het menu Toepassingen. Om een ​​zachte reset uit te voeren mobiele telefoon, start u gewoon het programma vanuit het menu. Deze applicatie is ook geschikt voor HTC-telefoons.
  • Hallo lezers van onze site. Op een dag vroeg een van de bezoekers om hulp; hij moest APK-bestanden uit een Android-smartphone halen. Daarom hebben we besloten het antwoord op deze vraag in dit artikel te beschrijven. Met deze handeling kunt u een back-up maken van alle geïnstalleerde applicaties op uw smartphone, tablet of andere actieve gadgets besturingssysteem Android.

    In welke gevallen wordt er een back-up gemaakt van geïnstalleerde applicaties?

    Situatie één. U moet uw telefoon terugzetten naar de fabrieksinstellingen, maar er is geen internettoegang of alleen mobiele toegang. U wilt niet opnieuw apps hoeven downloaden Google Spelen omdat het veel tijd zal kosten. In dergelijke gevallen is het mogelijk om APK-bestanden uit een Android-apparaat of .

    Situatie twee. Je hebt een spannend spel geïnstalleerd, waarvan de cache veel "weegt", en je vriend vond het leuk, en hij wilde hetzelfde speelgoed, maar nogmaals, er is geen toegang tot internet. Hier moet u reserveren. geïnstalleerd spel. Met instructies voor correcte installatie spellen met cache zijn te vinden.

    Er zijn veel van dergelijke situaties.

    Hoe APK-bestanden uit een Android-apparaat extraheren?

    Om deze taak te voltooien hebben we de gratis ES Explorer-applicatie nodig, die te vinden is op Google Play. Waarom deze specifieke dirigent? Het is eenvoudig, het is een uitstekende en gemakkelijk te gebruiken bestandsbeheerder en het beschikt al over een geïntegreerde back-upfunctie voor applicaties. Met deze functie kunt u de gewenste APK-bestanden uit Android-apparaten extraheren.

    Methode 1. Dus je hebt ES Explorer geïnstalleerd, laten we het nu starten:

    Figuur 1

    We gaan hiervoor naar het applicatiemenu, druk op de knop die we in de linkerbovenhoek van het apparaatscherm hebben aangegeven. Vouw het gedeelte 'Bibliotheken' uit en klik op APPs.

    Figuur 2

    Als je alles goed hebt gedaan, wordt er een venster met geïnstalleerde gebruikersapplicaties voor je geopend. Selecteer vervolgens de applicatie die u wilt uitpakken en druk op de knop Reserveren onderaan het scherm.


    Figuur 3 Figuur 4

    Alle uitgepakte applicaties bevinden zich in de map « Telefoongeheugen/back-ups/apps". Het is u misschien opgevallen dat in Figuren 3 en 4 sommige bestanden rood zijn gemarkeerd of groente, dus hier is het: applicaties waarvan eerder een back-up is gemaakt en die zich in de map bevinden, zijn groen gemarkeerd apps , en in het rood: applicaties die ook eerder zijn uitgepakt maar uit de map zijn verwijderd apps (alleen uitgepakte bestanden worden verwijderd, niet geïnstalleerde bestanden). Dat is eigenlijk alles wat er te halen valt met deze methode.

    Figuur 5

    Nu kunt u met deze bestanden doen wat u wilt: stuur ze naar uw computer, stuur ze naar een vriend via Bluetooth of e-mail. Laten we u er nogmaals aan herinneren dat deze methode alleen een back-up maakt van de applicaties die door de gebruiker zijn geïnstalleerd, maar niet van de systeemapplicaties. Gebruik methode 2 om een ​​back-up te maken van systeemtoepassingen.

    Methode 2. We lanceren dezelfde “ES Explorer”. Bovenaan het scherm vindt u een selectie van geheugensecties (Figuur 6) of ga naar het menu "Lokale opslag" (Figuur 7) en selecteer het item /Apparaat .


    Figuur 6 Figuur 7

    Vervolgens moet je naar systeem/app . Hier zijn alle applicaties die op het apparaat zijn geïnstalleerd: zowel gebruiker als systeem. Vervolgens zoeken we het benodigde APK-bestand en kopiëren dit naar de gewenste map. Zo ontvang je een kant-en-klaar APK-bestand voor installatie op andere gadgets.

    Waarschuwing! Voor beide methoden kan het nodig zijn. Het is heel goed mogelijk dat sommige uitgepakte systeem-APK-bestanden mogelijk niet op andere Android-apparaten worden geïnstalleerd, omdat ze zijn ontworpen voor een specifieke firmware.

    Dat is alles.

    We hopen dat dit bericht heeft geholpen het probleem op te lossen en dat je APK-bestanden van je Android-apparaat hebt kunnen extraheren. Als u andere manieren kent om programma's te reserveren of als u soortgelijke vragen heeft, schrijf ons dan.

    Houd ons in de gaten, er staan ​​nog veel interessante dingen in het verschiet.

    Soms passen sommige applicaties op Android op de een of andere manier niet bij de gebruiker. Een voorbeeld is opdringerige reclame. En het komt ook voor dat het programma voor iedereen goed is, maar dat de vertaling daarin krom is of helemaal ontbreekt. Of het programma is bijvoorbeeld een proefversie, maar krijg het volledige versie er is geen mogelijkheid. Hoe de situatie veranderen?

    Invoering

    In dit artikel zullen we het hebben over het demonteren van een APK-pakket met een applicatie, kijken naar de interne structuur ervan, de bytecode demonteren en decompileren, en ook proberen verschillende wijzigingen aan te brengen in de applicaties die ons het een of ander voordeel kunnen opleveren.

    Om dit allemaal zelf te doen, heb je op zijn minst basiskennis nodig van de Java-taal, waarin Android-applicaties zijn geschreven, en de XML-taal, die overal in Android wordt gebruikt - van het beschrijven van de applicatie zelf en de toegangsrechten ervan tot het opslaan van strings die wordt op het scherm weergegeven. Je hebt ook de mogelijkheid nodig om gespecialiseerde consolesoftware te gebruiken.

    Dus, wat is een APK-pakket waarin absoluut alle Android-software wordt gedistribueerd?

    Decompilatie van applicaties

    In dit artikel hebben we alleen met gedemonteerde applicatiecode gewerkt, maar als er serieuzere wijzigingen worden aangebracht in grote applicaties, zal het begrijpen van de kleine code veel moeilijker zijn. Gelukkig kunnen we de dex-code decompileren in Java-code, die, hoewel niet origineel en niet opnieuw gecompileerd, veel gemakkelijker te lezen is en de logica van de applicatie begrijpt. Om dit te doen, hebben we twee hulpmiddelen nodig:

    • dex2jar is een vertaler van Dalvik-bytecode naar JVM-bytecode, op basis waarvan we code in de Java-taal kunnen verkrijgen;
    • jd-gui is zelf een decompiler waarmee u leesbare Java-code uit JVM-bytecode kunt halen. Als alternatief kunt u Jad gebruiken (www.varaneckas.com/jad); Hoewel het vrij oud is, genereert het in sommige gevallen beter leesbare code dan Jd-gui.

    Dit is hoe ze gebruikt moeten worden. Eerst starten we dex2jar, waarbij we het pad naar het apk-pakket als argument opgeven:

    % dex2jar.sh mail.apk

    Als gevolg hiervan zal het Java-pakket mail.jar in de huidige map verschijnen, die al in jd-gui geopend kan worden om de Java-code te bekijken.

    Het regelen van APK-pakketten en het ontvangen ervan

    Plastic zak Android-applicaties, in feite is het een gewoon ZIP-bestand, het is niet nodig om de inhoud te bekijken of uit te pakken. speciaal gereedschap niet vereist. Het is voldoende om een ​​archiverprogramma te hebben - 7zip voor Windows of console-unzip op Linux. Maar dat gaat over de verpakking. Wat zit erin? Over het algemeen hebben we de volgende structuur binnenin:

    • META-INF/- bevat een digitaal certificaat van de applicatie, dat de maker ervan identificeert, en controlesommen van de pakketbestanden;
    • res/ - verschillende bronnen die de applicatie gebruikt in zijn werk, zoals afbeeldingen, declaratieve beschrijving van de interface en andere gegevens;
    • AndroidManifest.xml- beschrijving van de aanvraag. Dit omvat bijvoorbeeld een lijst met vereiste machtigingen Android-versie en de benodigde schermresolutie;
    • klassen.dex- gecompileerde applicatiebytecode voor virtuele machine Dalvik;
    • bronnen.arsc- ook bronnen, maar van een ander soort - in het bijzonder strings (ja, dit bestand kan worden gebruikt voor russificatie!).

    De vermelde bestanden en mappen bevinden zich, zo niet in alle, dan misschien wel in de overgrote meerderheid van de APK's. Er zijn echter een paar andere, minder vaak voorkomende bestanden/mappen die het vermelden waard zijn:

    • activa- analoog van bronnen. Het belangrijkste verschil is dat u, om toegang te krijgen tot een bron, de identificatie ervan moet kennen, maar de lijst met activa kan dynamisch worden verkregen met behulp van de methode AssetManager.list() in de applicatiecode;
    • libr- native Linux-bibliotheken geschreven met NDK (Native Development Kit).

    Deze map wordt gebruikt door gamefabrikanten, die daar de game-engine plaatsen die is geschreven in C/C++, maar ook door makers van krachtige applicaties (bijvoorbeeld Google Chrome). We hebben het apparaat ontdekt. Maar hoe krijgt u het pakketbestand van de applicatie waarin u geïnteresseerd bent? Omdat het niet mogelijk is om APK-bestanden van het apparaat op te halen zonder root (ze bevinden zich in de map /data/app) en rooten niet altijd aan te raden is, zijn er minstens drie manieren om het applicatiebestand op uw computer te krijgen:

    • APK Downloader-extensie voor Chrome;
    • Echte APK Leecher-app;
    • verschillende bestandshosting en Varezniks.

    Welke je moet gebruiken is een kwestie van smaak; we geven er de voorkeur aan om afzonderlijke applicaties te gebruiken, dus we zullen het gebruik van Real APK Leecher beschrijven, vooral omdat het in Java is geschreven en dienovereenkomstig in Windows of Nix zal werken.

    Nadat u het programma hebt gestart, moet u drie velden invullen: e-mailadres, wachtwoord en apparaat-ID - en een taal selecteren. De eerste twee zijn het e-mailadres en wachtwoord van uw Google-account dat u op het apparaat gebruikt. De derde is de apparaat-ID en kan worden verkregen door de code op de kiezer te typen # #8255## en vervolgens de Device ID-regel vinden. Bij het invullen hoeft u alleen het ID in te voeren zonder het Android-voorvoegsel.

    Na het invullen en opslaan verschijnt vaak de melding “Fout bij verbinden met server”. Het heeft niets te maken met Google Play, dus negeer het gerust en zoek naar pakketten die u interesseren.

    Bekijk en wijzig

    Stel dat u een pakket heeft gevonden dat u interesseert, het heeft gedownload, uitgepakt... en toen u probeerde een XML-bestand te bekijken, ontdekte u tot uw verrassing dat het bestand geen tekst was. Hoe decompileer je het en hoe kun je in het algemeen met pakketten werken? Is het echt nodig om de SDK te installeren? Nee, het is helemaal niet nodig om de SDK te installeren. In feite vereisen alle stappen om APK-pakketten uit te pakken, aan te passen en te verpakken de volgende hulpmiddelen:

    • ZIP-archiveraar voor het uitpakken en inpakken;
    • klein- Dalvik virtuele machine bytecode assembler/disassembler (code.google.com/p/smali);
    • aapt- een tool voor het verpakken van bronnen (standaard worden bronnen in binaire vorm opgeslagen om de applicatieprestaties te optimaliseren). Inbegrepen in de Android SDK, maar kan afzonderlijk worden verkregen;
    • ondertekenaar- een tool voor het digitaal ondertekenen van een aangepast pakket (bit.ly/Rmrv4M).

    Je kunt al deze tools afzonderlijk gebruiken, maar dit is lastig, dus het is beter om software van een hoger niveau te gebruiken die op hun basis is gebouwd. Als je op Linux of Mac OS X werkt, is er een tool genaamd apktool. Hiermee kunt u bronnen uitpakken originele uitstraling(inclusief binaire XML- en arsc-bestanden), bouwt het pakket opnieuw op met gewijzigde bronnen, maar weet niet hoe pakketten moeten worden ondertekend, dus u zult het ondertekenhulpprogramma handmatig moeten uitvoeren. Ondanks het feit dat het hulpprogramma in Java is geschreven, is de installatie ervan behoorlijk niet-standaard. Eerst moet je het jar-bestand zelf ophalen:

    $ 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

    Als je op Windows werkt, dan is daar een uitstekende tool voor genaamd Virtuous Ten Studio, die ook al deze tools verzamelt (inclusief apktool zelf), maar in plaats van een CLI-interface biedt het de gebruiker een intuïtieve grafische interface waarmee je voer bewerkingen uit voor het uitpakken, demonteren en decompileren in een paar klikken. Deze tool is Donation-ware, dat wil zeggen dat er soms vensters verschijnen waarin u om een ​​licentie wordt gevraagd, maar uiteindelijk kan dit worden getolereerd. Het heeft geen zin om het te beschrijven, omdat je de interface binnen een paar minuten kunt begrijpen. Maar apktool zou, vanwege zijn consolekarakter, in meer detail moeten worden besproken.


    Laten we eens kijken naar de apktool-opties. Kortom, het zijn er drie basiscommando's: d (decoderen), b (bouwen) en if (framework installeren). Als alles duidelijk is met de eerste twee opdrachten, wat doet de derde, voorwaardelijke verklaring dan? Het pakt het gespecificeerde UI-framework uit, wat nodig is in gevallen waarin u een systeempakket ontleedt.

    Laten we eens kijken naar de meest interessante opties van het eerste commando:

    • -S- demonteer dex-bestanden niet;
    • -R- pak geen hulpmiddelen uit;
    • -B- voeg geen foutopsporingsinformatie toe aan de resultaten van het demonteren van het dex-bestand;
    • --frame-pad- gebruik het opgegeven UI-framework in plaats van het raamwerk dat in apktool is ingebouwd. Laten we nu eens kijken naar een aantal opties voor het b-commando:
    • -F- geforceerde montage zonder controle van wijzigingen;
    • -A- geef het pad aan naar aapt (een hulpmiddel voor het bouwen van een APK-archief), als u het om wat voor reden dan ook vanuit een andere bron wilt gebruiken.

    Het gebruik van apktool is heel eenvoudig; u hoeft alleen maar een van de opdrachten en het pad naar de APK op te geven, bijvoorbeeld:

    $ apktool d mail.apk

    Hierna verschijnen alle uitgepakte en gedemonteerde bestanden van het pakket in de e-mailmap.

    Voorbereiding. Advertenties uitschakelen

    Theorie is natuurlijk goed, maar waarom is dat nodig als we niet weten wat we met het uitgepakte pakket moeten doen? Laten we proberen de theorie in ons voordeel toe te passen, namelijk door software aan te passen zodat deze ons geen advertenties laat zien. Laat het bijvoorbeeld Virtual Torch zijn - een virtuele fakkel. Deze software is ideaal voor ons, omdat deze boordevol vervelende reclame zit en bovendien eenvoudig genoeg is om niet te verdwalen in de jungle van code.


    Gebruik dus een van de bovenstaande methoden om de applicatie van de markt te downloaden. Als u besluit Virtuous Ten Studio te gebruiken, opent u eenvoudigweg het APK-bestand in de applicatie en pakt u het uit, maakt u een project aan (Bestand -> Nieuw project) en selecteert u vervolgens Bestand importeren in het projectcontextmenu. Als uw keuze op apktool viel, voert u gewoon één opdracht uit:

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

    Hierna zal een bestandsboom vergelijkbaar met die beschreven in de vorige sectie verschijnen in de map com.kauf.particle.virtualtorch, maar met een extra smali-map in plaats van dex-bestanden en een apktool.yml-bestand. De eerste bevat gedemonteerde code van het uitvoerbare dex-bestand van de applicatie, de tweede bevat service-informatie die nodig is voor apktool om het pakket weer samen te stellen.

    De eerste plaats waar we moeten kijken is natuurlijk AndroidManifest.xml. En hier komen we meteen de volgende regel tegen:

    Het is niet moeilijk te raden dat het verantwoordelijk is voor het verlenen van toestemming aan de applicatie om de internetverbinding te gebruiken. Als we alleen maar van advertenties af willen, hoeven we de applicatie hoogstwaarschijnlijk alleen maar van internet te blokkeren. Laten we proberen dit te doen. We verwijderen de opgegeven regel en proberen de software te bouwen met apktool:

    $ apktool b com.kauf.particle.virtualtorch

    Het resulterende APK-bestand verschijnt in de map com.kauf.particle.virtualtorch/build/. Het zal echter niet mogelijk zijn om het te installeren, omdat het geen digitale handtekening en bestandscontrolesommen heeft (het heeft simpelweg geen META-INF/ map). We moeten het pakket ondertekenen met het hulpprogramma apk-signer. Gelanceerd. De interface bestaat uit twee tabbladen: op de eerste (Key Generator) maken we sleutels, op de tweede (APK Signer) ondertekenen we. Om onze privésleutel aan te maken, vult u de volgende velden in:

    • Doelbestand- sleutelarchief-uitvoerbestand; er wordt meestal één paar sleutels in opgeslagen;
    • Wachtwoord En Bevestigen- wachtwoord voor de opslag;
    • Alias- naam van de sleutel in de opslag;
    • Alias-wachtwoord En Bevestigen- geheim sleutelwachtwoord;
    • Geldigheid- geldigheidsduur (in jaren). De standaardwaarde is optimaal.

    De overige velden zijn over het algemeen optioneel, maar er moet er minstens één worden ingevuld.


    WAARSCHUWING

    Als u een applicatie wilt ondertekenen met apk-signer, moet u de Android SDK installeren en het volledige pad ernaartoe opgeven in de applicatie-instellingen.

    Alle informatie wordt uitsluitend ter informatie verstrekt. Noch de redactie, noch de auteur zijn hiervoor verantwoordelijk mogelijke schade veroorzaakt door de materialen van dit artikel.

    Nu kunt u met deze sleutel de APK ondertekenen. Selecteer op het tabblad APK-ondertekenaar het nieuw gegenereerde bestand, voer het wachtwoord, de sleutelalias en het wachtwoord in, zoek vervolgens het APK-bestand en klik krachtig op de knop "Ondertekenen". Als alles goed gaat, wordt het pakket ondertekend.

    INFO

    Omdat we het pakket met onze eigen sleutel hebben ondertekend, zal het conflicteren met de originele applicatie, wat betekent dat wanneer we proberen de software via de markt bij te werken, we een foutmelding krijgen.

    Een digitale handtekening is alleen vereist voor software van derden, dus als u systeemtoepassingen wijzigt die zijn geïnstalleerd door ze naar de map /system/app/ te kopiëren, hoeft u ze niet te ondertekenen.

    Download daarna het pakket naar uw smartphone, installeer het en start het. Voila, de advertentie is verdwenen! In plaats daarvan verscheen er echter een bericht dat we geen internet hebben of niet over de juiste machtigingen beschikken. In theorie zou dit voldoende kunnen zijn, maar de boodschap ziet er vervelend uit, en eerlijk gezegd hebben we gewoon geluk gehad met een stomme applicatie. Normaal geschreven software zal hoogstwaarschijnlijk de inloggegevens verduidelijken of controleren op een internetverbinding en anders eenvoudigweg weigeren te starten. Wat te doen in dit geval? Bewerk de code uiteraard.

    Doorgaans creëren applicatie-auteurs speciale klassen voor het weergeven van advertenties en aanroepmethoden van deze klassen wanneer de applicatie of een van zijn “activiteiten” (in eenvoudige bewoordingen: applicatieschermen) wordt gestart. Laten we proberen deze klassen te vinden. We gaan naar de map smali, dan com (org bevat alleen de open grafische bibliotheek cocos2d), dan kauf (dit is waar het is, want dit is de naam van de ontwikkelaar en al zijn code is daar) - en hier is het, de marketingdirectory. Binnenin vinden we een aantal bestanden met de smalli-extensie. Dit zijn klassen, en de meest opvallende daarvan is de klasse Ad.smali, waarvan het gemakkelijk te raden is dat deze klasse advertenties weergeeft.

    We zouden de logica van de werking ervan kunnen veranderen, maar het zou veel eenvoudiger zijn om eenvoudigweg oproepen naar een van de methoden uit de applicatie zelf te verwijderen. Daarom verlaten we de marketingdirectory en gaan naar de aangrenzende deeltjesdirectory en vervolgens naar virtualtorch. Speciale aandacht Het bestand MainActivity.smali verdient dit. Dit is een standaard Android-klasse die door de Android SDK wordt gemaakt en als toegangspunt in de applicatie wordt geïnstalleerd (analoog aan de hoofdfunctie in C). Open het bestand om te bewerken.

    Binnenin zit smali-code (lokale assembler). Het is nogal verwarrend en moeilijk te lezen vanwege het lage niveau ervan, dus we zullen het niet bestuderen, maar eenvoudigweg alle verwijzingen naar de Ad-klasse in de code vinden en deze van commentaar voorzien. We voeren de regel “Advertentie” in de zoekopdracht in en komen bij regel 25:

    Veld privéadvertentie:Lcom/kauf/marketing/Ad;

    Hier wordt een advertentieveld gemaakt om een ​​advertentieklasseobject op te slaan. Wij geven commentaar door een ### bordje voor de rij te plaatsen. Wij zetten de zoektocht voort. Lijn 423:

    Nieuw exemplaar v3, Lcom/kauf/marketing/Ad;

    Dit is waar de objectcreatie plaatsvindt. Laten we commentaar geven. We gaan door met zoeken en vinden in de regels 433, 435, 466, 468, 738, 740, 800 en 802 aanroepen naar methoden van de klasse Ad. Laten we commentaar geven. Dat lijkt het te zijn. Redden. Nu moet het pakket weer in elkaar worden gezet en worden gecontroleerd op functionaliteit en de aanwezigheid van reclame. Voor de zuiverheid van het experiment retourneren we de regel die is verwijderd uit AndroidManifest.xml, stellen we het pakket samen, ondertekenen we het en installeren we het.

    Onze cavia. Reclame zichtbaar

    Oeps! De advertenties verdwenen alleen terwijl de applicatie actief was, maar bleven in het hoofdmenu staan, dat we zien wanneer we de software starten. Dus wacht, maar het beginpunt is de klasse MainActivity en de advertentie verdween terwijl de applicatie actief was, maar bleef in het hoofdmenu staan, dus het beginpunt is anders? Om het echte toegangspunt te identificeren, opent u het bestand AndroidManifest.xml opnieuw. En ja, het bevat de volgende regels:

    Ze vertellen ons (en, nog belangrijker, de Android) dat een activiteit met de naam Start moet worden gelanceerd als reactie op het genereren van een intentie (gebeurtenis) android.intent.action.MAIN uit de categorie android.intent.category.LAUNCHER. Deze gebeurtenis wordt gegenereerd wanneer u op het applicatiepictogram in het opstartprogramma tikt, en bepaalt dus het startpunt, namelijk de Start-klasse. Hoogstwaarschijnlijk heeft de programmeur eerst een applicatie geschreven zonder hoofdmenu, met als toegangspunt de standaard MainActivity-klasse, en vervolgens een nieuw venster (activiteit) toegevoegd met daarin het menu en beschreven in de Start-klasse, en er handmatig het item van gemaakt punt.

    Open het bestand Start.smali en zoek opnieuw naar de regel “Ad”, we vinden in regels 153 en 155 een vermelding van de klasse FirstAd. Het zit ook in de broncode en is, afgaande op de naam, verantwoordelijk voor het weergeven van advertenties op het hoofdscherm. Laten we verder kijken, er is de creatie van een instantie van de klasse FirstAd en een intentie, die in context gerelateerd is aan deze instantie, en dan het label cond_10, waarvan de voorwaardelijke overgang precies wordt uitgevoerd voordat een instantie van de klasse wordt gemaakt :

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

    Hoogstwaarschijnlijk berekent het programma op een of andere manier willekeurig of advertenties op het hoofdscherm moeten worden weergegeven, en als dat niet het geval is, springt het rechtstreeks naar cond_10. Oké, laten we haar taak vereenvoudigen en de voorwaardelijke overgang vervangen door een onvoorwaardelijke:

    #if-ne p1, v0, :cond_10 ga naar:cond_10

    Er zijn geen vermeldingen meer van FirstAd in de code, dus sluiten we het bestand en stellen we onze virtuele fakkel opnieuw samen met apktool. Kopieer het naar uw smartphone, installeer het, start het. Voila, alle reclame is verdwenen, waarvoor wij ons allemaal feliciteren.

    Resultaten

    Dit artikel is slechts een korte introductie tot de methoden voor het hacken en aanpassen van Android-applicaties. Veel problemen bleven achter de schermen, zoals het verwijderen van de beveiliging, het parseren van versluierde code, het vertalen en vervangen van applicatiebronnen, en het aanpassen van applicaties die zijn geschreven met de Android NDK. Met basiskennis is het echter slechts een kwestie van tijd om alles uit te zoeken.

    Stel je de volgende situatie voor: je hebt een game op Android geïnstalleerd, voltooid en verwijderd, maar je vond het leuk en je wilt het waarschijnlijk ooit nog een keer spelen. Maar om dit spel niet te vergeten, en nogmaals om het lange tijd niet te downloaden, kun je het apk-bestand uitpakken en later gebruiken.

    Instructies: pak apk uit in Android

    1. Ga naar ASTRO Bestandsbeheer en veeg naar links.

    2. Er worden extra tools geopend. Selecteer "Applicatiebeheer".

    3. Selecteer de applicaties waarvan u de APK-bestanden wilt uitpakken. Om dit te doen, tikt u er gewoon op. Als je alle applicaties wilt selecteren, tik je op het pictogram bovenaan het scherm.

    4. Er verschijnen onderaan twee nieuwe opties. Klik op "Back-up".

    5. Hierna begint het kopiëren van bestanden.

    De uitgepakte apk-bestanden bevinden zich op de SD-kaart in de map "back-ups", evenals in de ASTRO File Manager-applicatiebeheerder in de sectie "Gekopieerde applicaties".

    Dat is het. Ik hoop dat deze instructie nuttig voor je was.

    Veel Android-gebruikers weten dat je met de Titanium Backup-applicatie de applicatie als apk-bestand van het apparaat kunt extraheren. Vandaag zullen we kijken naar een methode waarmee je het apk-bestand van een applicatie rechtstreeks uit de Google Play Store kunt halen.

    Het voordeel van deze methode is dat het niet nodig is om eerst de applicatie op het apparaat te installeren. Helaas werkt deze methode alleen voor gratis applicaties. Dus wat we nodig hebben:

    1. Google Chroom

    Maak een tweede snelkoppeling voor Google Chrome op uw bureaublad.

    Klik met de rechtermuisknop op de snelkoppeling en selecteer 'Eigenschappen'. Voeg in het veld “Object” de volgende opdrachten toe, gescheiden door een spatie:

    Negeer certificaatfouten

    Toestaan ​​dat onveilige inhoud wordt uitgevoerd

    Het zal er ongeveer zo uitzien:

    ...\chrome.exe" --ignore-certificate-errors --allow-running-insecure-content

    Klik op “Toepassen” en “OK”.

    Na deze bewerking moet u de browser opnieuw opstarten en alle actieve exemplaren van de toepassing sluiten.

    2. Google-accountnaam en apparaat-ID

    In feite gaan we het downloaden van een applicatie naar het apparaat simuleren, dus u moet de naam van uw account weten, dat wil zeggen de naam van uw Google-mailbox, evenals het identificatienummer van uw Android-apparaat.

    Alles is duidelijk met de doos, maar om de apparaat-ID te achterhalen, opent u de kiezer op uw smartphone en belt u *#*#8255#*#*

    Op het scherm dat verschijnt, moet u de regel 'Apparaat-ID:' vinden

    Het ID-nummer is de combinatie van letters en cijfers na 'android-'. Als u bijvoorbeeld in de regel 'Apparaat-ID: android-1122aa33bb445577' ziet, dan is de ID de combinatie '1122aa33bb445577'. Schrijf deze combinatie op.

    Als u om wat voor reden dan ook uw Device ID niet kunt achterhalen met behulp van de bovenstaande methode, kunt u eenvoudig de Device ID-applicatie downloaden van de Google Play Store.

    3. APK-downloader

    Download de browserextensie genaamd APK Downloader.

    Voer in het venster dat verschijnt het adres van ons Google-account in, dat wil zeggen het e-mailadres. Wachtwoord (ja, eng), evenals apparaat-ID. Klik daarna op “Inloggen”.

    IN volgende venster selecteer uw land en operator mobiele communicatie en klik vervolgens op 'Instellingen opslaan'. Vervolgens zou er een venster moeten verschijnen dat aangeeft dat de extensie succesvol is geactiveerd.

    4. Google Play Store

    Ga nu naar onze favoriete Google Play Store en selecteer een gratis applicatie. Het volgende verschijnt aan de rechterkant van de adresbalk van uw browser: karakteristieke uitstraling groene kop met een pijl.

    Klik op dit pictogram en de applicatie wordt succesvol als APK-bestand naar uw computer gedownload. In wezen weten we nu hoe we zelfstandige distributies van gratis applicaties kunnen maken.

    Het is niet mogelijk om de absolute integriteit van de ontwikkelaar van de APK Downloader-extensie te verifiëren, dus voer uw accountgegevens op eigen risico in. Bovendien zijn dergelijke acties in principe in strijd met de gebruiksregels van de Google Play Store.