Bentornati.
Ho indossato la mia maglietta da allenamento e sì, avreste potuto capire che nel mondo reale mi stavo allenando.
Non molto, ma nel mondo Android lo sarei almeno.
Almeno Hulk, suppongo.
Sì, almeno.
Quindi ora stiamo per presentare questa applicazione e mi sento abbastanza sicuro nella mia forma di Hulk
che siamo in grado di farlo.
Non abbiamo capito nulla della parte smiley, ma cerchiamo di capire cosa abbiamo.
Dobbiamo quindi passare alla macchina virtuale Ubuntu e verificare che il valore 0xa sia la potenza del giocatore
corrispondente.
Apriamo Android Studio.
Passiamo agli strumenti.
Android Studio Bin Bash, Studio Port S-H.
Ops, manca una O.
Eccoci ora con la nostra classe di giocatori e possiamo vedere che il nostro livello di potenza è pari a dieci.
Apriamo il codice smiley corrispondente a questo.
Quindi avremmo ipotizzato che questo 0xa sia il nostro valore di giocatore, il nostro potere di giocatore.
Come possiamo verificare questo comportamento?
Abbiamo un'idea?
Riflettete un attimo su questo punto.
Va bene.
Sono abbastanza sicuro che tu abbia trovato la soluzione.
Basta andare nel codice del nostro player studio qui e cambiare questo valore o cambiare questo valore
da 10 a 12, per esempio.
Poi mettiamo in sicurezza e creiamo il nostro nuovo RPC.
Successivamente, si controlla nuovamente il codice smiley per verificare se il valore è stato modificato.
Tutto qui.
Ora possiamo anche usare la scusa del commercio perché sì, l'output dello strumento RPC è nel mio caso molto più facile da leggere.
Ma per quanto riguarda il confronto di un singolo valore, entrambe le uscite saranno uguali.
Quindi, diamo un'occhiata a questo e facciamo clic su Individua.
Poi apriamo un nuovo terminale e diciamo: commercio.
Scusatemi, ABQ vuota e piena di gente.
Poi passiamo alla nostra classe di giocatori.
Premiamo il pulsante "smile" e vediamo che il valore è stato modificato da zero x 8 a 0 x.
Diamo un'occhiata.
Pitone 30xc.
Questo è il valore 12.
Va bene.
Ora sappiamo qual è il valore dei nostri giocatori.
Questo qui, è il nostro potere di giocatore.
Prima di applicare la patch, creiamo una sorta di output visivo, perché altrimenti non possiamo vedere se la
potenza del giocatore è stata aumentata.
Quindi torniamo nel codice di Android studio, andiamo nella classe principale dell'attività
e creiamo una nuova istanza.
Quindi diciamo giocatore, giocatore uguale nuovo giocatore.
Ora possiamo accedere a questo campo di potenza del giocatore e stamparlo nell'output della console di sistema.
Per questo motivo utilizziamo la linea di stampa system out e poi dobbiamo modificare questa linea per aggiungere una stringa qui.
Quindi chiamiamo questo giocatore potenza uguale e concateniamo questo valore.
So che la potenza del punto del lettore è un valore intero, ma funziona in questo modo, quindi possiamo concatenare la stringa
con questo valore intero laggiù.
Ok.
Ora ricostruiamo l'applicazione.
Questa volta è molto più veloce.
Facciamo clic su Individua, su Apri un nuovo terminale ed effettuiamo la connessione ADB alla nostra macchina virtuale.
Ora possiamo installare questa applicazione.
Nel caso in cui venga visualizzato un messaggio di errore relativo ai dispositivi di test o cose
del genere, è necessario regolare questo parametro chiave, questo qui.
Altrimenti, date un'occhiata alla scheda informativa che vi ho fornito.
Ho inserito tutti gli errori ADB che ho riscontrato finora, e se c'è un nuovo errore scrivetemi
un messaggio.
Cerco di capire qual è il numero di radici.
Cerco di capire quale sia la causa principale e di fornire un aggiornamento a tutti i membri.
Ok, ora torniamo alla schermata per avere la nostra schermata qui.
E apriamo questo.
Possiamo vedere che questa è la nostra prima applicazione di build.
È un'applicazione infernale, ma non abbiamo fatto nulla per questa parte infernale.
Si tratta di un campo di testo già inserito e all'interno dell'output di adb logcat possiamo ora cercare
il potere del giocatore.
Bello.
Possiamo vedere che la nostra potenza di giocatori è pari a 12 laggiù.
Se si desidera aggiungere o modificare questo valore.
Ora dobbiamo eseguire questo processo ancora una volta e vi mostrerò un approccio più semplice all'interno di Android
Studio.
È possibile collegare Android Studio tramite ADB a questa macchina virtuale.
Dobbiamo creare un nuovo file di configurazione qui.
Non è così difficile.
Noi continuiamo semplicemente a correre.
Poi andiamo in modifica delle configurazioni, apriamo i modelli e facciamo clic su remoto.
Poi dobbiamo inserire l'indirizzo IP e la porta.
Cerchiamo di capirlo rapidamente.
ADB Connect.
Questo è l'indirizzo IP di questa macchina virtuale e la porta è cinque, cinque, cinque, cinque, cinque.
Questa è la porta ADB predefinita e questo è tutto, se si fa clic su Applica, si può disinstallare questa applicazione e poi verificare
se la configurazione funziona.
Quindi abbiamo premuto disinstalla, e la disinstallazione è arrivata in modo intelligente.
Uno.
Nel caso in cui abbiate scelto un nome di pacchetto diverso, potete trovarlo qui nel manifest di Android,
ad esempio questo.
Quindi questa applicazione è stata disinstallata con successo.
Questo è verificato.
Sì, sì.
Non è più disponibile.
Ora, teniamolo in primo piano per poter vedere l'effetto.
Facciamo clic su Ora ed eseguiamo l'applicazione.
Se non si dispone di un dispositivo collegato o di un dispositivo virtuale già avviato, viene scelta automaticamente la
disconnessione.
E possiamo vedere che si apre direttamente qui.
E abbiamo anche questa produzione di teste di cervo laggiù.
Bello.
Questo è un po' più veloce se lo si fa spesso.
Quindi, cambiando, sperimentando, questo potrebbe essere più pratico da usare.
Ok.
Possiamo anche cercare il potere dei giocatori in questo caso e possiamo vedere, sì, che abbiamo questo due volte
qui.
Questa è la vecchia versione e questa o la vecchia versione è la vecchia applicazione e questa è una nuova
applicazione.
Lo si può vedere nei timestamp.
Bello.
Ok.
Facciamo un breve riepilogo.
Sappiamo sicuramente che questo qui è il nostro giocatore di forza.
Non sappiamo cosa sia questo.
O questo.
Questo.
Solo uno.
Questo.
Non sappiamo nulla di questo fascicolo, a parte questa sede qui.
Sappiamo che questo è il valore del nostro giocatore.
In questo caso, è ora 0xc perché abbiamo cambiato il valore.
Abbiamo anche aggiunto una forma di output visivo e ora siamo pronti a patchare questa applicazione.
Lo facciamo in un breve momento prima di fare un rapido riepilogo di tutti questi passaggi in modo grafico sulle
nostre diapositive, per poi aumentare la potenza del nostro giocatore e portarla a oltre 9000.
Va bene.
E passiamo prima alle diapositive.
Tornando alle diapositive, ho trovato un approccio o una soluzione diversa.
Facciamo in modo che questa sia una sfida personale.
Vi guiderò attraverso l'intero approccio, il modo in cui applichiamo la patch all'applicazione Mali e poi potrete provarla
voi stessi.
Vi getto definitivamente nell'acqua fredda e non mi aspetto che funzioni subito.
Ok, non mi aspetto che siate già in grado di farlo, ma credo che imparerete di
più facendo così.
Abbiamo discusso la soluzione, naturalmente, in seguito, e se avete difficoltà o non riuscite a risolvere il problema in
questo momento, non è assolutamente un problema.
Come già detto, acqua fredda pura.
Abbiamo la nostra applicazione di gioco e questa consiste solo nell'output del potere del giocatore.
Quindi non abbiamo o presumiamo di non avere il codice sorgente perché siamo hacker e normalmente non
si ha il codice sorgente.
Quindi prendiamo questo APK e lo inseriamo nella nostra directory delle applicazioni e questa è la nostra base su cui stiamo lavorando.
Abbiamo un'applicazione casuale estratta dal dispositivo e vogliamo applicare una patch.
Ok, quindi abbiamo la nostra applicazione di gioco e la prima cosa che dobbiamo fare è togliere i
file Mali da questa applicazione.
È possibile farlo con lo strumento APK.
Utilizziamo quindi il comando D dello strumento APK per decompilare o decodificare questa applicazione e ottenere i nostri codici Mali.
Poi dobbiamo entrare nella classe Mali del giocatore e possiamo trovarla guardando il nome del pacchetto.
È quindi possibile utilizzare CD X per dare un'occhiata al codice sorgente e navigare un po' più facilmente.
Abbiamo discusso di questo punto anche nella sezione precedente, quindi forse è il caso di rivedere
o riavvolgere questa sezione se non ve ne ricordate più.
Ok, guardando la classe player dot smiley, non sappiamo nulla della sintassi,
ma abbiamo identificato il nostro valore 0x8, che è il potere del giocatore corrispondente.
Vogliamo aumentare la potenza del nostro giocatore fino a superare i 9000, quindi apriamo il terminale Python e scopriamo
quale valore è superiore a 9000, quindi prendiamo questo valore esadecimale e lo sostituiamo a questo punto.
Quindi l'unico requisito per questo è che la potenza del giocatore sia superiore a 9000.
Questo è l'unico requisito per cui l'OC lo scriverà in seguito.
Dobbiamo ricostruire questa applicazione, quindi usiamo il comando APK tool B per ottenere la nostra versione modificata.
Poi dobbiamo firmare questa applicazione e usiamo l'approccio zip align APK signer nel caso in cui dovessimo avere
a che fare con applicazioni Android 11 in futuro.
Dopo aver firmato l'applicazione, possiamo utilizzare il comando ADB install per verificarla.
Dopo aver installato questa applicazione, diamo un'occhiata al logcat di ADB e dopo aver installato questa applicazione
diamo un'occhiata al blocco di ADB e vediamo se la potenza del nostro lettore è superiore a 9000 o meno.
E se questo è il caso, allora congratulazioni.
Avete realizzato il vostro primo smile patch e questa è una sensazione straordinaria.
Bene, ragazzi, sono super eccitato da quanto sta andando bene.
E non preoccupatevi se non potete farlo subito.
È un esperimento da parte mia.
Se siete già a questo livello in questo momento, se non è così, non preoccupatevi.
Cominciamo da zero e vi guiderò fino a raggiungere il nostro anno, la nostra classe di eroi, dopo di che diventeremo
un ninja super sorridente.
Bene, ora proviamo questo.
In seguito, abbiamo discusso la soluzione a questo problema.
Andiamo.