Adesso copiamo nel modulo la dichiarazione delle WinApi.
Codice:
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") 'processo da aprire ( ovvero controllare )
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
Ora clicchiamo 2 volte su from e mettiamo il seguente codice :
Codice:
If MetinProcesso.Length = 0 Then
MsgBox("Devi prima aprire il gioco", MsgBoxStyle.Critical, "ERRORE")
End
End If
processHandle = OpenProcess(PROCESS_ALL_ACCESS, 0, MetinProcesso(0).Id) 'setto processHandle
If processHandle = IntPtr.Zero Then
MsgBox("Impossibile aprire il Processo O.o")
End
End If
Inseriamo un nuovo timer e lo lasciamo in timer1
Inseriamo due bottoni,Uno ON e uno OFF, e una textbox.
Il Bottone ON lo rinominiamo in btnON e il bottone OFF in btnOFF.
La textBox rimarrà TextBox1
Adesso clicchiamo su ON e scriviamo il codice seguente :
Codice:
Timer1.Enabled = True
Adesso clicchiamo due volte OFF e inseriamo il seguente codice :
Codice:
Dim buffer(2) As Integer
Dim addr(2) As Double
Dim off(2) As Integer
off(0) = &H10 'offset1
off(1) = &H5BA 'offset2
ReadProcessMemory(processHandle, pointer, buffer(0), 4, Nothing)
addr(0) = buffer(0) + off(0)
ReadProcessMemory(processHandle, addr(0), buffer(1), 4, Nothing)
addr(1) = buffer(1) + off(1)
WriteProcessMemory(processHandle, addr(1), 16256, 2, Nothing)
Adesso clicchiamo su timer1 e inseriamo il seguente codice :
Codice:
Dim pointer As Integer
pointer = &H5F29BC
Dim buffer(2) As Integer
Dim addr(2) As Double
Dim off(2) As Integer
off(0) = &H10 'offset1
off(1) = &H5B6 'offset2
Adesso dovrebbe funzionare;
Questo e un esempio di speed hack, e usa gli offset 10 e 5b6.
Adesso ZII steph vi posta la lista Pointer gia messi su metin2.
Codice:
OINTER GENERALE:
0x005F29BC
SpeedMovHack:
Offset 1°: 16
Offset 2°: 0x5b6
value massimo: 16675
Se e maggiore si blocca il pg sul posto
SpeedAtkHack:
Offset 1°: 16
Offset 2°: 1466
value massimo: 16675
Se e maggiore non attacca
AttackMode:
Offset 1°: 16
Offset 2°: 1088
Nota: Il value di AtkMode puo essere:
1 = Pugni
2=Spada
3=Lancia
5=Freccie
ZoomHack:
Lo ZoomHack e uno static
Static: 0x5D5FA6
Piu e alto il value, meno sara lo Zoom, con value di 19999 potrete vedere tutta la mappa vista dall'alto.
Per gli static si usa direttamente WriteProcessMemory sull address static.
NoFog:
Anche il NoFog e uno static
STATIC: 0x5D84E2
Attenzione: Piu e alto il value e migliore sara la visibilita. Con value di 19999 potrete vedere ovunque; se si combina con ZoomHack e possibile vedere tutta la mappa dall'alto senza nebbia!
Combo:
Offset 1°: 16
Offset 2°: 1332
Nota: Il value di Combo puo essere:
1 = Aggiunge un attacco
2 = Aggiunge due attacchi
Maggiore di 2 non attacca proprio. lol
AttackRangeHack:
Offset 1°: 16
Offset 2°: 1458
16500 di value per un attacco a raggio ampio (clientside)
HIT:
Offset 1°: 16
Offset 2°: 1300
Il value varia da 1 a 3.
Teleporter:
Coordinata X (Orizzontale):
Offset 1°: 16
Offset 2°: 1412
Coordinata Y (Verticale):
Offset 1°: 16
Offset 2°: 1416
Nota: Per creare un teleporter hack bisogna fare un doppio WriteProcessMemory, uno per la coordinata X e l'altro per la Y.
I value delle coordinate saranno moolto piu alti di quelli che si trovano sulla mappa di metin2. Sara necessario effettuare una proporzione:
Vi ricordate quelle che si studiavano in seconda media?
X:6=4:5 ( per esempio )
Poi per calcolare X (ovvero la coordinata esatta), fate la proprieta fondamentale:
X = (4*6)/5.
Questo lavoro va fatto sia con X che con Y.
FONTI:
www.italianhack.com