Total Hack Cheat
Benvenuto/a su Total hack Cheat....
non aspettate altro tempo Registratevi!!

Guida parte 2° CheatEngine

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso

Guida parte 2° CheatEngine

Messaggio Da RaYoZ il Dom Set 12, 2010 8:24 pm

La Grande Guida a Cheat Engine
Parte seconda



3# [GLI ADDRESS]



« Per definizione, quando si investiga l'ignoto non si sa cosa si trova. » Murphy

3.0 [Introduzione]
Bene, ora che abbiamo definito alcuni concetti generali di base ed elencato le funzioni principali di Cheat Engine nella prima parte di questa guida possiamo allora iniziare questa seconda parte che riguarderà pricipalmente la ricerca degli address.
Per non annoiarvi troppo con la teoria farò anche qualche esempio pratico in modo che possiate comprendere meglio ciò che vi servirà ed iniziare a far pratica con CE.

3.1 [Cos'è l'address]
Prima di cominciare con gli esempi pratici vorrei però ricordare brevemante che cosa sono gli address, cosa che era già stata accennata nella prima parte.
Nella parte 1 Ha scritto:Un address o indirizzo di memoria, in informatica, è un identificatore univoco per una posizione di memoria alla quale il processore oppure un'altra perifarica possono salvare i dati per poterlo recuperare in seguito.
Nell' Indirizzamento a byte ogni indirizzo identifica un singolo byte di memoria. Dati troppo grandi per essere contenuti in un singolo byte possono risiedere in in più byte occupando una sequenza di indirizzi consecutivi. nal
Per facilitare il fluire dei dati contenuti nelle memorie, il sistema operativo solitamente divide la memoria in pagine, ognuna delle quali contiene un numero predefinito di indirizzi di memoria.

3.2 [Trovare l'address giusto]
Come già detto gli address sono tantissimi e tra tutti questi address noi ne dovremo ricavare uno solo. La prima cosa che bisogna fare è analizzare tutto quello di cui si dispone (Abbiamo un valore di questo address? Possiamo controllare questo valore? Farlo aumentare? Farlo diminuire?).
Detto questo iniziamo ad analizzare, caso per caso, come procedere per trovare l'address che ci serve.


3.2.1 [Partendo da un valore noto]
In questa sezione descriverò come trovare l'address giusto partendo da un valore noto.
Come già detto, prima di tutto, dobbiamo analizzare ciò che abbiamo a disposizione, per questa parte della guida utilizzeremo i tutorial di Cheat Engine.

Questo primo tutorial vi chiede di modificare il value in basso (Healt) a 1000. Ogni volta che premetete hit me questo valore diminuirà.
Apriamo quindi il processo "Tutorial.exe" tramite "Open process window" ed iniziamo la prima scansione: impostiamo come value "100", scan type "Exact Value", type "4 bytes" e premiamo quindi su "New Scan" per iniziare la nuova scansione.
Fatto questo ci comparirà una serie di address nella tabella a sinistra tutti con valore 100, quelli verdi significa che sono address statici madi questo parleremo più tardi.
Ora dobbiamo "filtrare" questi address risalendo ad uno solo. Cerchiamo quindi di fare questo valore premendo Hit Me nel tutorial e questo valore scenderà.
Continuiamo quindi la nostra scansione con Cheat Engine, come lo impostiamo? Semplice, siccome il valore del nostro address è diminuito impostiamo "Decreased Value" e premiamo "Next Scan".
In questo caso siamo stati fortunati e ci è restato un solo address, comunque, se ne fosse rimasto più di uno avremmo ripetuto quest'ultimo passaggio finchè ne fosse rimasto uno solo.
Una volta trovato l'address clicchiamoci sopra due volte e verrà copiato nella tabella in basso pronto per la modifica di cui parleremo nel prossimo capitolo.



3.2.1 [Partendo da un valore sconosciuto]
Questa volta, non conosceremo il valore iniziale del nostra valore e quindi cambierà un pochino. Per questa parte utilizzeremo un'altro tutorial di Cheat Engine.
In questo tutorial sappiamo che questo valore è compreso tra 0 e 500 e sappiamo che ogni volta che premeremo Hit Me questo valore diminuirà.
Iniziamo quindi ad aprire CE Tutorial ed inseriamo il passcode (PW=419482).
Bene, iniziamo allora la prima scansione...
Come abbiamo già detto non conosciamo il valore iniziale, allora impostiamo "Unknown Initial Value", 4 bytes e premiamo su "New Scan".
Un' altra cosa che sappiamo è che il valore è compreso tra 0 e 500 e quindi avviamo una nuova scansione impostando "Value Between" (valore compreso), come valori mettiamo 0 e 100 e quindi premiamo "Next Scan".




Bene, ora filtriamo ulteriormente i nostri address, premiamo Hit Me nel trainer e vedremo scendere la nostra vita di un tot (es -4) quindi procediamo con la seconda scansione: Selezioniamo "Decreased Value by..", impostiamo 4 (il valore di cui è diminuito) e premiamo nuovamente "Next Scan".



Ora dovrebbe essere rimasto un solo address ma se ciò non dovesse succedere basterà ripetere l'ultimo passaggio finchè non vi resterà un solo address, fatto ciò cliccateci sopra due volte e verrà copiato in basso pronto per la modifica.
4# [LA MODIFICA]







« Cambiare le cose è l'essenza del comando; cambiarle prima di chiunque altro è creatività . » Murphy

4.0 [Introduzione]
Ora che abbiamo imparato come trovare gli address che ci servono ci serve sapere come modificarli. Di seguito vedremo alcuno metodi che possono essere applicati su address "normali".
Successivamente vedremo anche come applicare ciò per i pointers.

4.1 [Modifica da Cheat Engine]
Il metodo più breve è modificare direttamente i valori degli address da cheat engine.
Per modificare gli address dobbiamo prima metterli nella tabella inferiore, per fare ciò possiamo utilizzare o la freccetta in basso oppure basta cliccare semplicemente due volte sull'address in qestione.
Un'altro metodo è premere Add Address Manually ed inserire manualmente l'address, ciò servirà principalmente per i pointers ma di questo parleremo più tardi...
Una volta che abbiamo messo l'address in basso tutto quello che dovremo fare è cliccare due volte sul suo valore e ci apparirà una nuova finestrella dove lo potremo modificare.


Ora basterà premere su OK ed avremo modificato il valore dell'address!
Può però capitare che una volta modificato il valore torni subito quello precedente, questo può essere causato da una modifica del valore da parte del processo. Per eviare che questo accada Cheat Engine da la possibilità di congelare (freezare) l'address in modo che il valore venga contiuamente aggiornato con quello impostato da voi.

4.2 [Creare un Trainer con Cheat Engine]
Cheat Engine vi dà anche la possibilità di creare dei trainer in modo da non dover rifare tutto il procedimanto ogni volta che riavvierete.
Per creare un trainer andate in basso a sinistra, premete Advanced Options, cliccate sul simbolo del floppy, scegliete "Create a new trainer that wul run during the game/application, and modify data".



Si aprirà quindi una nuova finestra, a sinistra potrete impostare il vostro treiner mentre a destra avrete un'anteprima.





Ecco una lista delle opzioni principali disponibili per creare il trainer:

Change Image: Permette di aggiungere un'immagine al vostro trainer (disponibile soltanto con l'interfaccia grafica di default).

Change Icon: Permette di aggiundere un'icona al trainer.

Title: Imposta il titolo del trainer e della finestra.

Launch File: Permette di far aprire un processo automaticamente alla presisone del tasto Launch, se selezionata la casella esso verrà lanciato automaticamente all'avvio del trainer.

Process: Imposta il processo su cui andrà ad agire il trainer.

Freeze Interval: La velocità di aggiornamento in millisecondi del valore dell'address (Default = 250)

About Text: Per inserire un testo che apparirà alla pressione del tasto Credits.

Design Own User Interface: Permette di personalizzare la grafica del trainer, aggiungere bottoni, textbox, labels, immagini ecc.
Per aggiungere le varie funzioni vi basterà premere Add Entry, Add ed impostare i vari parametri come: Congelare o no, permettere di cambiare il valore, permettere di aumentarlo, permettere di diminuirlo ecc.
Possono inoltre essere impostati codici personalizzati.


Per fare attivare un "hack" alla pressione di un bottone con la grafica customizzata, vi basterà impostare nelle opzioni di esso ad esempio "Execute cheat 0" dove "0" è il numero del vostro hack che avete aggiunto precedentemente.
Ora provate a "smanettare" un po' con le varie funzioni, non è semplicissimo?

4.3 [Creare un trainer Generico]
Questi trainer possono essere fatti anche con qualsiasi altro linguaggio di programmazione ma di questo non parlerò in questa guida.
Fornisco comunque alcuni moduli per la modifica/lettura della memoria:

Modulo VB.NET 2008:






VBNET Code: Line Numbers: ON/OFF - Expand: ON/OFF
  • Module Module1
  • Public Const PROCESS_ALL_ACCESS = &H1F0FFF
  • Public Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
  • Public Declare Function ReadProcessMemory Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
  • Public MetinProcesso As Process() = Process.GetProcessesByName("metin2.bin")
  • Public addr As Long = 0
  • Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
  • Public processHandle As IntPtr
    End Module
    VBNET Code: Line Numbers: ON/OFF - Expand: ON/OFF
    Module Module1
    Public Const PROCESS_ALL_ACCESS = &H1F0FFF
    Public Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
    Public Declare Function ReadProcessMemory Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
    Public MetinProcesso As Process() = Process.GetProcessesByName("metin2.bin")
    Public addr As Long = 0
    Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
    Public processHandle As IntPtr
    End Module

    Fonti:Web

  • RaYoZ
    Admin
    Admin

    Messaggi : 1040
    Punti : 2245
    Data d'iscrizione : 03.04.10
    Età : 22
    Località : immerso nei pensieri

    Tornare in alto Andare in basso

    Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto

    - Argomenti simili

     
    Permesso di questo forum:
    Non puoi rispondere agli argomenti in questo forum