Benvenuto! Per postare e godere delle funzionalità del forum registrati, occorrono pochi secondi ed è gratis!

Array of bites aiuto digger
(Questo messaggio è stato modificato l'ultima volta il: 23/08/2012, 13:51 da Pocciox.)

1 Life, 1 Avatar <3
Messaggi: 9,074
Discussioni: 271
Registrato: 08-2011
Mix: 0
Molto bene allora io sono arrivato qui
Se non si vedono le scritte c'è la barra per vederle a dimensione intera
[Immagine: 2aeytyg.jpg]

adesso clicco su memori wiew e arrivo a questo:

[Immagine: 21mth5z.jpg]


poi che faccio???clicco su tools e viene.....

[Immagine: cu6he.jpg]


e ci sono tutti i codici che mi sembrerebbero array............quindi cosa faccio dopo???

23/08/2012, 13:47
#1
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
hai le idee un po' confuse, se stasera torno a casa ad un'ora decente ti posto come fare


digger
23/08/2012, 16:36
#2
Cerca

1 Life, 1 Avatar <3
Messaggi: 9,074
Discussioni: 271
Registrato: 08-2011
Mix: 0
ok Smile

23/08/2012, 16:44
#3
Cerca
(Questo messaggio è stato modificato l'ultima volta il: 23/08/2012, 22:10 da digger.)

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
Perdonami la faccio corta perchè non sto bene e fa pure un caldo da fare schifo qui quindi la voglia è poca...

Quindi per farla corta ti dico che ti faccio vedere come usare il sistema degli array di bytes sull'energia del carroarmato.
Per farla corta inizialmente appena inizi la primissima partita l'energia vale 1000.
Quindi cerchi 1000 poi ti fai colpire e cerchi "diminuito" un po' di volte finchè ti rimane una sola variabile.
Fai doppio click per metterla sotto come sempre.
Poi vai sotto e fai tasto destro e seleziona "Find out what writes to this address"

[Immagine: 02817-2c5c4629-bc78-47c5-860f-a442127928c8.png]

ti aprirà una finestrella cosi che lascerai aperta:
[Immagine: 02817-1c11f537-e36d-4be2-acb7-b06ef3754740.png]

ora torna al gioco e fatti sparare da qualcuno e poi distruggilo (se no ti uccide e non puoi andare avanti).

Torna alla finestrella di prima e vedrai che ti ha aggiunto una linea di codice cosi:

[Immagine: 02817-17edddf7-39d4-40f1-abba-2384ea73d3a3.png]

Quella altro non è che la linea di codice del gioco che si occupa di assegnare alla variabile dell'energia il valore corrente calcolato in base ai colpi che hai subito.

Adesso dobbiamo mettere da parte l'array di bytes che rappresenta questa riga di codice per poterla cercare in futuro.

L'array sarebbe quel 89 46 14
ma ti dico subito che se provassi a cercarlo ti uscirebbero un sacco di righe e quindi non sapresti quale usare:

[Immagine: 02817-5f98a936-b4fa-433a-9390-b468580c6dc1.png]

Questo perchè nel programma del gioco quella stessa riga di codice compare un sacco di volte, con scopi diversi.
Allora che facciamo ? semplice, dobbiamo includere qualche altro byte dell'array in modo da renderlo il piu "unico" possibile al nostro caso.
Proviamo a prendere i bytes dell'istruzione subito precedente e vediamo se abbiamo fortuna.
Per farlo facciamo tasto destro su quella riga di codice e selezioniamo "show this address in the disassembler" :

[Immagine: 02817-23b59636-7c88-490e-9a9e-4570370b39ae.png]

Ci si apre la finestra del disassembler che ci fa vedere il codice (assembly) del gioco.
Siamo posizionati proprio sulla riga incriminata trovata prima , ovvero la
mov [esi+14],eax

i cui bytes erano (si vede a sinistra) 89 46 14

se ora scrolliamo verso l'alto di qualche riga (ne basterebbe 1) ci esce la riga di codice subito prima che è :

mov eax,[ebp-60] i cui bytes sono 8B 45 A0

allora col mouse selezioniamo le 2 righe appena viste e premiamo CTRL-C per copiare, nella finestrella che ci esce lasciamo la flag SOLAMENTE SU BYTES e premiamo Copy

ecco lo screen:
[Immagine: 02817-143d65f4-b12a-434d-918e-bd071e45c5ed.png]

ora abbiamo il nostro array di bytes, incolliamolo in notepad per vederlo bene:

[Immagine: 02817-cd706f8c-6326-44de-9090-767b7b9bc5cf.png]

ok, ora sistemiamolo per bene unendo i bytes e poi andiamo in Cheat Engine e facciamo:
- new scan
- togliamo la flag da "writable" (stiamo cercando codice, non variabili)
- value type -> Array of bytes
- incolliamo il nostro array di bytes nel textbox della ricerca
- first scan
Abbiamo trovato 1 solo indirizzo, ottimo! siamo stati fortunati, vuol dire che è quello che ci interessa:

[Immagine: 02817-0809573f-f733-48d6-a7ca-49919bdacc41.png]

Ok, adesso che ce l'abbiamo come facciamo ad hackerare?
Semplice, doppio click sull'indirizzo trovato per metterlo sotto.
Andiamo sotto e doppio click sulla colonna a destra, "value" per editarne il valore

Il valore al momento è l'array stesso, quindi 8B 45 A0 89 46 14
Vi ricordate che i primi 3 sono un'istruzione e i secondi 3 sono L'ISTRUZIONE che si occupa di impostare l'energia?
Quindi dobbiamo cambiare i secondi 3, con cosa? semplice con l'istruzione assembly "NOP" che significa "NO OPERATION" ovvero non fare niente.
NOP = 90
siccome i bytes li sono 3 dobbiamo mettere 3 volte 90, cosi:

[Immagine: 02817-62c7a16a-781e-4603-adb4-f87c35144a0d.png]

appena premiamo ok la modifica è istantanea, non serve flaggare a sinistra come si fa di solito, il codice è già modificato.

Quindi torniamo nel gioco e proviamo a farci sparare, vedrete che l'energia non scende piu... buon divertimento Happywide

[Immagine: 02817-424077cc-7baf-4e78-a038-527bb088c702.png]

l'energia resta sempre qui:

[Immagine: 02817-a120ba7b-e0b8-4eed-a988-a788456bc43c.png]

Se poi volete, potete tornare nella finestra di prima del disassembler per vedere effettivamente come è cambiato il codice,
notate che la prima istruzione c'è ancora (i primi 3 bytes) mentre la seconda è sparita, sostituita da 3 NOP:

[Immagine: 02817-c2e07f45-c9b5-47f8-84e2-2d7240e118d5.png]

Happywide


digger
23/08/2012, 21:29
#4
Cerca

è.è
Messaggi: 1,770
Discussioni: 125
Registrato: 07-2011
Mix: 0
Bella.. anche se non capisco tuttA QUESTA fatica.. su internet c'è con vita inf ammo inf money inf ed altro :I

23/08/2012, 22:16
#5
Cerca
(Questo messaggio è stato modificato l'ultima volta il: 23/08/2012, 22:19 da Luxor.)

Iscritto
Messaggi: 891
Discussioni: 58
Registrato: 03-2011
Mix: 0
(23/08/2012, 22:16)Th3Fr4nkpr0 Ha scritto:

[Per vedere i link devi REGISTRARTI.]

Bella.. anche se non capisco tuttA QUESTA fatica.. su internet c'è con vita inf ammo inf money inf ed altro :I

Farlo da solo da piu soddisfazione Happywide

Bravo digger, come detto in chat secondo me dovrebbe essere una guida Happywide

23/08/2012, 22:18
#6
Cerca
(Questo messaggio è stato modificato l'ultima volta il: 23/08/2012, 22:21 da digger.)

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
A qualcuno interessa di piu "come fare a..." piuttosto che avere il gioco fatto e finito hackerato.
Inoltre cosa fai tu se un giorno vuoi giocare ad un gioco che nessuno ha ancora hackerato? se sai come fare te lo puoi fare tu, altrimenti devi aspettare che qualcuno lo faccia per te.

Poi non serviva nemmeno tutta sta cosa dell'array di bytes, visto che una volta che trovi l'energia puoi semplicemente forzarla a restare ferma.
Oppure una volta trovato il codice puoi semplicemente rimpiazzarlo direttamente con dei nop.
La cosa interessante è il concetto di come cercare un pattern (un po' come in warrock) in modo da ritrovare del codice di un gioco anche agli updates successivi e con CE è cosi che si può fare.
(a meno che il codice non cambi troppo pure lui con l'update)


digger
23/08/2012, 22:19
#7
Cerca

1 Life, 1 Avatar <3
Messaggi: 9,074
Discussioni: 271
Registrato: 08-2011
Mix: 0
Bravo dighe!domani provò anche con le munizioni Smile

24/08/2012, 0:36
#8
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
ho fatto apposta a non farlo con le munizioni, vedrai perchè, ti darà un sacco di grane, considera che ogni tipo di munizione ha il suo byte array! ma non solo! la prima volta che clicchi su una munizione ha un byte array, le volte successive ne ha un altro! e poi non sono sicuro, ma forse anche la barra verticale a destra di ogni arma ha un suo byte array ma non mi ricordo, quindi ti rendi conto di quanti byte array devi trovare? e sono pure tutti uguali quindi diventa anche difficile trovarli univoci... auguri Happywide


digger
24/08/2012, 0:41
#9
Cerca

1 Life, 1 Avatar <3
Messaggi: 9,074
Discussioni: 271
Registrato: 08-2011
Mix: 0
allora ho improvvisamente cambiato idea Asd
e per sbloccare tutti i livelli?

24/08/2012, 12:32
#10
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
guarda, per quello bisognerebbe lavorarci su, però se vuoi ti dico come fare per dirgli qual è la prossima fase che vuoi giocare,
cerca l'array C7 41 68 01 00 00 00
vedi quel 01 ? è la fase 1, cambialo nel numero di fase che vuoi giocare, tipo la 2, la 3 la 7 , poi premi il PRIMO pulsante, ovvero quello della fase 1 e vedrai che ti fa giocare alla fase che gli hai detto tu Happywide

attenzione, l'array di bytes è in ESADECIMALE quindi se vuoi giocare alla fase 15 ad esempio, al posto di 01 devi metterci 0F (=15 in esadecimale)
ciao


digger
24/08/2012, 19:24
#11
Cerca

è.è
Messaggi: 1,770
Discussioni: 125
Registrato: 07-2011
Mix: 0
Mai visto un criceto così esperto Asd

24/08/2012, 19:53
#12
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
sticaxxi i criceti spaccano! Asd


digger
24/08/2012, 20:12
#13
Cerca

1 Life, 1 Avatar <3
Messaggi: 9,074
Discussioni: 271
Registrato: 08-2011
Mix: 0
W i criceti!+ 1 Smile

25/08/2012, 16:57
#14
Cerca


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  [aiuto] No segnale su sapphire R9 280. Pocciox 5 1,186 14/01/2015, 22:11
Ultimo messaggio: digger
  aiuto portatile oirad94 1 887 22/12/2014, 16:27
Ultimo messaggio: Admin
  Aiuto Nella Definizone Rokys091 9 1,866 25/11/2014, 10:24
Ultimo messaggio: digger



Utenti che stanno guardando questa discussione: 1 Ospite(i)