guarda ti spiego dove sono arrivato ad oggi.
come ti dicevo, ho trovato la struttura del player, questa struttura è puntata da un registo ad un punto nel codice. Ai primi indirizzi di questa struttura sono allocati i 3 float, che sono munizioni manodopera ecc. ovviamente modificare direttamente i valori in questa struttura, era impossibile, perche c'era sempre un thread che sovrascriveva il valore esatto. poi scorrendo questa struttura, ho notato di nuovo i tre float, modifico quelli, ed ecco qua che tutto funziona, ora modificando quei valori, modifico effettiavemente i valori nel gioco. ma allora mi sono chiesto: com'e possibile che io ho cercato questi valori attraverso lo scann, ed ho trovato sempre i solit 4 indirizzi (tre float ed in integer)? cioè come mai quelli "veri" non li ho mai trovati?. Ho risolto questo problema cambiando alcune impostazioni dello scann, infatti dopo aver modificato le impostazioni dello scann di CE, rifaccio la scansione, ed ecco qua che compaiono questa volta 5 indirizzi , 4 float ed il solito integer, uno dei float e quello esatto. Poi mi sono messo ad andare a ritroso nel codice per verificare come calcola l'offset della struttura del player, ed ho notato questo:
praticamente, utilizza il registro gs del thread per ottenere il puntatore della struttura del player. Quindi io per ottenere gli offset del puntatore alla struttura dovrei prima leggere il registro gs, mi pare che il registro gs si ricava attraverso il TEB del thread? o sbaglio.