Meny
Gratis
Registrering
Hem  /  Utbildning/ AndroZip är ett multifunktionellt arkiveringsprogram för superanvändare. Ladda ner Välja det bästa arkivet för Android för Android Program för att packa upp zip-filer för Android

AndroZip är ett multifunktionellt arkiveringsprogram för superanvändare. Ladda ner Välja det bästa arkivet för Android för Android Program för att packa upp zip-filer för Android

ZIP archiver för Android är ett program som låter dig packa upp och skapa komprimerade filer på mobila enheter. Det finns många filhanterare som delvis kan ersätta arkiverare, men deras funktionalitet är mycket begränsad. Google Play Butik erbjuder ett brett utbud av applikationer för att arbeta med komprimerad data, och användare har ofta svårt att välja den bästa bland dem. Du kan ladda ner arkivet för Android gratis.

De flesta arkiverare gör ett bra jobb med grundläggande packning och uppackning, men alla av dem kommer inte att hjälpa dig att hantera krypterade eller delade filer. Totalt kan vi lyfta fram 5 relativt pålitliga verktyg som klarar de flesta uppgifter.

Bästa programmen

B1 Free Archiver-applikationen kan anses vara den bästa bland arkiverare för Android. Programmet kan behandla alla lösenordsskyddade arkiv och stöder det största antalet format. Det är det enda arkivet som stöder kommentarer i ZIP-filer och är lätt att använda.

Många använder B1 Free Archiver som sin huvudsakliga filhanterare. Detta program körs betydligt långsammare än konkurrerande applikationer. Förutom den långsamma databehandlingshastigheten är B1 Free Archiver på ryska i alla andra avseenden en idealisk arkiverare. Du kan ladda ner det här programmet för Android gratis från Google Play Store. APK-filen kan hittas på tredjepartsresurser och laddas ner utan registrering.

Det finns en annan app som påstår sig vara det bästa dekompressionsverktyget. ZArchiver låter dig arkivera märkbart snabbare än det tidigare verktyget, men det kan inte hantera krypterad data och stöder inte RAR5-formatet.

Ändå kan detta program placeras på en hedervärd 2:a plats. Den är snabbast av alla, kan skapa arkiv i 7Z-format och ber inte om ett lösenord när du försöker ta bort filer från ett krypterat ZIP-arkiv. Frånvaron av en lösenordsbegäran kan betraktas som en nackdel, men det påskyndar arbetet med arkiv avsevärt i vissa situationer.

Applikationen fungerar även som filhanterare, har ett användarvänligt gränssnitt och har ett alternativ som låter dig anpassa komprimering. Den viktigaste fördelen med ZArchiver-verktyget är dess stora antal inställningar. Användaren har möjlighet att anpassa nästan allt efter sina preferenser.

Andra program

Easy UnRAR, UnZIP & ZIP är ett av de första arkiveringsverktygen som fortfarande är populärt bland Android-användare. Tyvärr är hela uppsättningen funktioner endast tillgänglig i den betalda versionen. Den kostnadsfria monteringen av den nedladdade applikationen är designad för de användare som är vana vid att endast arbeta med enkla arkiv som inte orsakar svårigheter.

Alla avancerade funktioner är låsta i gratisversionen. Men med tanke på den låga kostnaden för programmet kan det vara ett bra köp. Premiumversionen kan hantera arkiv av vilken komplexitet som helst. Nackdelarna inkluderar ett föråldrat gränssnitt och låg datauppackningshastighet.

AndroZIP har samma nackdelar som WinZIP, men det är lite snabbare och kan hjälpa dig att hantera dina filer mer effektivt. Ett bekvämt gränssnitt tillåter samtidig manipulering av flera filer, men möjligheten att packa upp en grupp av arkiv tillhandahålls inte. Applikationen ser att föredra jämfört med WinZIP, men är förlorad jämfört med andra konkurrenter.

Den officiella versionen av WinZIP-verktyget på Android visade sig vara ännu värre än Windows-versionen. Nackdelarna inkluderar bristen på stöd för RAR5-formatet, problem med icke-latinska lösenord i RAR-filer, oförmågan att visa vissa icke-latinska tecken i arkivnamn och avsaknaden av ytterligare funktioner som skulle kunna göra det enklare att arbeta med denna applikation.

Det största problemet är att WinZIP dekomprimerar filer mycket långsamt och inte visar en förloppsindikator, vilket kan få det att verka som om programmet är fruset.

Dessutom kommer du inte att helt enkelt kunna packa upp något arkiv eftersom programmet först öppnar det för att se innehållet och först därefter kan det börja extrahera filerna. Processen tar i alla fall för lång tid. Om du laddar ner WinZIP, var beredd på att stöta på olägenheter.

RAR är en multifunktionell arkivering för Android-enheter. Detta underbara program från RARLAB är en nästan komplett kopia av den berömda WinRAR, och därför kommer många att gilla det mer än den grundläggande versionen från Google.

I allmänhet, vad är en arkivering och varför behövs den på en smartphone? Faktum är att för modern Android är det extremt nödvändigt:

  • För det första kan ett arkiv användas för att lagra ett stort antal filer i en katalog. Till exempel är konfidentiella bilder ofta gömda i den, eftersom alla vet att den är skyddad av ett starkt lösenord och det är nästan omöjligt att hacka det.
  • För det andra är RAR- och ZIP-arkivformaten nu extremt populära bland dem som lägger upp filer på Internet för allmän nedladdning. Många användare vill fortfarande inte vara beroende av torrentdistribution, och därför fortsätter fillagring att vara populärt.

Funktioner i RAR-programmet för Android

För tillfället kan RAR-arkivet göra följande:

  • arbeta med alla för närvarande kända arkivformat (RAR, ZIP, TAR, GZ, BZ2, XZ, 7z, ISO, ARJ);
  • skapa krypterade arkiv;
  • utföra feldetektering och korrigering;
  • Utnyttja processorns multi-core kapacitet till fullo för att öka den totala prestandan.

I allmänhet är RAR ett program på mycket högre nivå än det grundläggande arkiveringsverktyget som är inbyggt i en filhanterare. Det råder ingen tvekan om att han alltid kommer att hjälpa dig i svåra tider, och han kommer att göra det helt kostnadsfritt.

Uppackning och packning av ZIP/RAR-arkiv är filoperationer som Android OS-användare inte kan undvika. Även på en telefon finns det ett behov av att arkivera en mapp eller extrahera innehållet i en nedladdad fil. Det finns ganska många arkiverare på Google Play. En liten del är dock nöjd med dess funktionalitet och lista över format som stöds - uppackning och förpackning.

Om du är trött på att använda slumpmässig programvara för att packa upp filer på ett SD-kort, var uppmärksam på de verktyg som presenteras. Vi har valt ut de bästa arkiverna för Android när det gäller hastighet och funktionalitet. De är bekväma och praktiska. Med hjälp av uppackningsprogram kan du snabbt arkivera/extrahera packade filer. Och utan huvudvärken med att slösa diskutrymme och RAM-minne på din mobila enhet.

Mobil zip- och rar-arkiv för Android. Granska deltagarna

Så här är en lista över populära arkiverare för Android OS som kan anses vara optimala för dagligt bruk på smartphones och surfplattor:

Vad kan mobila uppackare för Android göra och vilka fördelar erbjuder de användare av mobila enheter? Läs noggrant recensionen av arkiverare nedan.

RAR för Android från RARLAB - en fullfjädrad WinRar för Android

Hittills RAR för Androidär kanske det mest funktionella och populära rar-arkivet för Android, och det är helt gratis. Applikationens funktionalitet hålls på en hög nivå, vilket framgår av recensioner på Google Play, såväl som recensionsförfattarens personliga erfarenhet.

Med RAR-applikationen kan du skapa och packa upp inte bara ZIP- och RAR-arkiv, utan också öppna filer med följande tillägg: TAR, GZ, 7z, XZ, BZ2, ARJ. Naturligtvis är dessa format mycket mindre vanliga på Android, men ibland måste du arbeta med dem.

WinRAR arkiveringsgränssnitt på Android

Detta är dock inte en komplett lista över funktionerna hos RAR för Android-uppackare: till exempel låter Winrar dig snabbt återställa skadade ZIP- och RAR-filer och mäta uppackningsprestanda i Android OS. I allmänhet är alla välbekanta WinRAR-funktioner till en rabatt för det faktum att vi fortfarande har att göra med en mobil arkivering.

Låt oss nu gå direkt till inställningarna för Winrar-arkivet, som relaterar till att arbeta med arkiv. Det finns vissa bekvämligheter när du hanterar arkiv - till exempel kan du ställa in arkiv som prioriterade filer i filhanterarens lista - och de kommer att synas. Du kan också aktivera visning av dolda arkivfiler och lägga till arkivnamn till historiken, vilket utan tvekan kommer att påskynda åtkomsten till dem i framtiden. Särskilt anmärkningsvärt är sektionen för sökvägsinställningar. Här kan du ange standarduppackningsmappen, ändra standardarkivnamnet etc. För listor med filer kan du ställa in en specifik kodning och sortering.

Trots sin höga popularitet och goda funktionalitet har applikationen RAR för Android både för- och nackdelar.

Fördelar med RAR för Android

  • [+] Hög prestanda, "Vinrar" svarar snabbt på kommandon;
  • [+] Möjlighet att återställa skadade filer från ett arkiv;
  • [+] För närvarande kan du ladda ner RAR för Android-arkivet för Android helt gratis, vilket är goda nyheter;

Nackdelar med zip och rar uppackare

  • [-] Det är inte möjligt att ändra arkiveringsgränssnittet: välj färg, typsnitt;
  • [-] Om det finns ett annat arkiv i arkivet kan ansökan klaga vid uppackning;
  • [-] Tillfälliga mappar i RAR för Android raderas en timme efter att arkivet stängts, så att du kan glömma sekretess

Sammanfattning. Sammantaget lämnade RAR för Android-arkiveraren ett positivt intryck. Att arbeta med arkiv är bekvämt - det finns alla vanliga alternativ för det populära WinRAR-arkivet. Dessutom ökar ett snyggt mörkt gränssnitt och rysk lokalisering bekvämligheten med denna arkiverare. Du kan ladda ner rar-arkivet för Android med hjälp av länken nedan.

AndroZip-arkiverare - skapa ett zip-arkiv med två klick!

Program AndroZipär inte bara en zip-arkivering för Android OS, utan också en fullfjädrad filhanterare för telefonen. Med applikationen kan du flytta, kopiera, ta bort, komprimera och packa upp krypterade ZIP- och RAR-arkiv. Dessutom låter programmet dig snabbt hitta och organisera filer i Android OS, musik, ljudböcker, videor och bilder på din smartphone.

AndroZip-funktionalitet är tillgänglig i arkiveringsinställningarna

Appen AndroZip är perfekt optimerad för att packa upp zip- och rar-arkiv på telefoner och surfplattor som kör Android OS. Det fungerar snabbt, inga fel uppstår vid uppackning av arkiv. Förutom att arbeta med krypterade filer låter rar-arkivet för Android dig skicka packade arkivfiler till dina vänner och bekanta, till exempel via Skype eller e-post.

Denna zip-arkivering innehåller ytterligare verktyg som ofta är användbara för Android - en uppgiftshanterare och en applikationshanterare. Detta har dock minimal, om inte någon, relation till arkiveringsfunktionerna.

I inställningarna för AndroZip-applikationen kan användaren ändra visningsläget för mappar eller arkiv - en enkel eller detaljerad lista, ikoner, radstorlek och andra visuella inställningar i den inbyggda filhanteraren. I likhet med den ovan nämnda RAR för Android-applikationen kan du ändra sorteringsläget och aktivera visning av dolt innehåll på din smartphone. När det gäller arkiveringsinställningarna finns det praktiskt taget inga. Det enda alternativet är komprimeringsstorleken för ZIP-arkivet.

Fördelar med AndroZip-applikationen:

  • [+] Zip-arkivering för Android fungerar snabbt,
  • [+] förbrukar inte mycket systemresurser
  • [+] funktionalitet och multitasking vid arbete med zip-arkiv, packning och uppackning;
  • [+] AndroZip stöder nästan alla kända och populära arkivupplösningar (se tabell);

Av minusen:

  • [-] Gränssnittet för denna arkiverare på Android är inte det mest intuitiva; det är inte lätt att vänja sig vid applikationen;
  • [-] Ibland visas ett fel som inte tillåter dig att kopiera filer till minneskortet (detta kan lösas genom att starta om AndroZip-applikationen);

Sammanfattning. Denna enkla zip-packer för Android imponerar å ena sidan med sin enkelhet: du kan komprimera arkivet med två klick genom snabbmenyn. Å andra sidan låter AndroZips dåliga verktygslåda och brist på alternativ dig fortfarande ge företräde åt andra arkiverare, som alla arbetar med ZIP och är mer flexibla i komprimeringsinställningar.

WinZip - en bekväm zip-arkivering för Android

WinZip är i första hand en zip-arkivering, även om det finns fler dekompressionsformat tillgängliga. Med hjälp av det här verktyget är det bekvämt att skapa arkiv på din telefon och skicka dem med post till andra användare över Internet. På samma sätt kan du spara och öppna paketerade filer som tas emot via Internet - till exempel via e-post eller från ett SD-kort.

Viktiga funktioner i WinZip-arkivet inkluderar seriöst skydd och bekväm åtkomst till filer lagrade i Google Drive och Dropbox-molnet. På så sätt kan du paketera data direkt i molnet.

Nyckelfunktioner i gratisversionen av zip-arkiveraren:

  • Skapande av Zip/Zipx-arkiv
  • Uppackning i Zip(x), 7z, RAR och CBZ
  • Skickar paketerade filer med post
  • Visa bildfiler och textdokument med den inbyggda filhanteraren
  • Packa upp skyddade Zip/7z-arkiv med AES 128- eller 256-bitars kryptering
  • Automatisk uppackning och installation av applikationer i apk-format nedladdade från applikationsbutiken (Google Play, etc.)

Premiumversionen av WinZip för Android erbjuder också:

  • Arkivskydd med kryptering - 128- och 256-bitars AES
  • Molnintegrering med Google Drive och Dropbox moln för snabb åtkomst till filer på din dator eller telefon.

B1 Archiver - en annan zip-arkiverare för Android

B1 Archiver är en gratis plattformsoberoende filuppackare för Windows/Linux/Mac och, naturligtvis, för Android. Förresten, samma utvecklare (Catalina Group Ltd.) släppte B1 File Manager. Förresten, den här filhanteraren för Android OS är bekväm att använda tillsammans med en arkiverare.

Så vad är intressant med B1 Archiver-filuppackare och arkiverare för Android? Här är dess huvudfunktioner:

  • packar upp zip-arkiv, rar, b1 och cirka 40 format för Android
  • skapa lösenordsskyddade arkiv i b1- eller zip-format (i den betalda versionen innehåller listan dessutom rar- och 7z-arkiv)
  • packa filer på din telefon i flera volymer separerade rar- och b1-arkiv med sekventiell filnumrering
  • Bekväm navigering genom filarkiv på Android med hjälp av en speciell filhanterare
  • selektiv uppackning av filer på telefonen – enskilda filer och mappar efter användarens gottfinnande

Sammanfattning. Således kan B1 Archiver zip unpacker säkert rekommenderas till alla Android-användare som är nöjda med två paketeringsformat (zip och b1). Glöm inte fyra dussin möjliga uppackningsformat - det här är mer än tillräckligt, så arkiveringsverktyget för Android B1 Archiver hjälper dig att packa upp alla arkiv på Android som laddats ner från Internet.

ZArchiver - ytterligare en zip-uppackare för Android

Detta är en lätt men ganska funktionell arkivering för enheter som kör Android OS. Det hanterar skickligt filer med vilken upplösning som helst: ZIP, RAR, 7z, Tar, XZ, bzip2 och andra. Med denna applikation ombord kan du enkelt komprimera och dekomprimera arkiv, se deras innehåll, ändra och ta bort dem, om det behövs.

Omedelbart när du startar ZArchiver visas en användardialogruta med arkiveringsinställningar: du kan ange ett designtema, välja en ikonstil och gränssnittsspråk. Om Android kommer i konflikt med kodningen av arkivfiler kan du ändra den ursprungliga kodningen CP866 - Russian DOS används av standardarkivet i Android.

ZIP och RAR arkiverar ZArchiver

Observera att applikationen stöder flertrådsdrift, vilket avsevärt minskar belastningen på processorn. Dessutom stöder den perfekt UTF-8-kodning, vilket gör att du snabbt och bekvämt kan visa all information om filer. Särskilt anmärkningsvärt är den inbyggda utforskaren, som till och med implementerar flerval.

Även om ZArchiver är en ganska kompakt arkivering, har den många inställningar, som också relaterar till själva arkiveringen. Du kan välja din hemmapp, som kommer att öppnas i ZArchiver-arkivet först. Uppackarens beteende är flexibelt konfigurerat: bekräftelse av operationer, sparande, arbete med ZIP- och RAR-arkiv (kopiera, klistra in, välj) och andra subtila aspekter av arkivering. Angående gränssnittet har det redan sagts - det konfigureras när ZArchiver startas.

De flesta av de användbara parametrarna i detta verktyg för att arbeta med arkiv relaterar till filkomprimeringsparametrar. Således har användaren tillgång till sådana alternativ som 7Z- och ZIP-komprimeringsnivån, antalet processorkärnor, olika metoder och komprimeringsnivåer.

Bland fördelarna med ZArchiver-arkiveraren:

  • [+] Applikationen är inte resurskrävande vid packning och uppackning av rar- och zip-arkiv, den "hanterar" snabbt arkiv av alla storlekar;
  • [+] ZArchiver-utvecklare uppdaterar ofta programmet: de gör det bättre, lägger till nya funktioner och funktioner;
  • [+] Om fel uppstår korrigeras de snabbt, det är möjligt att anpassa applikationen efter eget tycke (ändra färgschema, etc.);

Av minusen:

  • [-] ZArchiver-arkivet laddar RAM, så andra applikationer kan frysa vid komprimering eller dekomprimering av arkiv

Sammanfattning. Vet du fortfarande inte vilka program du ska använda för att extrahera ZIP- eller RAR-arkiv? I det här fallet måste du snabbt ladda ner ZArchiver - en zip-arkivering för Android som hjälper till att lösa det här problemet! Observera att var och en av de presenterade applikationerna distribueras helt gratis. Det finns inget behov av att köpa "Pro" eller några nycklar för att låsa upp arkivets fulla funktionalitet. Du kan ladda ner detta arkiv för Android med hjälp av länken.

Total Commander (inbyggd filuppackare)

För de användare som inte vill belasta sig med att installera en separat uppackare på Android finns det här receptet: använd funktionerna i din filhanterare. Kontrollera om det stöder arkivering och uppackning av arkiv. Som regel finns denna funktion i filhanterare initialt.

I synnerhet den mobila versionen av Total Commander för Android fungerar utmärkt med winrar- och zip-arkiv, eftersom den har en ganska funktionell arkivering integrerad i den. För att arbeta med uppackaren behöver du inte installera ytterligare moduler. Här är bara några av funktionerna i uppackaren:

  • Stöd för ZIP-arkiv större än 4 GB
  • Packar upp ZIP/RAR-filer till ett externt SD-kort
  • Öppna och packa upp filer placerade på ett externt minneskort
  • Anpassningsbar komprimering vid packning av zip- och rar-arkiv

Således kan Total Commander, likt dess stationära version, användas som en uppackare för Android. Detta är verkligen bekvämt: alla operationer med arkiv är lika bekväma som när du arbetar med vanliga filer och mappar.

Om du behöver mer finjustering av vissa typer av arkiv, använd sedan andra, mer specialiserade arkiverare - samma Winrar för Android. De flesta användare föredrar dock att använda filhanterare - varför installera separata arkiverare för Android om Total Commander tar hänsyn till allt?

Inbyggd ES Explorer uppackare

En annan ärevördig filhanterare, ES Explorer, gör ett utmärkt jobb med att packa upp arkiv ur lådan. Det inbyggda arkivet är praktiskt eftersom det är en inbyggd funktion i ES Explorer. Det vill säga, för att arbeta med arkiv behöver du inte installera ytterligare applikationer. För många användare är detta det bästa alternativet.

Så, vilka funktioner kan en arkivering för Android integrerad i ES Explorer erbjuda? Två typer av arkiv stöds - ZIP och RAR, både komprimering och dekompression. Dessutom kan arkivaren återställa skadade arkiv och kryptera ZIP-arkiv med en 256-bitars AES-nyckel.

Utöver detta stöder ES Explorer andra arkivtyper, såsom 7Z. Men för att packa upp/packa upp det här formatet måste du ladda ner ett separat tillägg från utvecklarens sida på Google PLay.

Tillägg. Tabell över paketerings- och uppackningsformat som stöds

Tabell 1. Filförpackning

RAR blixtlås TJÄRA GZ BZ2 XZ 7z B1
RAR för Android + +
AndroZip + + +
B1 Arkiverar + +
ZArchiver + + + + +
Total befälhavare +
WinZip +
ES Explorer + + +

Tabell 2. Uppackning av filer

RAR blixtlås TJÄRA GZ BZ2 XZ 7z ISO ARJ B1 CBZ
RAR för Android + + + + + +
AndroZip + +
B1 Arkiverar + + + + + + + + + + +
ZArchiver + + + + + + + + +
Total befälhavare + +
WinZip + + + +
ES Explorer + + +

Ibland passar vissa applikationer på Android inte användaren på något sätt. Ett exempel är påträngande reklam. Och det händer också att programmet är bra för alla, men översättningen i det är antingen snett eller helt frånvarande. Eller, till exempel, programmet är en testversion, men det finns inget sätt att få den fullständiga versionen. Hur ändrar man situationen?

Introduktion

I den här artikeln kommer vi att prata om hur man demonterar ett APK-paket med en applikation, tittar på dess interna struktur, demonterar och dekompilerar bytekoden och försöker också göra flera ändringar i applikationerna som kan ge oss en eller annan fördel.

För att göra allt detta själv behöver du åtminstone grundläggande kunskaper i Java-språket, som Android-applikationer skrivs i, och XML-språket, som används överallt i Android - från att beskriva själva applikationen och dess åtkomsträttigheter till att lagra strängar som kommer att visas på skärmen. Du behöver också förmågan att använda specialiserad konsolmjukvara.

Så, vad är ett APK-paket där absolut all Android-programvara distribueras?

Applikationsdekompilering

I den här artikeln arbetade vi bara med demonterad applikationskod, men om mer allvarliga ändringar görs i stora applikationer blir det mycket svårare att förstå smali-koden. Lyckligtvis kan vi dekompilera dex-koden till Java-kod, som, även om den inte är original och inte kompilerad tillbaka, är mycket lättare att läsa och förstå applikationens logik. För att göra detta behöver vi två verktyg:

  • dex2jar är en översättare av Dalvik bytecode till JVM bytecode, på basis av vilken vi kan erhålla kod på Java-språket;
  • jd-gui är en dekompilerare i sig som låter dig få läsbar Java-kod från JVM bytecode. Som ett alternativ kan du använda Jad (www.varaneckas.com/jad); Även om den är ganska gammal, genererar den i vissa fall mer läsbar kod än Jd-gui.

Så här ska de användas. Först startar vi dex2jar och anger sökvägen till apk-paketet som ett argument:

% dex2jar.sh mail.apk

Som ett resultat kommer Java-paketet mail.jar att dyka upp i den aktuella katalogen, som redan kan öppnas i jd-gui för att se Java-koden.

Arrangering av APK-paket och mottagande av dem

Ett Android-apppaket är i huvudsak en vanlig ZIP-fil som inte kräver några speciella verktyg för att se innehållet eller extrahera det. Det räcker med att ha en arkiverare - 7zip för Windows eller console unzip på Linux. Men det handlar om omslaget. Vad finns inuti? I allmänhet har vi följande struktur inuti:

  • META-INF/- innehåller ett digitalt certifikat för applikationen, som identifierar dess skapare, och kontrollsummor för paketfilerna;
  • res/ - olika resurser som applikationen använder i sitt arbete, såsom bilder, deklarativ beskrivning av gränssnittet, samt annan data;
  • AndroidManifest.xml- beskrivning av ansökan. Detta inkluderar till exempel en lista över nödvändiga behörigheter, den nödvändiga Android-versionen och den nödvändiga skärmupplösningen;
  • classes.dex- kompilerad applikationsbytekod för den virtuella Dalviksmaskinen;
  • resources.arsc- även resurser, men av ett annat slag - i synnerhet strängar (ja, den här filen kan användas för russifiering!).

De listade filerna och katalogerna finns, om inte alla, så kanske i de allra flesta APK-filer. Det finns dock några fler inte så vanliga filer/kataloger värda att nämna:

  • tillgångar- Analog av resurser. Den största skillnaden är att för att komma åt en resurs måste du känna till dess identifierare, men listan över tillgångar kan erhållas dynamiskt med metoden AssetManager.list() i applikationskoden;
  • lib- Inbyggda Linux-bibliotek skrivna med NDK (Native Development Kit).

Den här katalogen används av spelproducenter som placerar sina spelmotorer skrivna i C/C++ där, såväl som av skapare av högpresterande applikationer (till exempel Google Chrome). Vi kom på enheten. Men hur får du paketfilen för den applikation du är intresserad av? Eftersom det inte är möjligt att hämta APK-filer från enheten utan root (de finns i /data/app-katalogen), och att roota inte alltid är tillrådligt, finns det minst tre sätt att få applikationsfilen till din dator:

  • APK Downloader-tillägg för Chrome;
  • Real APK Leecher app;
  • olika filhosting och Varezniks.

Vilken man ska använda är en smaksak; vi föredrar att använda separata applikationer, så vi kommer att beskriva användningen av Real APK Leecher, särskilt eftersom den är skriven i Java och följaktligen kommer att fungera i antingen Windows eller Nix.

Efter att ha startat programmet måste du fylla i tre fält: E-post, Lösenord och Enhets-ID - och välja ett språk. De två första är e-postadressen och lösenordet för ditt Google-konto som du använder på enheten. Den tredje är enhetsidentifieraren och kan erhållas genom att skriva in koden på uppringaren # #8255## och sedan hitta enhets-ID-raden. När du fyller i behöver du bara ange ID utan android-prefix.

Efter att ha fyllt i och sparat dyker ofta meddelandet "Fel vid anslutning till servern" upp. Det har inget med Google Play att göra, så ignorera det gärna och leta efter paket som intresserar dig.

Visa och ändra

Låt oss säga att du hittade ett paket som intresserar dig, laddade ner det, packade upp det... och när du försökte visa någon XML-fil blev du förvånad över att upptäcka att filen inte var text. Hur dekompilerar man det och hur man arbetar med paket i allmänhet? Är det verkligen nödvändigt att installera SDK? Nej, det är inte nödvändigt att installera SDK alls. Faktum är att alla steg för att extrahera, ändra och paketera APK-paket kräver följande verktyg:

  • ZIP-arkiv för uppackning och packning;
  • smali- Dalvik virtuell maskin bytecode assembler/disassembler (code.google.com/p/smali);
  • aapt- ett verktyg för att paketera resurser (som standard lagras resurser i binär form för att optimera applikationsprestanda). Ingår i Android SDK, men kan erhållas separat;
  • undertecknare- ett verktyg för digital signering av ett modifierat paket (bit.ly/Rmrv4M).

Du kan använda alla dessa verktyg separat, men detta är obekvämt, så det är bättre att använda programvara på högre nivå byggd på deras bas. Om du arbetar på Linux eller Mac OS X finns det ett verktyg som heter apktool. Det låter dig packa upp resurser i sin ursprungliga form (inklusive binära XML- och arsc-filer), bygga om ett paket med ändrade resurser, men det vet inte hur man signerar paket, så du måste köra signerarens verktyg manuellt. Trots att verktyget är skrivet i Java är installationen ganska ostandard. Först måste du hämta själva jar-filen:

$ 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

Om du arbetar på Windows, så finns det ett utmärkt verktyg för det som heter Virtuous Ten Studio, som också samlar alla dessa verktyg (inklusive själva apktool), men istället för ett CLI-gränssnitt ger det användaren ett intuitivt grafiskt gränssnitt med vilket du kan utföra operationer för uppackning, demontering och dekompilering med några få klick. Det här verktyget är donationsprogram, det vill säga ibland dyker det upp fönster som ber dig att skaffa en licens, men i slutändan kan detta tolereras. Det är ingen idé att beskriva det, för du kan förstå gränssnittet på några minuter. Men apktool, på grund av dess konsolkaraktär, bör diskuteras mer i detalj.


Låt oss titta på apktool-alternativen. Kort sagt, det finns tre grundläggande kommandon: d (avkoda), b (bygga) och if (installera ramverk). Om allt är klart med de två första kommandona, vad gör det tredje, villkorliga uttalandet? Den packar upp det specificerade UI-ramverket, vilket är nödvändigt i de fall du dissekerar ett systempaket.

Låt oss titta på de mest intressanta alternativen för det första kommandot:

  • -s- ta inte isär dex-filer;
  • -r- packa inte upp resurser;
  • -b- infoga inte felsökningsinformation i resultaten av demonteringen av dex-filen;
  • --frame-path- använd det angivna UI-ramverket istället för det som är inbyggt i apktool. Låt oss nu titta på ett par alternativ för b-kommandot:
  • -f- tvångsmontering utan kontroll av ändringar;
  • -a- ange sökvägen till aapt (ett verktyg för att bygga ett APK-arkiv), om du av någon anledning vill använda det från en annan källa.

Att använda apktool är väldigt enkelt; för att göra detta, specificera bara ett av kommandona och sökvägen till APK, till exempel:

$ apktool d mail.apk

Efter detta kommer alla extraherade och demonterade filer av paketet att visas i e-postkatalogen.

Förberedelse. Inaktivera reklam

Teori är naturligtvis bra, men varför behövs det om vi inte vet vad vi ska göra med det uppackade paketet? Låt oss försöka tillämpa teorin till vår fördel, nämligen modifiera någon programvara så att den inte visar oss reklam. Låt det till exempel vara Virtual Torch - en virtuell ficklampa. Den här programvaran är idealisk för oss, eftersom den är fylld till yttersta gränsen med irriterande reklam och dessutom är den enkel nog att inte gå vilse i koddjungeln.


Så, med någon av ovanstående metoder, ladda ner applikationen från marknaden. Om du bestämmer dig för att använda Virtuous Ten Studio, öppna helt enkelt APK-filen i applikationen och packa upp den, skapa ett projekt (Arkiv -> Nytt projekt), välj sedan Importera fil i projektets snabbmeny. Om ditt val föll på apktool, kör bara ett kommando:

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

Efter detta kommer ett filträd liknande det som beskrivs i föregående avsnitt att dyka upp i katalogen com.kauf.particle.virtualtorch, men med en extra smali-katalog istället för dex-filer och en apktool.yml-fil. Den första innehåller demonterad kod för programmets körbara dex-fil, den andra innehåller serviceinformation som krävs för att apktool ska kunna montera tillbaka paketet.

Det första stället vi bör leta är naturligtvis AndroidManifest.xml. Och här möter vi omedelbart följande rad:

Det är inte svårt att gissa att det är ansvarigt för att ge applikationen behörighet att använda internetanslutningen. Faktum är att om vi bara vill bli av med reklam kommer vi sannolikt bara att behöva blockera applikationen från Internet. Låt oss försöka göra det här. Vi tar bort den angivna raden och försöker bygga programvaran med apktool:

$ apktool b com.kauf.particle.virtualtorch

Den resulterande APK-filen kommer att visas i katalogen com.kauf.particle.virtualtorch/build/. Det kommer dock inte att vara möjligt att installera det, eftersom det inte har en digital signatur och filkontrollsummor (den har helt enkelt ingen META-INF/-katalog). Vi måste signera paketet med hjälp av apk-signer-verktyget. Lanserades. Gränssnittet består av två flikar - på den första (Key Generator) skapar vi nycklar, på den andra (APK Signer) signerar vi. För att skapa vår privata nyckel, fyll i följande fält:

  • Målfil- utdatafil för nyckellager; den lagrar vanligtvis ett par nycklar;
  • Lösenord Och Bekräfta- lösenord för lagringen;
  • Alias- namnet på nyckeln i förrådet;
  • Alias ​​lösenord Och Bekräfta- hemligt nyckellösenord;
  • Giltighet- Giltighetstid (i år). Standardvärdet är optimalt.

De återstående fälten är i allmänhet valfria - men minst ett måste fyllas i.


VARNING

För att signera en applikation med apk-signer måste du installera Android SDK och ange den fullständiga sökvägen till den i applikationsinställningarna.

All information tillhandahålls endast i informationssyfte. Varken redaktörerna eller författaren är ansvariga för eventuell skada orsakad av materialet i denna artikel.

Nu kan du signera APK-filen med denna nyckel. På fliken APK Signer, välj den nyskapade filen, ange lösenordet, nyckelaliaset och lösenordet, leta reda på APK-filen och klicka djärvt på "Sign"-knappen. Om allt går bra kommer paketet att signeras.

INFO

Eftersom vi signerade paketet med vår egen nyckel kommer det att komma i konflikt med den ursprungliga applikationen, vilket innebär att när vi försöker uppdatera programvaran via marknaden får vi ett felmeddelande.

En digital signatur krävs bara för programvara från tredje part, så om du ändrar systemapplikationer som är installerade genom att kopiera dem till katalogen /system/app/ behöver du inte signera dem.

Efter det, ladda ner paketet till din smartphone, installera det och starta det. Voila, annonsen är borta! Istället dök dock ett meddelande upp att vi inte har internet eller att vi inte har rätt behörighet. I teorin kan det här räcka, men meddelandet ser irriterande ut, och för att vara ärlig hade vi bara tur med en dum ansökan. Normalt skriven programvara kommer med största sannolikhet att förtydliga sina referenser eller söka efter en internetanslutning och annars helt enkelt vägra att starta. Hur ska man vara i det här fallet? Självklart, redigera koden.

Vanligtvis skapar applikationsförfattare speciella klasser för att visa annonser och anropsmetoder för dessa klasser när applikationen eller en av dess "aktiviteter" (enkelt uttryckt applikationsskärmar) startas. Låt oss försöka hitta dessa klasser. Vi går till smali-katalogen, sedan com (org innehåller bara det öppna grafiska biblioteket cocos2d), sedan kauf (det är här det är, eftersom det här är namnet på utvecklaren och all hans kod finns där) - och här är den, marknadsföringskatalogen. Inuti hittar vi ett gäng filer med tillägget smali. Det här är klasser, och den mest anmärkningsvärda av dem är Ad.smali-klassen, från vars namn det är lätt att gissa att det är den som visar reklam.

Vi skulle kunna ändra logiken i dess funktion, men det skulle vara mycket lättare att helt enkelt ta bort anrop till någon av dess metoder från själva applikationen. Därför lämnar vi marknadsföringskatalogen och går till den intilliggande partikelkatalogen och sedan till virtualtorch. Filen MainActivity.smali förtjänar särskild uppmärksamhet här. Detta är en standard Android-klass som skapas av Android SDK och installeras som ingångspunkt till applikationen (analogt med huvudfunktionen i C). Öppna filen för redigering.

Inuti finns smali-kod (lokal montör). Den är ganska förvirrande och svår att läsa på grund av dess lågnivåkaraktär, så vi kommer inte att studera den, utan hittar helt enkelt alla referenser till annonsklassen i koden och kommenterar dem. Vi anger raden "Annons" i sökningen och kommer till rad 25:

Fält privat annons:Lcom/kauf/marketing/Ad;

Här skapas ett annonsfält för att lagra ett annonsklassobjekt. Vi kommenterar genom att placera ett ###-tecken framför raden. Vi fortsätter sökandet. Linje 423:

Ny instans v3, Lcom/kauf/marketing/Ad;

Det är här objektskapandet sker. Låt oss kommentera. Vi fortsätter sökningen och hittar på raderna 433, 435, 466, 468, 738, 740, 800 och 802 anrop till metoder i klassen Ad. Låt oss kommentera. Ser ut som det är det. Spara. Nu ska paketet sättas ihop igen och kontrolleras för funktionalitet och förekomst av reklam. För experimentets renhet returnerar vi raden borttagen från AndroidManifest.xml, sätter ihop paketet, signerar och installerar.

Vårt marsvin. Reklam synlig

hoppsan! Reklamen försvann bara medan applikationen kördes, men fanns kvar i huvudmenyn, som vi ser när vi startar programvaran. Så, vänta, men ingångspunkten är MainActivity-klassen, och annonsen försvann medan applikationen kördes, men förblev i huvudmenyn, så ingångspunkten är annorlunda? För att identifiera den verkliga ingångspunkten öppnar du filen AndroidManifest.xml igen. Och ja, den innehåller följande rader:

De berättar för oss (och, ännu viktigare, androiden) att en aktivitet som heter Start bör lanseras som svar på genereringen av en avsikt (händelse) android.intent.action.MAIN från kategorin android.intent.category.LAUNCHER. Den här händelsen genereras när du trycker på programikonen i startprogrammet, så den bestämmer startpunkten, nämligen Start-klassen. Troligtvis skrev programmeraren först en applikation utan huvudmeny, vars ingångspunkt var standardklassen MainActivity, och lade sedan till ett nytt fönster (aktivitet) som innehåller menyn och beskrivs i klassen Start, och gjorde det manuellt till ingången punkt.

Öppna filen Start.smali och leta igen efter raden "Ad", vi hittar på raderna 153 och 155 ett omnämnande av FirstAd-klassen. Den finns också i källkoden och, av namnet att döma, ansvarar den för att visa annonser på huvudskärmen. Låt oss titta vidare, det finns skapandet av en instans av FirstAd-klassen och en avsikt som, enligt sammanhanget, är relaterad till denna instans, och sedan etiketten cond_10, den villkorliga övergången till vilken utförs exakt innan en instans skapas av klassen:

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

Troligtvis beräknar programmet på något sätt slumpmässigt om reklam ska visas på huvudskärmen, och om inte, hoppar det direkt till cond_10. Ok, låt oss förenkla hennes uppgift och ersätta den villkorliga övergången med en ovillkorlig:

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

Det finns inga fler omnämnanden av FirstAd i koden, så vi stänger filen och sätter ihop vår virtuella ficklampa med apktool. Kopiera den till din smartphone, installera den, starta den. Voila, all reklam har försvunnit, vilket vi gratulerar oss alla till.

Resultat

Den här artikeln är bara en kort introduktion till metoderna för att hacka och ändra Android-applikationer. Många problem kvarstod bakom kulisserna, som att ta bort skydd, tolka obfuskerad kod, översätta och ersätta programresurser, samt modifiera program skrivna med Android NDK. Men med grundläggande kunskaper är det bara en tidsfråga att ta reda på allt.