|
Adresses mémoires en 1.25 ( Par Freddyp
)
Adresse |
Taille |
Commentaire |
591E94 |
4 Bytes |
Position du mode de parlage (1=CC, 2=Whisp, 3=Proxy) |
5AB782 |
4 Bytes |
Version du Client (Built) 2700 = 1.23x 2800=1.24x
2900=1.25x |
5DC6B0 |
1 Byte |
Gama Correction |
5DC6F8 |
4 Bytes |
Mode d'affichage (0 = Full scren, 1 = bordures,
2 = bordure du bas seulement) |
613998 |
256 Bytes |
Ligne de commande (-uid= …) |
638710 |
256 Bytes |
Buffer F9 |
69B6B8 |
4 BYTES |
Position X du curseur (en pixel 640x480) |
69B6BC |
4 BYTES |
Position Y du curseur (en pixel 640x480) |
69B900 |
4 BYTES |
Position X du curseur (en case 30x21) |
69B904 |
4 BYTES |
Position Y du curseur (en case 30x21) |
69B914 |
8 BYTES |
Monstre qui est dans le Lock Target (un item ne
peut y etre) |
890994 |
4 BYTES |
ID du personnage (parlage en Proxy, centrage d'ecran) |
89099A |
2 BYTES |
Position en X du personnage sur la Map |
89099C |
2 BYTES |
Position en Y du personnage sur la Map |
8909E9 |
256 BYTES |
Nom du personnage |
890AE9 |
256 BYTES |
Nom du Compte |
890BE9 |
256 BYTES |
Mot de passe du compte (si valeur ASCII > 127,
enlever 128 pour la decrypter) |
890CEA |
1 BYTE |
Position World du personnage 0:Althea 1:dongeon
2:caverne |
890CFD |
256 BYTES |
Language de la version |
890E00 |
4 BYTES |
Force (pure) |
890E04 |
4 BYTES |
Endurance (pure) |
890E08 |
4 BYTES |
Intelligence (pure) |
890E10 |
4 BYTES |
Sagesse (pure) |
890E1C |
4 BYTES |
Dexterité (pure) |
890E20 |
4 BYTES |
Level (niveau du personnage) |
890E24 |
4 BYTES |
Quantité d'or sur le perso |
890E28 |
4 BYTES |
Classe d'armure (CA) pure |
890E2C |
4 BYTES |
Force (booste) |
890E30 |
4 BYTES |
Endurance (booste) |
890E34 |
4 BYTES |
Intelligence (booste) |
890E3C |
4 BYTES |
Sagesse (booste) |
890E48 |
4 BYTES |
Dexterité (booste) |
890E4C |
4 BYTES |
Classe d'armure (CA) booste |
890E50 |
4 BYTES |
Point de Vie Total (pure) |
890E58 |
8 BYTES |
Quantite d'experience total actuel (XP TOTAL) |
890E60 |
8 BYTES |
Quantite de point d'experience pour atteindre le
prochain LV (next Level at …) |
890E68 |
8 BYTES |
Quantite de point d'experience pour level précédent |
890E70 |
2 BYTES |
Nombre de Point de Caracteristique non utilisé |
890E72 |
2 BYTES |
Nombre de Point de Competence non utilisé |
890E74 |
4 BYTES |
Nombre de Point de vie restant (PV) |
890E78 |
4 BYTES |
Nombre de Point de mana restant |
890E7C |
4 BYTES |
Nombre de Point de Vie (Booste) |
890E80 |
4 BYTES |
Nombre de Point de mana Total (PM TOTAL) |
890E8C |
2 BYTES |
Encombrement actuel |
890E8E |
2 BYTES |
Encombrement Total Possible |
890F88 |
1 Byte |
!Run (1=actif , 0=Inactif) |
893530 |
8 Bytes |
OnClic, donne le ID de l'Item/monstre sur lequel
on a cliqué |
8BB4A0 |
8 Bytes |
Onmouse, donne le ID du perso, du monstre ou de
l'objet (PNJ) unique.
Type de l'objet (< 65768 = Joueur, Entre 65765 et 1070000 = PNF ou objet
Fixe) >1070000 = Monstre ou objet generé sequentiellement |
Utiliser les adresses mémoires avec Visual basic
( Par Un
Type )
Private Const PROCESS_ALL_ACCESS = &H1F0FFF
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal Classname As String, ByVal WindowName As String) As Long
Private Declare Function ReadProcessMem Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByRef lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Sub Command1_Click()
Dim value As Byte
Call ReadAByte("The 4th Coming", &H890E8E, value)
MsgBox value
End Sub
Private Function WriteAByte(gamewindowtext As String, address As Long, value As Byte)
Dim hwnd As Long
Dim pid As Long
Dim phandle As Long
hwnd = FindWindow(vbNullString, gamewindowtext)
If (hwnd = 0) Then
MsgBox "Lancez le jeu d'abord", vbCritical, "Error"
Exit Function
End If
GetWindowThreadProcessId hwnd, pid
phandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If (phandle = 0) Then
MsgBox "Impossible d'obtenir le ProcessId", vbCritical, "Error"
Exit Function
End If
WriteProcessMemory phandle, address, value, 1, 0&
CloseHandle hProcess
End Function
Private Function WriteAnInt(gamewindowtext As String, address As Long, value As Integer)
Dim hwnd As Long
Dim pid As Long
Dim phandle As Long
hwnd = FindWindow(vbNullString, gamewindowtext)
If (hwnd = 0) Then
MsgBox "Lancez le jeu d'abord", vbCritical, "Error"
Exit Function
End If
GetWindowThreadProcessId hwnd, pid
phandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If (phandle = 0) Then
MsgBox "Impossible d'obtenir le ProcessId", vbCritical, "Error"
Exit Function
End If
WriteProcessMemory phandle, address, value, 2, 0&
CloseHandle hProcess
End Function
Private Function WriteALong(gamewindowtext As String, address As Long, value As Long)
Dim hwnd As Long
Dim pid As Long
Dim phandle As Long
hwnd = FindWindow(vbNullString, gamewindowtext)
If (hwnd = 0) Then
MsgBox "Lancez le jeu d'abord", vbCritical, "Error"
Exit Function
End If
GetWindowThreadProcessId hwnd, pid
phandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If (phandle = 0) Then
MsgBox "Impossible d'obtenir le ProcessId", vbCritical, "Error"
Exit Function
End If
WriteProcessMemory phandle, address, value, 4, 0&
CloseHandle hProcess
End Function
Private Function ReadAByte(gamewindowtext As String, address As Long, valbuffer As Byte)
Dim hwnd As Long
Dim pid As Long
Dim phandle As Long
hwnd = FindWindow(vbNullString, gamewindowtext)
If (hwnd = 0) Then
MsgBox "Lancez le jeu d'abord", vbCritical, "Error"
Exit Function
End If
GetWindowThreadProcessId hwnd, pid
phandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If (phandle = 0) Then
MsgBox "Impossible d'obtenir le ProcessId", vbCritical, "Error"
Exit Function
End If
ReadProcessMem phandle, address, valbuffer, 1, 0&
CloseHandle hProcess
End Function
Private Function ReadAnInt(gamewindowtext As String, address As Long, valbuffer As Integer)
Dim hwnd As Long
Dim pid As Long
Dim phandle As Long
hwnd = FindWindow(vbNullString, gamewindowtext)
If (hwnd = 0) Then
Exit Function
End If
GetWindowThreadProcessId hwnd, pid
phandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If (phandle = 0) Then
Exit Function
End If
ReadProcessMem phandle, address, valbuffer, 2, 0&
CloseHandle hProcess
End Function
Private Function ReadALong(gamewindowtext As String, address As Long, valbuffer As Long)
Dim hwnd As Long
Dim pid As Long
Dim phandle As Long
hwnd = FindWindow(vbNullString, gamewindowtext)
If (hwnd = 0) Then
MsgBox "Lancez le jeu d'abord", vbCritical, "Error"
Exit Function
End If
GetWindowThreadProcessId hwnd, pid
phandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If (phandle = 0) Then
MsgBox "Impossible d'obtenir le ProcessId", vbCritical, "Error"
Exit Function
End If
ReadProcessMem phandle, address, valbuffer, 4, 0&
CloseHandle hProcess
End Function
|
|