World of Warcraft Offset

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Status
Not open for further replies.

dexter74

Membre actif
Jan 24, 2010
140
0
581
33
Bonjour,

j'aimerai savoir comment je doit convertir "l'offset Statique" de wow pour autoit.


Offset:
Code:
HP: Wow.exe+DC0BC8 (Pointer: 174c)
Mana: Wow.exe+DC0BC8 (Pointer: 1750)


Autoit:
Code:
#Include <NomadMemory.au3>
SetPrivilege("SeDebugPrivilege", 1)

; Nom de la Fenetre WoW	: [Class:GxWindowClass]
$titre = WinGetTitle("[Class:GxWindowClass]","")

$Processus = _MemoryOpen(WinGetProcess("[Class:GxWindowClass]"))	; Complet

; ##############
; # Offset x86 #
; ##############
;
; Info Version		:
; ID Base 			: 0x <Adresse>
; Pseudo 			:
; Niveau			:
; HP				: Wow.exe+DC0BC8 (Pointer: 174c)
; Mana				: Wow.exe+DC0BC8 (Pointer: 1750)




; Barre XP	Actuel 	:
; Barre XP MAX:		:
;


While ($WinExists("$titre"))
$Name = _MemoryRead("<memoire>","$Processus", "<type>")
$HP   MemoryRead(MemoryRead(0x02070BC8) + 0x174C)
WEnd


Note perso:
http://www.cheat-gam3.com/1-cours-pour-debutant/lire-et-ecrire-la-memoire-747/
Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

Merci d'avance !
 
Last edited:

ragnarock

Membre actif
Mar 22, 2010
194
0
917
Salut, pour AutoIt c'est comme pour tous les autres languages^^

02070BC8 (le playerbase j'imagine) est un pointeur vers la structure du player, puis l'offset c'est le décalage entre le début de cette structure et le champ qui nous intéresse.

Donc :

Vie = MemoryRead(MemoryRead(0x02070BC8) + 0x174C)

J'espère que c'était ça ta question

Et pour le type, voilà ceux qui sont disponibles (le tableau dans Return value) : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

0x02070BC8 contient un pointeur vers un autre endroit et 0x174C, la vie c'est un entier.
 
Last edited:

dexter74

Membre actif
Jan 24, 2010
140
0
581
33
Bonjour ,

J'aimerai savoir aussi avec ceci:
Wow.exe+F24EDC

Ensuite j'ai pas trop compris la subtilité des doubles MemoryRead.
 
Last edited:

Evaelis

La Voix de la Sagesse
V
Ancien staff
Apr 28, 2010
22,949
468
1,699
Valhalla
Si je ne me trompe pas, le premier te retourne l'adresse et non une valeur à proprement parler.
Donc tu dois toujours lire la valeur qui t'intéresse d'après ce pointeur.
 

ragnarock

Membre actif
Mar 22, 2010
194
0
917
"Wow.exe+F24EDC" ça veut dire l'adresse du main module du processus Wow.exe + F24EDC.

Et pour le double memoryread :

MemoryRead(0x02070BC8) va retourner une pointeur vers une zone mémoire, à laquelle faut ensuite additionner l'offset pour avoir la valeur que tu veux. Tu peux le voir comme ça aussi :
Code:
base_ptr = MemoryRead(0x02070BC8)
vie = MemoryRead(base_ptr + 0x174C)
 

dexter74

Membre actif
Jan 24, 2010
140
0
581
33
Merci à vous , je vais tester et vous tient au jus.

<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="18">
<CheatEntries>
<CheatEntry>
<ID>0</ID>
<Description>"Mana"</Description>
<LastState Value="??" Activated="0" RealAddress="00001750"/>
<Color>80000008</Color>
<VariableType>4 Bytes</VariableType>
<Address>Wow.exe+DC0BC8</Address>
<Offsets>
<Offset>1750</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>1</ID>
<Description>"HP"</Description>
<LastState Value="??" Activated="0" RealAddress="0000174C"/>
<Color>80000008</Color>
<VariableType>4 Bytes</VariableType>
<Address>Wow.exe+DC0BC8</Address>
<Offsets>
<Offset>174C</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
<UserdefinedSymbols/>
</CheatTable>
 
Last edited:
Status
Not open for further replies.