Gli archivisti per Android sono necessari a molti, per i quali il lavoro su uno smartphone a volte continua mentre tornano a casa in treno o in metropolitana.
Molte persone sono abituate a utilizzare WinRAR e programmi simili per comprimere i dati negli archivi su un PC desktop, con l'avvento e la rapida crescita del sistema operativo Android, le abitudini rimangono e talvolta è semplicemente necessario archiviare i dati o estrarli direttamente dall'archivio; al telefono. Ecco perché oggi scegliamo il miglior archiviatore per Android.

Elenco dei candidati:
1.
2.
3.
4.
5.

Quindi, abbiamo cinque diversi archiviatori per sistema operativo Android, conosciamoli ciascuno e scegliamo il migliore.

Gestore file radice AndroZip

Uno dei primissimi archiviatori apparsi sul sistema operativo Android, nel 2009 l'applicazione iniziò a svilupparsi rapidamente e aveva migliaia di fan; all'epoca non c'erano nemmeno concorrenti; Con AndroZip puoi facilmente copiare, spostare, eliminare, decomprimere e archiviare file di qualsiasi dimensione. Attualmente, AndroZip File Manager conta circa 40 milioni di utenti attivi e il numero è in costante crescita.

Supporto formato:

- Rar (Estratto)


-BZip2 (Estratto)
- 7Z (Estratto)

Schermate:

PowerGrasp


Un archiviatore elegante e conveniente con una funzione di gestione file e supporto per le principali estensioni di archiviazione. C'è il supporto per il trasferimento dati tramite Bluetooth. Integrato gestore di file ha tutte le funzioni standard necessarie, come copiare, incollare, tagliare, spostare, ecc. C'è il supporto per la lingua russa.

Supporto formato:
- Zip (Archivio\Estrai)
- Rar (Estratto)
- Tar (Archiviazione\Estrazione)
- 7Z (Archivio\Estrai)

Schermate:

ArchiDroid


Un archiviatore semplice e allo stesso tempo abbastanza funzionale per Android. Una caratteristica positiva di questo archiviatore è il supporto per archivi multipli (archivi di più parti in formato RAR). Puoi anche installare ArchiDroid come archiviatore predefinito, accelerando così il processo di decompressione dei file durante il download da Internet.

Supporto formato:

- Tar (Archiviazione\Estrazione)

- 7Z (Estratto)
- GZip (Estratto)
-BZip2 (Estratto)

Schermate:

Unrar Pro


Un semplice archiviatore che non richiede molte risorse, ma le funzionalità dell'applicazione non sono particolarmente sviluppate rispetto alla concorrenza. È disponibile il supporto per la decompressione degli archivi con password e il codice è ottimizzato, il che offre un aumento significativo delle prestazioni rispetto alla versione standard di UnRar.

Supporto formato:
- Zip (Archivio\Estrazione\Supporto password)
- Rar (supporto per estratti\password)

Schermate:

ZArchiver


Sebbene ZArchiver sia l'ultimo archiviatore della lista, può davvero essere considerato il migliore. La ricca funzionalità dell'applicazione fa semplicemente a pezzi i concorrenti, la velocità di lavoro a volte è semplicemente sorprendente ed è al suo meglio grazie al lavoro multi-thread dell'archiviatore. A differenza dei suoi concorrenti, ZArchiver non ha problemi con i testi in cirillico, è ben pensato per lavorare con più file contemporaneamente e dispone di una rapida visualizzazione delle proprietà del file (tipo, dimensione, md5, data di modifica... ecc.). Con ZArchiver puoi visualizzare i file negli archivi senza estrarli, il che a volte è utile. Funziona alla grande con i sistemi operativi da 1.6 e successivi.

Supporto formato:
- Zip (supporto Archivio\Estrazione\Password)
- 7Z (supporto Archivio\Estrai\Password)
- BZip2 (Archivio\Estrai)
- GZip (Archivio\Estrai)
- XZ (Archivio\Estrai)
- Tar (Archiviazione\Estrazione)
- Rar (Estratto)
-ISO (estratto)
- arj (Estratto)
- LZH (Estratto)
- LZMA (Estratto)
- CABINA (Estratto)
- Xar (Estrazione)
- Deb (Estratto)
- RPM (recupero)
- Tbz (Estratto)
- Tgz (Estratto)
- Apk (Visualizza\Aggiungi all'archivio\Elimina dall'archivio)


RARO- un programma indispensabile per i dispositivi Android necessario per aprire e decomprimere i file .rar. È adatto alla maggior parte degli utenti che desiderano decomprimere i dati su un telefono o tablet senza un computer.

Come aprire rar su Android in modo facile e semplice

È sufficiente scaricare RAR su Android per poter decomprimere i dati .rar o .zip. Probabilmente tutti hanno riscontrato un problema quando, dopo aver scaricato file da Internet su un dispositivo mobile, erano in formato RAR o ZIP e non potevano essere aperti dalle applicazioni standard del telefono. Meno comuni sono gli archivi TAR, GZ, BZ2, XZ, 7z, ISO, ARJ, che richiedono anche un software di decompressione installato aggiuntivo.

Non devi andare lontano, sul nostro sito puoi trovare giochi in formato APK, abbinati a una cache situata nell'archivio. Dopo il download, sorge la domanda: come aprire il file rar? Pertanto, per facilitare e semplificare l'installazione di tali giochi, ti consigliamo di scaricare l'applicazione RAR.

Vorrei sottolineare che questo archiviatore legge e riconosce quasi tutti gli archivi conosciuti, compresi i più ultime versioni. Con esso puoi creare tu stesso archivi, comprimere il contenuto e quindi inviarlo in qualsiasi modo conveniente.

L'archiviatore RAR per Android è lo strumento migliore per aprire e gestire file compressi, avendo tutte le funzioni della versione per computer di WinRAR!

ZIP archiver per Android è un programma che ti permette di decomprimere e creare file compressi SU dispositivi mobili. Esistono molti file manager che possono sostituire parzialmente gli archiviatori, ma la loro funzionalità è molto limitata. Negozio Google Play offre una vasta gamma di applicazioni per lavorare con dati compressi e gli utenti spesso hanno difficoltà a scegliere la migliore tra queste. Puoi scaricare l'archiviatore per Android gratuitamente.

La maggior parte degli archiviatori fa un ottimo lavoro di compressione e decompressione di base, ma non tutti ti aiuteranno a gestire file crittografati o divisi. In totale, possiamo evidenziare 5 strumenti relativamente affidabili che affrontano la maggior parte dei compiti.

I migliori programmi

L'applicazione B1 Free Archiver può essere considerata la migliore tra gli archiviatori per Android. Il programma può elaborare qualsiasi archivio protetto da password e supporta il maggior numero di formati. È l'unico archiviatore che supporta i commenti nei file ZIP ed è facile da usare.

Molte persone utilizzano B1 Free Archiver come file manager principale. Questo programma funziona molto più lentamente rispetto alle applicazioni concorrenti. A parte la lenta velocità di elaborazione dei dati, sotto tutti gli altri aspetti B1 Free Archiver in russo è un archiviatore ideale. Puoi scaricare questo programma per Android gratuitamente dal Google Play Store. Il file APK può essere trovato su risorse di terze parti e scaricato senza registrazione.

C'è un'altra app che afferma di essere il miglior strumento di decompressione. ZArchiver ti consente di archiviare notevolmente più velocemente dello strumento precedente, ma non può gestire dati crittografati e non supporta il formato RAR5.

Tuttavia, questo programma può essere inserito in un onorevole 2° posto. È il più veloce di tutti, può creare archivi in ​​formato 7Z e non richiede password quando provi a eliminare file da un archivio ZIP crittografato. L'assenza di una richiesta di password può essere considerata uno svantaggio, ma in alcune situazioni accelera notevolmente il lavoro con gli archivi.

L'applicazione funziona anche come file manager, ha un'interfaccia intuitiva e dispone di un'opzione che consente di personalizzare la compressione. Il vantaggio più importante dello strumento ZArchiver è il suo gran numero di impostazioni. L'utente ha la possibilità di personalizzare quasi tutto in base alle sue preferenze.

Altri programmi

Lo strumento Easy UnRAR, UnZIP e ZIP è uno dei primi archiviatori ancora popolare tra gli utenti Android. Sfortunatamente, il set completo di funzionalità è disponibile solo nella versione a pagamento. L'assemblaggio gratuito dell'applicazione scaricata è progettato per quegli utenti che sono abituati a lavorare solo con archivi semplici che non causano difficoltà.

Tutte le funzionalità avanzate in versione gratuita chiuso. Ma considerando il basso costo del programma, può essere un buon acquisto. La versione premium può gestire archivi di qualsiasi complessità. Gli svantaggi includono un'interfaccia obsoleta e una bassa velocità di decompressione dei dati.

AndroZIP presenta gli stessi svantaggi di WinZIP, ma è un po' più veloce e può aiutarti a gestire i tuoi file in modo più efficiente. Interfaccia intuitiva consente la manipolazione simultanea di più file, ma non viene fornita la possibilità di decomprimere un gruppo di archivi. L'applicazione sembra preferibile rispetto a WinZIP, ma è persa rispetto ad altri concorrenti.

Versione ufficiale Lo strumento WinZIP su Android si è rivelato addirittura peggiore della versione Windows. Gli svantaggi includono la mancanza di supporto per il formato RAR5, problemi con password non latine nei file RAR, l'impossibilità di visualizzare alcuni caratteri non latini nei nomi degli archivi e la mancanza di funzioni aggiuntive che potrebbero facilitare il lavoro con questa applicazione.

Il problema più grande è che WinZIP decomprime i file molto lentamente e non visualizza una barra di avanzamento, il che può far sembrare che il programma sia bloccato.

Inoltre, non potrai decomprimere semplicemente nessun archivio perché l'applicazione prima lo aprirà per visualizzarne il contenuto e solo dopo potrà iniziare a estrarre i file. In ogni caso, il processo richiede troppo tempo. Se scarichi WinZIP, preparati a incontrare degli inconvenienti.

A volte alcune applicazioni su Android non si adattano in qualche modo all'utente. Un esempio è la pubblicità intrusiva. E succede anche che il programma vada bene per tutti, ma la traduzione in esso contenuta è storta o completamente assente. Oppure, ad esempio, il programma è una prova, ma ottieni versione completa non c'è possibilità. Come cambiare la situazione?

introduzione

In questo articolo parleremo di come disassemblare un pacchetto APK con un'applicazione, vedremo la sua struttura interna, disassemblare e decompilare il bytecode e proveremo anche ad apportare diverse modifiche alle applicazioni che possono portarci un vantaggio o un altro.

Per fare tutto questo da solo, avrai bisogno almeno di una conoscenza di base del linguaggio Java, in cui sono scritte le applicazioni Android, e del linguaggio XML, che viene utilizzato ovunque in Android, dalla descrizione dell'applicazione stessa e dei suoi diritti di accesso alla memorizzazione di stringhe che verrà visualizzato sullo schermo. Avrai anche bisogno della capacità di utilizzare software console specializzato.

Allora, cos'è un pacchetto APK in cui è distribuito assolutamente tutto il software Android?

Decompilazione dell'applicazione

In questo articolo abbiamo lavorato solo con codice applicativo disassemblato, ma se vengono apportate modifiche più serie ad applicazioni di grandi dimensioni, comprendere il codice piccolo sarà molto più difficile. Fortunatamente possiamo decompilare il codice dex in codice Java, che, sebbene non originale e non compilato, è molto più semplice da leggere e comprendere la logica dell'applicazione. Per fare ciò, avremo bisogno di due strumenti:

  • dex2jar è un traduttore del bytecode Dalvik nel bytecode JVM, sulla base del quale possiamo ottenere il codice nel linguaggio Java;
  • jd-gui è un decompilatore stesso che ti consente di ottenere codice Java leggibile dal bytecode JVM. In alternativa potete utilizzare Jad (www.varaneckas.com/jad); Sebbene sia piuttosto vecchio, in alcuni casi genera codice più leggibile rispetto a Jd-gui.

Ecco come dovrebbero essere usati. Per prima cosa lanciamo dex2jar, specificando il percorso del pacchetto apk come argomento:

% dex2jar.shmail.apk

Di conseguenza, nella directory corrente apparirà il pacchetto Java mail.jar, che può già essere aperto in jd-gui per visualizzare il codice Java.

Disposizione dei pacchetti APK e loro ricezione

Sacchetto di plastica Applicazioni Android, infatti, è un normale file ZIP, non sono necessari strumenti particolari per visualizzarne il contenuto ed estrarlo. È sufficiente avere un archiviatore: 7zip per Windows o unzip per console su Linux. Ma questo riguarda l'involucro. Cosa c'è dentro? In generale, all'interno abbiamo la seguente struttura:

  • META-INF/- contiene un certificato digitale dell'applicazione, identificandone l'autore e i checksum dei file del pacchetto;
  • res/ - varie risorse che l'applicazione utilizza nel suo lavoro, come immagini, descrizione dichiarativa dell'interfaccia e altri dati;
  • AndroidManifest.xml- descrizione della domanda. Ciò include, ad esempio, un elenco delle autorizzazioni richieste, la versione Android richiesta e la risoluzione dello schermo richiesta;
  • classi.dex- bytecode dell'applicazione compilato per macchina virtuale Dalvik;
  • risorse.arc- anche risorse, ma di tipo diverso - in particolare stringhe (sì, questo file può essere utilizzato per la russificazione!).

I file e le directory elencati si trovano, se non in tutti, forse nella stragrande maggioranza degli APK. Tuttavia, ci sono alcuni altri file/directory non così comuni che vale la pena menzionare:

  • risorse- analogo delle risorse. La differenza principale è che per accedere ad una risorsa è necessario conoscerne l'identificatore, ma l'elenco degli asset può essere ottenuto dinamicamente utilizzando il metodo AssetManager.list() nel codice dell'applicazione;
  • lib- librerie native Linux scritte utilizzando NDK (Native Development Kit).

Questa directory viene utilizzata dai produttori di giochi, dove collocano il motore di gioco scritto in C/C++, nonché dai creatori di applicazioni ad alte prestazioni (ad esempio, Google Chrome). Abbiamo scoperto il dispositivo. Ma come si ottiene il file del pacchetto dell'applicazione che ti interessa? Poiché non è possibile prelevare i file APK dal dispositivo senza root (si trovano nella directory /data/app) e il rooting non è sempre consigliabile, esistono almeno tre modi per trasferire il file dell'applicazione sul computer:

  • Estensione APK Downloader per Chrome;
  • Applicazione APK Leecher reale;
  • vari file hosting e Vareznik.

Quale usare è una questione di gusti; preferiamo utilizzare applicazioni separate, quindi descriveremo l'uso di Real APK Leecher, soprattutto perché è scritto in Java e, di conseguenza, funzionerà sia su Windows che su Nix.

Dopo aver avviato il programma, è necessario compilare tre campi: Email, Password e ID dispositivo e selezionare una lingua. I primi due sono l'e-mail e la password del tuo account Google che utilizzi sul dispositivo. Il terzo è l'identificativo del dispositivo, e si ottiene digitando il codice sul combinatore # #8255## e quindi trovare la riga ID dispositivo. Durante la compilazione è sufficiente inserire l'ID senza il prefisso android-.

Dopo aver compilato e salvato, spesso viene visualizzato il messaggio "Errore durante la connessione al server". Non ha nulla a che fare con Google Play, quindi sentiti libero di ignorarlo e cercare i pacchetti che ti interessano.

Visualizza e modifica

Diciamo che hai trovato un pacchetto che ti interessa, lo hai scaricato, lo hai decompresso... e quando hai provato a visualizzare un file XML, sei rimasto sorpreso di scoprire che il file non era di testo. Come decompilarlo e come lavorare con i pacchetti in generale? È davvero necessario installare l'SDK? No, non è affatto necessario installare l'SDK. Infatti, tutti i passaggi per estrarre, modificare e impacchettare i pacchetti APK richiedono i seguenti strumenti:

  • Archiviatore ZIP per disimballare e imballare;
  • piccolo- Assemblatore/disassemblatore bytecode della macchina virtuale Dalvik (code.google.com/p/smali);
  • adatto- uno strumento per impacchettare le risorse (per impostazione predefinita, le risorse vengono archiviate in formato binario per ottimizzare le prestazioni dell'applicazione). Incluso in SDK Android, ma possono essere ottenuti anche separatamente;
  • firmatario- strumento per firma digitale pacchetto modificato (bit.ly/Rmrv4M).

Puoi utilizzare tutti questi strumenti separatamente, ma ciò è scomodo, quindi è meglio utilizzare software di livello superiore basato su di essi. Se lavori su Linux o Mac OS X, c'è uno strumento chiamato apktool. Ti consente di decomprimere le risorse nella loro forma originale (inclusi file XML binari e arsc), ricostruire un pacchetto con risorse modificate, ma non sa come firmare i pacchetti, quindi dovrai eseguire manualmente l'utilità firmatario. Nonostante il fatto che l'utilità sia scritta in Java, la sua installazione è piuttosto non standard. Per prima cosa devi ottenere il file jar stesso:

$ 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

Se lavori su Windows, allora c'è un eccellente strumento chiamato Virtuous Ten Studio, che anch'esso accumula tutti questi strumenti (incluso apktool stesso), ma invece di un'interfaccia CLI fornisce all'utente un'interfaccia grafica intuitiva con cui puoi eseguire operazioni di spacchettamento, disassemblaggio e decompilazione in pochi click. Questo strumento è Donation-ware, cioè a volte appaiono finestre che ti chiedono di ottenere una licenza, ma alla fine questo può essere tollerato. È inutile descriverlo perché puoi comprendere l'interfaccia in pochi minuti. Ma apktool, data la sua natura di console, dovrebbe essere discusso in modo più dettagliato.


Diamo un'occhiata alle opzioni di apktool. In breve, sono tre comandi di base: d (decodifica), b (costruisci) e if (installa framework). Se tutto è chiaro con i primi due comandi, allora cosa fa la terza istruzione condizionale? Decomprime il framework dell'interfaccia utente specificato, necessario nei casi in cui si analizza un pacchetto di sistema.

Diamo un'occhiata alle opzioni più interessanti del primo comando:

  • -S- non disassemblare i file dex;
  • -R- non disimballare le risorse;
  • -B- non inserire informazioni di debug nei risultati del disassemblaggio del file dex;
  • --percorso-frame- utilizza il framework dell'interfaccia utente specificato anziché quello integrato in apktool. Ora diamo un'occhiata ad un paio di opzioni per il comando b:
  • -F- assemblaggio forzato senza controllo delle modifiche;
  • -UN- indica il percorso di aapt (uno strumento per creare un archivio APK), se per qualche motivo desideri utilizzarlo da un'altra fonte.

Usare apktool è molto semplice; per farlo basta specificare uno dei comandi e il percorso dell'APK, ad esempio:

$ apktool d mail.apk

Successivamente, tutti i file estratti e disassemblati del pacchetto appariranno nella directory della posta.

Preparazione. Disattivazione della pubblicità

La teoria, ovviamente, è buona, ma perché è necessaria se non sappiamo cosa fare con il pacchetto spacchettato? Proviamo ad applicare la teoria a nostro vantaggio, ovvero a modificare alcuni software in modo che non ci mostrino pubblicità. Ad esempio, lascia che sia Virtual Torch, una torcia virtuale. Questo software è l'ideale per noi, perché è pieno di pubblicità fastidiose e, inoltre, è abbastanza semplice da non perdersi nella giungla del codice.


Quindi, utilizzando uno dei metodi sopra indicati, scarica l'applicazione dal market. Se decidi di utilizzare Virtuous Ten Studio, è sufficiente aprire il file APK nell'applicazione e decomprimerlo, creare un progetto (File -> Nuovo progetto), quindi selezionare Importa file nel menu contestuale del progetto. Se la tua scelta è caduta su apktool, esegui semplicemente un comando:

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

Successivamente, nella directory com.kauf.particle.virtualtorch apparirà un albero di file simile a quello descritto nella sezione precedente, ma con una directory smali aggiuntiva invece dei file dex e un file apktool.yml. Il primo contiene il codice disassemblato del file dex eseguibile dell'applicazione, il secondo contiene le informazioni di servizio necessarie affinché apktool possa riassemblare il pacchetto.

Il primo posto in cui dovremmo cercare è, ovviamente, AndroidManifest.xml. E qui incontriamo subito la seguente riga:

Non è difficile intuire che sia responsabile della concessione all'applicazione delle autorizzazioni per l'utilizzo della connessione Internet. Infatti, se vogliamo semplicemente sbarazzarci della pubblicità, molto probabilmente basterà bloccare l'applicazione da Internet. Proviamo a farlo. Eliminiamo la riga specificata e proviamo a creare il software utilizzando apktool:

$ apktool b com.kauf.particle.virtualtorch

Il file APK risultante verrà visualizzato nella directory com.kauf.particle.virtualtorch/build/. Tuttavia, non sarà possibile installarlo, poiché non dispone di firma digitale e checksum dei file (semplicemente non ha una directory META-INF/). Dobbiamo firmare il pacchetto utilizzando l'utilità apk-signer. Lanciato. L'interfaccia è composta da due schede: nella prima (Key Generator) creiamo le chiavi, nella seconda (APK Signer) firmiamo. Per creare la nostra chiave privata, compila i seguenti campi:

  • File di destinazione- file di output dell'archivio chiavi; normalmente memorizza una coppia di chiavi;
  • Parola d'ordine E Confermare- password per l'archiviazione;
  • Alias- nome della chiave presente nel deposito;
  • Password alias E Confermare- password chiave segreta;
  • Validità- periodo di validità (in anni). Il valore predefinito è ottimale.

I restanti campi sono, in generale, facoltativi, ma almeno uno deve essere compilato.


AVVERTIMENTO

Per firmare un'applicazione utilizzando apk-signer, è necessario installare Android SDK e specificarne il percorso completo nelle impostazioni dell'applicazione.

Tutte le informazioni sono fornite solo a scopo informativo. Né gli editori né l'autore sono responsabili per eventuali danni causati dai materiali di questo articolo.

Ora puoi firmare l'APK con questa chiave. Nella scheda Firma APK, seleziona il file appena generato, inserisci la password, l'alias della chiave e la password, quindi trova file APK e sentiti libero di premere il pulsante "Firma". Se tutto andrà bene, il pacco verrà firmato.

INFORMAZIONI

Dato che abbiamo firmato il pacchetto con la nostra chiave, questo entrerà in conflitto con l'applicazione originale, il che significa che quando proveremo ad aggiornare il software tramite il market, riceveremo un errore.

Una firma digitale è richiesta solo per il software di terze parti, quindi se stai modificando le applicazioni di sistema installate copiandole nella directory /system/app/, non è necessario firmarle.

Successivamente, scarica il pacchetto sul tuo smartphone, installalo e avvialo. Voilà, l'annuncio è sparito! Invece, però, è apparso un messaggio che non abbiamo Internet o non disponiamo delle autorizzazioni adeguate. In teoria questo potrebbe essere sufficiente, ma il messaggio sembra fastidioso e, a dire il vero, siamo stati fortunati con un'applicazione stupida. Il software normalmente scritto molto probabilmente chiarirà le proprie credenziali o verificherà la presenza di una connessione Internet e altrimenti si rifiuterà semplicemente di avviarsi. Come comportarsi in questo caso? Ovviamente modifica il codice.

In genere, gli autori delle applicazioni creano classi speciali per visualizzare annunci pubblicitari e chiamano metodi di queste classi quando viene avviata l'applicazione o una delle sue "attività" (in termini semplici, schermate dell'applicazione). Proviamo a trovare queste classi. Andiamo nella directory smali, poi com (org contiene solo la libreria grafica aperta cocos2d), poi kauf (qui è dov'è, perché questo è il nome dello sviluppatore e tutto il suo codice è lì) - ed eccolo qui, l'elenco di marketing. All'interno troviamo un mucchio di file con estensione smali. Si tratta di classi, e la più notevole di queste è la classe Ad.smali, dal nome della quale è facile intuire che è quella che visualizza la pubblicità.

Potremmo cambiare la logica del suo funzionamento, ma sarebbe molto più semplice rimuovere semplicemente le chiamate a uno qualsiasi dei suoi metodi dall'applicazione stessa. Pertanto, lasciamo la directory marketing e andiamo alla directory delle particelle adiacente, quindi a virtualtorch. Il file MainActivity.smali merita qui un'attenzione particolare. Si tratta di una classe Android standard creata dall'SDK di Android e installata come punto di ingresso dell'applicazione (analoga alla funzione principale in C). Apri il file per la modifica.

All'interno c'è il codice smali (assemblatore locale). È abbastanza confuso e difficile da leggere a causa della sua natura di basso livello, quindi non lo studieremo, ma troveremo semplicemente tutti i riferimenti alla classe Ad nel codice e li commenteremo. Inseriamo nella ricerca la riga “Ad” e arriviamo alla riga 25:

Campo annuncio privato:Lcom/kauf/marketing/Ad;

Qui viene creato un campo dell'annuncio per memorizzare un oggetto della classe Ad. Commentiamo ponendo un segno ### davanti alla riga. Continuiamo la ricerca. Linea 423:

Nuova istanza v3, Lcom/kauf/marketing/Ad;

È qui che avviene la creazione dell'oggetto. Commentiamo. Continuiamo la ricerca e troviamo nelle righe 433, 435, 466, 468, 738, 740, 800 e 802 chiamate ai metodi della classe Ad. Commentiamo. Sembra che sia tutto. Salviamo. Ora è necessario rimontare la confezione e verificarne la funzionalità e la presenza di pubblicità. Per purezza dell'esperimento, restituiamo la riga rimossa da AndroidManifest.xml, assembliamo il pacchetto, lo firmiamo e lo installiamo.

La nostra cavia. Pubblicità visibile

Ops! La pubblicità è scomparsa solo durante l'esecuzione dell'applicazione, ma è rimasta nel menu principale, che vediamo quando lanciamo il software. Quindi, aspetta, ma il punto di ingresso è la classe MainActivity e l'annuncio è scomparso mentre l'applicazione era in esecuzione, ma è rimasto nel menu principale, quindi il punto di ingresso è diverso? Per identificare il vero punto di ingresso, riaprire il file AndroidManifest.xml. E sì, contiene le seguenti righe:

Dicono a noi (e, cosa più importante, all'androide) che un'attività denominata Start dovrebbe essere avviata in risposta alla generazione di un intento (evento) android.intent.action.MAIN dalla categoria android.intent.category.LAUNCHER. Questo evento viene generato quando si tocca l'icona dell'applicazione nel launcher, quindi determina il punto di ingresso, ovvero la classe Start. Molto probabilmente, il programmatore ha prima scritto un'applicazione senza menu principale, il cui punto di ingresso era la classe standard MainActivity, quindi ha aggiunto una nuova finestra (attività) contenente il menu e descritta nella classe Start, e l'ha inserita manualmente nella voce punto.

Apriamo il file Start.smali e cerchiamo nuovamente la riga “Ad”, troviamo nelle righe 153 e 155 una menzione della classe FirstAd. È presente anche nel codice sorgente e, a giudicare dal nome, è responsabile della visualizzazione degli annunci pubblicitari sulla schermata principale. Guardiamo oltre, c'è la creazione di un'istanza della classe FirstAd e un intento che, a seconda del contesto, è legato a questa istanza, e poi l'etichetta cond_10, il passaggio condizionale alla quale viene effettuato esattamente prima della creazione dell'istanza della classe:

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

Molto probabilmente, il programma calcola in qualche modo in modo casuale se la pubblicità deve essere mostrata sulla schermata principale e, in caso contrario, passa direttamente a cond_10. Ok, semplifichiamo il suo compito e sostituiamo la transizione condizionale con una incondizionata:

#if-ne p1, v0, :cond_10 vai a:cond_10

Non ci sono più riferimenti a FirstAd nel codice, quindi chiudiamo il file e rimontiamo la nostra torcia virtuale utilizzando apktool. Copialo sul tuo smartphone, installalo, avvialo. Voilà, tutta la pubblicità è scomparsa, per questo ci congratuliamo con tutti noi.

Risultati

Questo articolo è solo una breve introduzione ai metodi di hacking e modifica delle applicazioni Android. Molti problemi rimanevano dietro le quinte, come la rimozione della protezione, l'analisi del codice offuscato, la traduzione e la sostituzione delle risorse delle applicazioni, nonché la modifica delle applicazioni scritte utilizzando Android NDK. Tuttavia, avendo una conoscenza di base, è solo questione di tempo per capire tutto.

RAR è un archiviatore multifunzionale per dispositivi Android. Questo meraviglioso programma di RARLAB è una copia quasi completa del famoso WinRAR, e quindi a molti piacerà di più della versione base di Google.

In generale, cos'è un archiviatore e perché è necessario su uno smartphone? In effetti, per il moderno Android è estremamente necessario:

  • Innanzitutto, un archivio può essere utilizzato per memorizzare un gran numero di file in una directory. Ad esempio, spesso vi vengono nascoste foto riservate, perché tutti sanno che sono protette password sicura ed è quasi impossibile hackerarlo.
  • In secondo luogo, i formati di archivio RAR e ZIP sono ora estremamente popolari tra coloro che pubblicano file su Internet per il download pubblico. Molti utenti non vogliono ancora dipendere dalla distribuzione dei torrent e quindi l'archiviazione di file continua ad essere popolare.

Caratteristiche del programma RAR per Android

Al momento, l'archiviatore RAR può effettuare le seguenti operazioni:

  • lavorare con tutti i formati di archivio attualmente conosciuti (RAR, ZIP, TAR, GZ, BZ2, XZ, 7z, ISO, ARJ);
  • creare archivi crittografati;
  • eseguire il rilevamento e la correzione degli errori;
  • Utilizza appieno le funzionalità multi-core del processore per aumentare le prestazioni complessive.

In generale, RAR è un programma di livello molto più elevato rispetto all'archiviatore di base integrato in un file manager. Non c'è dubbio che ti aiuterà sempre nei momenti difficili e lo farà in modo completamente gratuito.