LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere The Bell
Niente spam

Il file ARC con cui installiamo i giochi è batch e, se necessario, estraibile. Questo è molto comodo, poiché le applicazioni già installate possono essere estratte in un unico file.

Ci sono spesso situazioni in cui, ad esempio, hai completato il gioco e lo hai cancellato dal tuo dispositivo mobile. Ma dopo un po 'abbiamo deciso di giocare di nuovo. Per non iniziare il passaggio da zero è sufficiente estrarre l'ARC e utilizzarlo quando richiesto. L'intero processo completato verrà ripristinato.

L'estrazione dell'APK è molto utile quando hai bisogno di un amico Bluetooth. Per non installare un programma speciale, è possibile utilizzare il metodo che verrà fornito di seguito.

L'ARC viene estratto dalle applicazioni installate utilizzando un software speciale. Un comodo file manager è perfetto per questo. Astro File Manager.

Il file manager ti aiuterà a gestire il backup dei programmi disponibili nel dispositivo, guardando video e immagini e un task manager. Per estrarre l'installazione ARC senza problemi, avrai bisogno di:

1. Affinché Astro File Manager funzioni, devi installarlo sul tuo dispositivo, per il quale devi guardare Google Play. Dopo aver completato il processo di installazione, puoi metterti al lavoro.

2. Avvia Astro File Manager. Si aprirà una finestra sullo schermo che indica le unità di memoria disponibili e un elenco di servizi in cui è possibile registrarsi o accedere.

3. Scorri verso sinistra per aprire il menu principale dell'applicazione. In basso a sinistra, fai clic sull'icona degli strumenti e vai su Gestione applicazioni.

4. Verrà visualizzato un elenco con tutti i programmi e giochi installati.

5. Per estrarre l'ARC, premere l'apposito pulsante situato nell'angolo in alto a destra. Seleziona BACKUP dalle opzioni fornite. Per chiarezza, eseguo questa operazione con.

Ora devi solo aspettare la fine del processo. Tutti i file risultanti si troveranno nella cartella Backup - App. Si installano facilmente come i normali file APK.

Interpolazione, interpolazione - in matematica computazionale, un metodo per trovare valori intermedi di una quantità da un insieme discreto disponibile di valori noti.

Molti di coloro che si trovano di fronte a calcoli scientifici e ingegneristici, spesso devono operare su un insieme di valori ottenuti empiricamente o casualmente. Di norma, sulla base di questi insiemi, è necessario costruire una funzione che possa ricevere altri valori ottenuti con elevata precisione. Questa attività è chiamata approssimazione... L'interpolazione è una sorta di approssimazione in cui la curva della funzione costruita passa esattamente attraverso i punti dati disponibili.

Esistono molti metodi di interpolazione alle differenze finite. Maggior parte
il più comune è il metodo di Newton per l'interpolazione diretta (metodo Newton-Gregory). Il polinomio di interpolazione in questo caso ha la forma:

Troviamo i coefficienti C dalla formula:

Implementazione del programma in C #:
using System; interpolazione dello spazio dei nomi (classe Program ...

Il programma è diviso in due thread, uno dei quali esegue l'ordinamento e l'altro ridisegna l'interfaccia grafica. Dopo aver fatto clic sul pulsante Ordina, il programma chiama il metodo RunSorting, che definisce l'algoritmo di ordinamento e crea un nuovo thread con il processo di ordinamento in esecuzione al suo interno.
vuoto privato RunSo ...

Oggi voglio mostrare il mio Kacher, cosa che ho fatto durante le ultime vacanze invernali. Non descriverò l'intero processo di produzione, poiché ci sono molti articoli su Internet. Scriverò solo i suoi parametri principali.

Di seguito alcune foto scattate durante l'assemblaggio del dispositivo.

La bobina viene avvolta con filo da 0,08 mm circa 2000 spire su un tubo in PVC di diametro 50 mm e altezza 200 mm.

Come terminale è stata utilizzata una lastra di un vecchio disco rigido. Tutto il resto è stato raccolto secondo lo schema che si trova in fondo alla pagina.

La prima versione era alimentata da un alimentatore da 12 V di un vecchio computer, quindi è stato realizzato un alimentatore separato da 30 V con raffreddamento integrato.

Diagramma del dispositivo:

Resource Sharing (CORS) è una specifica W3C che consente la comunicazione tra domini nel browser. Basandosi sull'oggetto XMLHttpRequest, CORS consente agli sviluppatori di lavorare con gli stessi idiomi delle richieste di un singolo dominio. Il caso d'uso per CORS è semplice. Immagina che alice.com abbia alcuni dati che bob.com vuole ottenere. Questo tipo di richiesta tradizionalmente non è consentito con lo stesso criterio di origine del browser. Tuttavia, supportando le richieste CORS, alice.com può aggiungere alcune intestazioni di risposta personalizzate che consentono a bob.com di accedere ai dati. Come puoi vedere da questo esempio, il supporto CORS richiede il coordinamento tra server e client. Fortunatamente, se sei uno sviluppatore lato client, sei protetto dalla maggior parte di questi dettagli. Il resto di questo articolo mostra come i client possono effettuare richieste cross-origin e come i server possono configurarsi per supportare CORS. Continua ...

Molti di voi sanno che il processo di installazione di un'applicazione Android è semplice: apri il Google Play Store, trovi il programma o il gioco che desideri, fai clic sul grande pulsante Installa e il gioco è fatto. Tuttavia, le app Android vengono pacchettizzate e installate manualmente. Questi pacchetti hanno l'estensione ".apk" e i loro usi pratici sono numerosi. Ad esempio, puoi eseguire il backup di app archiviate anche come file apk senza alcun problema. Ti aiuterà anche nel caso in cui un'applicazione o un gioco siano improvvisamente scomparsi da Google Play, come è successo con Flappy Bird. Chi lo desidera, può scaricare l'applicazione e installarla sul proprio smartphone. È anche conveniente installare file apk su dispositivi che sono artificialmente limitati dal produttore (Amazon Kindle Fire o Nokia X).

Tuttavia, come puoi estrarre il file apk installato? Puoi trovare facilmente l'applicazione su Internet, scaricarla e installarla sul tuo dispositivo Android. Questo metodo funziona alla grande con le app gratuite. Quelli a pagamento sono protetti dal download per ovvi motivi. Inoltre, le applicazioni che scaricano file aggiuntivi dopo che sono stati installati dovrebbero funzionare correttamente.

  • 1. Sul tuo dispositivo Android Google Play e scarica l'app che desideri estrarre.
  • 2. Scarica l'app APK Extractor. È gratuito e facile da usare.
  • 3. Apri l'app APK Extractor e punta a qualsiasi app che desideri estrarre. È possibile contrassegnare più applicazioni contemporaneamente. I file APK verranno salvati nella cartella ExtractedApks sulla memoria del dispositivo.

I file APK estratti possono ora essere copiati su un altro smartphone o tablet Android e installati utilizzando qualsiasi file manager come Astro o ES File Explorer.

Una delle applicazioni popolari di questo tipo. Permette di estrarre il file di installazione direttamente dallo store ufficiale e di salvarlo sul tuo PC. Allo stesso tempo, il programma non ha nemmeno bisogno di essere installato su un PC: è disponibile una versione portatile che funziona completamente con unità esterne. Quando si avvia Raccoon per la prima volta, l'utente deve inserire le credenziali del proprio account Google. Viene richiesto anche l'ID del dispositivo, ma questo parametro può essere ignorato.

L'interfaccia dell'applicazione è composta da due schede: Download e Cerca. Durante la ricerca, puoi utilizzare il nome, l'ID o il collegamento nella directory ufficiale. Dopo aver trovato l'applicazione, è possibile salvarla sul PC come un normale file e quindi installarla manualmente su un altro dispositivo mobile.


Una popolare directory alternativa per Android con prodotti di vari sviluppatori. Il client di directory è piccolo, quindi può essere utilizzato su dispositivi più lenti. Tutti i programmi sono ordinati in categorie, c'è una comoda ricerca e le applicazioni stesse possono essere scaricate come file.

E poi puoi sempre usare Clean master per pulire rapidamente il tuo telefono dalla spazzatura. Sai che cos'è? ...

Downloader APK

Estensione per browser Chrome e Firefox. Consente inoltre di scaricare rapidamente l'utilità selezionata come file separato. Dopo aver attivato il plugin, basta andare nella pagina del programma desiderato in Google Play e utilizzare il tasto F5. La pagina si aggiorna e viene visualizzato il pulsante di download per l'oggetto corrispondente.

altri metodi

Esistono anche modi per scaricare i file apk senza installare software di terze parti. Ad esempio, puoi utilizzare il servizio online con lo stesso nome invece del plug-in APK Downloader. È sufficiente aprire la risorsa, inserire un collegamento al programma in un modulo speciale e ottenere un pulsante, la cui attivazione avvia il download.

Un altro modo: apri la pagina desiderata su Google Play e cambia manualmente play.google.com in apk-dl.com nella barra degli indirizzi del browser (il resto dell'indirizzo deve essere lasciato). Dopo aver aggiornato la pagina, l'utente è in grado di scaricare il file selezionato.

A volte alcune applicazioni su Android non si adattano in qualche modo all'utente. Un esempio sono gli annunci fastidiosi. E succede anche: tutti sono bravi nel programma, ma solo la traduzione in esso è storta o completamente assente. Oppure, ad esempio, il programma è di prova, ma non è possibile ottenere la versione completa. Come si può cambiare la situazione?

introduzione

In questo articolo parleremo di come disassemblare un pacchetto APK con un'applicazione, osservare la sua struttura interna, disassemblare e decompilare il bytecode e anche provare ad apportare alcune modifiche all'applicazione che possono portarci uno o un altro vantaggio.

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 a memorizzare le stringhe che verranno visualizzate sullo schermo. Dovrai anche essere in grado di gestire software per console specializzato.

Allora, qual è esattamente il pacchetto APK in cui è distribuito assolutamente tutto il software per Android?

Decompilazione di applicazioni

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

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

Dovrebbero essere usati in questo modo. Per prima cosa, eseguiamo dex2jar, specificando il percorso del pacchetto apk come argomento:

% dex2jar.sh mail.apk

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

Pacchetti APK del dispositivo e relativa ricevuta

Un pacchetto di app Android è essenzialmente un normale file zip che non richiede strumenti speciali per visualizzare e decomprimere il suo contenuto. È sufficiente disporre di un archiviatore: 7zip per Windows o decompressione della console per Linux. Ma si tratta dell'involucro. Cosa c'è dentro? Al suo interno generalmente abbiamo la seguente struttura:

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

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

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

Questa directory viene utilizzata dai produttori di giochi per ospitare un motore di gioco scritto in C / C ++, nonché dai produttori di applicazioni ad alte prestazioni (come Google Chrome). Il dispositivo è stato risolto. Ma come si ottiene il file del pacchetto effettivo dell'applicazione di interesse? Poiché non è possibile prelevare i file APK dal dispositivo senza root (si trovano nella directory / data / app) e root non è sempre consigliabile, ci sono almeno tre modi per ottenere il file dell'applicazione sul computer:

  • estensione APK Downloader per Chrome;
  • applicazione reale APK Leecher;
  • vari file sharing e warezniki.

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à anche in Windows, anche in 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 tuo dispositivo. Il terzo è l'identificativo del dispositivo e puoi ottenerlo componendo il codice sul dialer # #8255## e quindi trovare la riga Device ID. 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, scaricato, decompresso ... e durante il tentativo di visualizzare un file XML, sono rimasto sorpreso di scoprire che il file non è testo. Come decompilarlo e come lavorare con i pacchetti in generale? È davvero necessario installare l'SDK? No, non è necessario installare l'SDK. Infatti, tutti i passaggi per decomprimere, modificare e imballare i pacchetti APK richiedono i seguenti strumenti:

  • archiviatore ZIP per disimballaggio e imballaggio;
  • smali - assemblatore / disassemblatore del bytecode della macchina virtuale Dalvik (code.google.com/p/smali);
  • aapt - uno strumento per impacchettare le risorse (per impostazione predefinita, le risorse sono archiviate in forma binaria per ottimizzare le prestazioni dell'applicazione). Incluso nell'SDK Android, ma può essere ottenuto separatamente;
  • firmatario - uno strumento per firmare digitalmente un pacchetto modificato (bit.ly/Rmrv4M).

Puoi usare tutti questi strumenti separatamente, ma questo è scomodo, quindi è meglio usare un software di livello superiore costruito sulla loro base. Se lavori su Linux o Mac OS X, c'è uno strumento chiamato apktool. Ti consente di decomprimere le risorse nella loro forma originale (inclusi XML binari e file arsc), ricostruire un pacchetto con risorse modificate, ma non può firmare i pacchetti, quindi dovrai eseguire manualmente l'utilità del firmatario. Nonostante il fatto che l'utilità sia scritta in Java, la sua installazione è piuttosto non standard. Per prima cosa dovresti 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 \u003d ~ / bin: $ PATH

Se lavori in Windows, allora c'è un ottimo strumento per esso chiamato Virtual Ten Studio, che accumula anche tutti questi strumenti (incluso apktool stesso), ma invece dell'interfaccia CLI fornisce all'utente un'interfaccia grafica intuitiva con cui puoi eseguire operazioni di disimballaggio, smontaggio e decompilazione in pochi clic. Questo strumento è Donation-ware, cioè a volte ci sono finestre che offrono di ottenere una licenza, ma questo, alla fine, può essere tollerato. Non ha senso descriverlo, perché puoi capire l'interfaccia in pochi minuti. Ma apktool, a causa della sua natura da console, dovrebbe essere discusso in modo più dettagliato.


Diamo un'occhiata alle opzioni di apktool. In breve, ci sono tre comandi principali: d (decode), b (build) e if (install framework). Se tutto è chiaro con i primi due comandi, cosa fa il terzo operatore condizionale? Decomprime il framework dell'interfaccia utente specificato, necessario nei casi in cui si analizza un pacchetto di sistema.

Consideriamo le opzioni più interessanti del primo comando:

  • -S - non smontare i file dex;
  • -r - non decomprimere le risorse;
  • -b - non inserire informazioni di debug nei risultati del disassemblaggio del file dex;
  • --frame-path - usa il framework dell'interfaccia utente specificato invece di quello integrato in apktool. Ora diamo un'occhiata a un paio di opzioni per il comando b:
  • -f - montaggio forzato senza verifica delle modifiche;
  • -un - indichiamo il percorso per aapt (uno strumento per costruire un archivio APK), se per qualche motivo vuoi usarlo da un'altra fonte.

Usare apktool è molto semplice, per questo devi solo specificare uno dei comandi e il percorso dell'APK, ad esempio:

$ apktool d mail.apk

Dopodiché, tutti i file del pacchetto estratti e disassemblati appariranno nella directory di posta.

Dissezione. Disattiva gli annunci

La teoria è, ovviamente, buona, ma perché è necessaria se non sappiamo cosa fare con il pacchetto decompresso? Proviamo ad applicare la teoria a nostro vantaggio, vale a dire, modificare alcuni software in modo che non ci mostrino pubblicità. Ad esempio, lascia che sia Virtual Torch, una torcia virtuale. Per noi questo software è perfetto perché è pieno fino agli occhi di fastidiose pubblicità e, inoltre, abbastanza semplice da non perdersi nella giungla del codice.


Quindi, utilizzando uno dei metodi sopra, scarica l'applicazione dal mercato. Se decidi di utilizzare Virtuous Ten Studio, ti basterà aprire il file APK nell'applicazione e decomprimerlo, per il quale creare un progetto (File -\u003e Nuovo progetto), quindi selezionare Importa file dal menu contestuale del progetto. Se la tua scelta è caduta su apktool, esegui solo un comando:

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

Dopodiché, un file tree simile a quello descritto nella sezione precedente apparirà nella directory com.kauf.particle.virtualtorch, 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 ad apktool per ricostruire il pacchetto.

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

Come puoi immaginare, è responsabile della concessione dell'autorizzazione dell'applicazione per utilizzare la connessione Internet. In effetti, se vogliamo solo sbarazzarci degli annunci, molto probabilmente dobbiamo disabilitare Internet per l'applicazione. 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 apparirà nella directory com.kauf.particle.virtualtorch / build /. Tuttavia, non sarai in grado di installarlo, poiché non ha una firma digitale e un file checksum (semplicemente non ha la directory META-INF /). Dobbiamo firmare il pacchetto utilizzando l'utility apk-signer. Lanciato. L'interfaccia è composta da due schede: sulla prima (Key Generator) creiamo le chiavi, sulla seconda (APK Signer) firmiamo. Per creare la nostra chiave privata, compila i seguenti campi:

  • File di destinazione - il file di output del keystore; di solito contiene una coppia di chiavi;
  • Parola d'ordine e Confermare - password per l'archiviazione;
  • Alias - il nome della chiave nel repository;
  • Password alias e Confermare - password chiave segreta;
  • Validità - periodo di validità (in anni). L'impostazione predefinita è ottimale.

Gli altri campi sono generalmente facoltativi, ma almeno uno deve essere compilato.


AVVERTIMENTO

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

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

Ora puoi firmare l'APK con questa chiave. Nella scheda Firmatario APK, seleziona il file appena generato, inserisci la password, l'alias della chiave e la password, quindi trova il file APK e premi in grassetto il pulsante "Firma". Se tutto va bene, il pacco verrà firmato.

INFORMAZIONI

Poiché abbiamo firmato il pacchetto con la nostra chiave, entrerà in conflitto con l'applicazione originale, il che significa che quando proveremo ad aggiornare il software attraverso il mercato, riceveremo un errore.

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

Dopodiché, rilasciamo il pacchetto su uno smartphone, lo installiamo e lo lanciamo. Voilà, le pubblicità sono sparite! Invece, tuttavia, è apparso un messaggio che non abbiamo Internet o non abbiamo le autorizzazioni appropriate. In teoria, questo potrebbe essere sufficiente, ma il messaggio sembra fastidioso e, ad essere onesti, siamo stati fortunati con un'app stupida. Un software normalmente scritto molto probabilmente chiarirà la sua autorità o verificherà la presenza di una connessione Internet e altrimenti si rifiuterà semplicemente di avviarsi. Come essere in questo caso? Ovviamente modifica il codice.

In genere, gli autori di applicazioni creano classi speciali per visualizzare annunci pubblicitari e chiamare metodi di queste classi durante il lancio dell'applicazione o una delle sue "attività" (per dirla semplicemente, schermate dell'applicazione). Proviamo a trovare queste classi. Andiamo alla directory smali, poi com (org contiene solo la libreria grafica aperta cocos2d), poi kauf (esattamente lì, perché questo è il nome dello sviluppatore e tutto il suo codice è lì) - ed eccola, la directory marketing . All'interno troviamo un mucchio di file con l'estensione smali. Queste sono classi e la più degna di nota è la classe Ad.smali, dal nome della quale è facile indovinare cosa mostra esattamente gli annunci.

Potremmo cambiare la logica del suo funzionamento, ma sarebbe molto più semplice rimuovere le chiamate a uno qualsiasi dei suoi metodi dall'applicazione stessa. Pertanto, usciamo dalla directory marketing e andiamo alla directory delle particelle adiacenti, quindi a virtualtorch. Il file MainActivity.smali merita qui un'attenzione speciale. Questa è una classe Android standard creata da Android SDK e impostata come punto di ingresso per l'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. Guidiamo nella riga "Annuncio" nella ricerca e ci troviamo sulla riga 25:

Annuncio privato sul campo: Lcom / kauf / marketing / Ad;

Questo crea un campo annuncio per contenere un oggetto della classe Ad. Commentare inserendo il segno ### davanti alla riga. Continuiamo a cercare. Linea 423:

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

Qui è dove viene creato l'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 il pacchetto e verificarne le prestazioni e la presenza di annunci. Per la purezza dell'esperimento, restituiamo la stringa cancellata da AndroidManifest.xml, raccogliamo il pacchetto, firmiamo e installiamo.

La nostra cavia. Pubblicità visibile

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

Ci dicono (e cosa più importante, l'androide) che un'attività denominata Start dovrebbe essere lanciata in risposta alla generazione di un intent (evento) android.intent.action.MAIN dalla categoria android.intent.category.LAUNCHER. Questo evento viene generato quando si tocca l'icona dell'applicazione nel programma di avvio, quindi definisce il punto di ingresso, ovvero la classe Start. Molto probabilmente, il programmatore ha prima scritto un'applicazione senza un menu principale, il cui punto di ingresso era la classe MainActivity standard, quindi ha aggiunto una nuova finestra (attività) contenente il menu e descritto nella classe Start, e manualmente l'ha impostata come voce punto.

Apri il file Start.smali e cerca di nuovo la riga "Ad", trova nelle righe 153 e 155 la menzione della classe FirstAd. È anche nel codice sorgente e, a giudicare dal nome, è esattamente responsabile della visualizzazione degli annunci sulla schermata principale. Guardiamo oltre, c'è una creazione di un'istanza della classe FirstAd e un intento, in base al contesto relativo a questa istanza, e poi l'etichetta cond_10, la transizione condizionale a cui viene eseguita esattamente prima di creare un'istanza della classe :

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

Molto probabilmente, il programma in qualche modo calcola in modo casuale se mostrare annunci sulla schermata principale e, in caso contrario, salta direttamente a cond_10. Ok, semplifichiamo il suo compito e sostituiamo il salto condizionale con uno incondizionato:

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

Non ci sono più riferimenti a FirstAd nel codice, quindi chiudi il file e rimonta la nostra torcia virtuale usando apktool. Copia su smartphone, installa, avvia. Voilà, tutti gli annunci sono scomparsi e congratulazioni a tutti noi.

Risultato

Questo articolo è solo una breve introduzione alle tecniche per crackare e modificare le 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 dell'applicazione, nonché la modifica delle applicazioni scritte utilizzando Android NDK. Tuttavia, avendo conoscenze di base, è solo questione di tempo per capire tutto questo.

LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere The Bell
Niente spam